Quantcast
Channel: SCN : Document List - ABAP Development
Viewing all articles
Browse latest Browse all 935

Insert Data Via BAPI Using Excel-VBs

$
0
0

Hi,

 

Many of us know how to access RFC / BAPI and read data from SAP server;

today I am going to show you how to save data into Z table Via RFC/BAPI.

Here I assume that you know how to create BAPI from RFC Function module, here we go.

 

Steps Involve.

  • Create Z table for data save   [Quick View]
  • Create BAPI Structure for Data type [Quick View]
  • Create RFC function module [Quick View]
  • Create BAPI from function module [Quick View]
  • Write VB script into MS-Excel [Detail View]

 

  1. Create Z table for data save

 

 

 

     2.  Create BAPI Structure for Data Type

 

 

This will be used to declare import parameter in RFC function module

 

 

    3.Create RFC function module

 

 

 

 

 

 

 

 

 

     4.     Create BAPI from function module

 

 

  1. Writing a VB-Script Detail Explanation.

 

               A.Declare Variable

 

Dim Destination_System As Integer

Dim objBAPIControl As Object 'Function Control (Collective object)

Dim sapConnection As Object 'Connection object

Set objBAPIControl = CreateObject("SAP.Functions")

Set sapConnection = objBAPIControl.Connection

Dim valu As String

 

                B. Connection Parameters

 

                              sapConnection.client = "client number"

                              sapConnection.user = "User name"

                              sapConnection.Language = "E"

                              sapConnection.hostname = "ip address server"

                              sapConnection.Password = "passwird"

                              sapConnection.SystemNumber = "System number"

                              sapConnection.System = "system id"

 

you can get above parameters from SAP Logon properties.

 

 

               C.  Determine Connection is establish or not.

 

If sapConnection.logon(1, True) <> True Then

MsgBox "No connection to R/3!"

Exit Sub 'End program

End If

 

               D.  If connection is successful then perform the save operation.

 

Set objUserList = objBAPIControl.Add("ZBAPI_TESTSAVE")

Worksheets(1).Select

 

For i = 1 To 5

valu = ActiveSheet.Cells(i, 2)

                                    objUserList.exports("NAME1") = valu

returnFunc = objUserList.Call

                                   ActiveSheet.Cells(i, 2) = ""

Next i

MsgBox "Record(s) saved", vbInformation

 

  • First line is to assign function module name as object.
  • second line is to select Excel sheet number
  • Third line to begin loop up to 5 times ( i am going to save 5 names at once)
  • Forth line it so select cells dynamically ActiveSheet.Cells(Row,Column) -

        every time i increment and row changes columns remains static as we have fixed it to 2.

  • Fifth line is to export cell value to RFC function parameter (it will transfer data excel to rfc function parameter)
  • Sixth line is to call / Execute function (Actual execution done and data transferred physically)
  • Seventh line is to clear cell by Row and column
  • eight line is to Return the loop and starts from the beginning until condition fails (that is 5 times)

 

 

Excel Sheet Preview.

 

 

*All the operation is done under

 

Sub Button1_Click()

 

***Above Code***

 

End Sub

 

You can also upload data to standard table just apply your logic and things will be done.

 

-Avirat.


Viewing all articles
Browse latest Browse all 935

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>