Hallo zusammen!
################### Nachtrag ##########
Oh weh oh weh, ich habe den Fehler gefunden (war doch noch eine falsche Config zum Login) Aua, das tut mir selbst schon weh, aber wenn man wie irre draufstarrt, sieht man den Fehler vor lauter Coding nicht...
###################################
Ich habe eine Datenbank, in der mittels eines Agenten eine Verbindung zu einer unserer SAP-Hosts hergestellt wird und der RFC-Baustein RFC_CUSTOMER_GET (Tabelle CUSTOMER_T) aufgerufen. Das hat auch alles mal prima geklappt, das Script habe ich einige Monate (Jahre) "ruhen" lassen und nun mal wieder neu begonnen, damit zu arbeiten. Die SAP-Logon-Daten habe ich in den ausgelesenen Config-Document entsprechend angepasst (neue Machinen, neues Glück).
Nun erscheint aber eine seltsame Fehlermeldung - die kommt sap-seitig, oder? - , mit der ich nichts anfangen kann (siehe ScreenShot bzw Dateianhang).
Das mir unerklärliche an der Sache: ein gleicheartiges Script in VBA (Excel) funktioniert einwandfrei (mit den gleichen Logon-Daten wie im Notes-Script).
Hier auch das verwendete Coding des Agents (manuelle Ausführung):
Option Public
Uselsx "*RFC"
(Declarations)
Dim SAPSystem As Variant
Dim SAPServer As Variant
Dim SAPSysno As Variant
Dim SAPClient As Variant
Dim SAPUser As Variant
Dim SAPLanguage As Variant
Dim SAPPassword As Variant
Dim objServer As RFCserver
Function connectionSAP() As Integer
' --- Einen Step zuvor wurde das Config-Document mit den SAP-Logon Daten ausgelesen. Soweit ist alles OK; die Daten werden korrekt gezogen (Debugger-geprüft)
Dim objServer1 As New RFCserver
objServer1.Destination = SAPSystem(0)
objServer1.HostName= SAPServer(0)
objServer1.System = SAPSysno(0)
objServer1.Client = SAPClient(0)
objServer1.User = SAPUser(0)
objServer1.Language = SAPLanguage(0)
objServer1.Password =SAPPassword(0)
If objServer1.Logon() <> True Then
Messagebox objServer1.Message, 0, "Logon error"
End If
' ####################################
' ### Hier knallt's - es kommt nun die Fehlermeldung ###
' ### bei der If-Abfrage (Debugger) ###
' ####################################
If objServer1.Logon() <> True Then
Msgbox "Logon error", 0, objServer1.Message
End If
Set objServer=objServer1
End Fuction
Sub Initialize
If config() Then
Continue=False ' ansonsten ist ende
Exit Sub
End If
If connectionSAP() Then
Continue=False ' ansonsten ist ende
Exit Sub
End If
FuncName="RFC_CUSTOMER_GET"
Set oFunc = New RfcFunction(objServer, FuncName )
If oFunc.message <> "" Then
Msgbox oFunc.message
Exit Sub
End If
Set MyRfcFunc = RfcServer.Functions.FuncName
Forall tbl In MyRfcFunc.Tables
Messagebox "tbl.Name = " + tbl.Name
End Forall
oFunc.Exports("NAME1").Value = "*"
oFunc.Exports("KUNNR").Value = "*123800*"
Dim DetailedInfo As RfcStructure
Dim Buchungsnummer As String
Dim Sachkonto As String
Dim Debitor As String
Dim Buchungsschlüssel As String
Dim Buchungsschlüssel2 As String
If oFunc.Call = True Then
Set DetailedInfo = oFunc.Imports ("Return")
kunnr = oFunc.Imports("KUNNR").value
name1 = oFunc.Imports("NAME1").value
End If
Print kunnr & " " & name1
End Sub