Hallo Forum,
ich versuche verzweifelt ein Makro in Visual Studio o. VBA zu schreiben, mit dem ich auf unser SAP-System zugreifen kann. Ich habe mir dafür schon das Buch "SAP R/3 Kommunikation mit RFC und Visual Basic" gekauft und damit folgenden Code zusammengestrickt:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim FunctionCtrl As Object
Dim SapConnection As Object
Dim Func1 As Object
Dim ret, x
FunctionCtrl = CreateObject("SAP.Functions")
SapConnection = FunctionCtrl.Connection
'SapConnection.RfcWithDialog = True 'Frontend Dialog
'automatische Anmeldung
SapConnection.client = "100"
SapConnection.user = "Name"
SapConnection.password = "Passwort"
SapConnection.language = "DE"
SapConnection.HostName = "Server"
SapConnection.Systemnumber = "00"
SapConnection.logon(0, True)
'SapConnection.SystemInformation()
Func1 = FunctionCtrl.Add("BAPI_DOCUMENT_GETDETAIL2")
Func1.Exports("DOCUMENTTYPE") = "zme"
Func1.Exports("DOCUMENTNUMBER") = "D4711"
Func1.Exports("DOCUMENTPART") = "001"
Func1.Exports("DOCUMENTVERSION") = "00"
ret = Func1.call()
If Func1.Exception <> "" Or Not ret Then
MsgBox("Fehler")
Else
x = Func1.Exports("RETURN")
x = Func1.Exports("DOCUMENTDATA")
ListBox1.Text = x
End If
SapConnection.logoff()
End Sub
End Class
Die Anmeldung funktioniert auch soweit super. Auch wenn ich irgendeinen Parameter bei den Exports ändere, erhalte ich eine Fehlermedung (was doch eigentlich besagt, dass es so richtig ist?!?). Der Funktionsbaustein ("BAPI_DOCUMENT_GETDETAIL2")ist in der SE37 als RFC-Fähig gekennzeichnet.
Nur leider bekomme ich auf biegen und brechen keine Daten heraus. Ich erhalte immer nur "nothing".
Die Verweise sollten auch korrekt sein. Nur die librfc32.dll kann ich irgendwie nicht verweisen.
Habt Ihr evtl. eine Idee was ich falsch mache?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP