Domino 9 und frühere Versionen > Entwicklung

Notes > SAP RFC_CUSTOMER_GET

(1/1)

y20frank:
Hallo zusammen!

################### Nachtrag ##########
:P  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):



--- Code: ---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
--- Ende Code ---

eknori:
Ich hatte das vor ein paar Monaten mal bei einem Kollegen. Script war i.O. aber die Version der lsxrfc.dll (?) war veraltet. Nachden er eine aktuelle Version auf den Rechner gepackt hat, ging es wieder.

y20frank:
Danke Dir Ulrich, aber ich glaube ich sollte besser mein Gehirn updaten, daran hat's gehapert (siehe Ursprungs-Posting von mir).
So, ich pack getz das Laptop weg und fahre heim, genug gearbeitet heute.
Bis denn (vielleicht später) ;-)

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln