Thank you.
Requires Free Membership to View
' Example calling BAPI RFC_GET_TABLE_ENTRIES
Option Explicit
Public Functions As SAPFunctionsOCX.SAPFunctions
Private LogonControl As SAPLogonCtrl.SAPLogonControl
Private R3Connection As SAPLogonCtrl.Connection
Dim Func As SAPFunctionsOCX.Function
Public iTABLE_NAME As SAPFunctionsOCX.Parameter
Public eNUMBER_OF_ENTRIES As SAPFunctionsOCX.Parameter
Public tENTRIES As SAPTableFactoryCtrl.Table
Private Sub Main()
Dim ix As Integer
Dim retcd As Boolean
Dim SilentLogon As Boolean
Set LogonControl = CreateObject("SAP.LogonControl.1")
Set Functions = CreateObject("SAP.Functions")
Set TableFactory = CreateObject("SAP.TableFactory.1")
Set R3Connection = LogonControl.NewConnection
R3Connection.Client = "000"
R3Connection.ApplicationServer = "192.168.69.111"
R3Connection.Language = "EN"
R3Connection.User = "DEVELOPER"
R3Connection.Password = "19920607"
R3Connection.System = "WAS"
R3Connection.SystemID = "$WebAS"
R3Connection.SystemNumber = "18"
R3Connection.UseSAPLogonIni = False
SilentLogon = True
retcd = R3Connection.Logon(0, SilentLogon)
If retcd <> True Then MsgBox "Logon failed": Exit Sub
Functions.Connection = R3Connection
Set Func = Functions.Add("RFC_GET_TABLE_ENTRIES")
Set iTABLE_NAME = Func.Exports("TABLE_NAME")
Set eNUMBER_OF_ENTRIES = Func.Imports("NUMBER_OF_ENTRIES")
Set tENTRIES = Func.Tables("ENTRIES")
iTABLE_NAME.Value = "TCURR"
Func.Call
Debug.Print eNUMBER_OF_ENTRIES
For ix = 1 To tENTRIES.RowCount
Debug.Print tENTRIES(ix, 1)
Next
R3Connection.logoff
End Sub
To learn more have a look in the mySAP section of logosworld.com or read the R/3 Guide to EDI, IDocs, ALE and Interfaces. Here is also a short document that explains the code in more detail.
This was first published in July 2006

Join the conversationComment
Share
Comments
Results
Contribute to the conversation