Autor Thema: Notes > SAP RFC_CUSTOMER_GET  (Gelesen 2166 mal)

y20frank

  • Gast
Notes > SAP RFC_CUSTOMER_GET
« am: 16.01.05 - 14:44:33 »
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
« Letzte Änderung: 16.01.05 - 15:16:32 von y20frank »

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Notes > SAP RFC_CUSTOMER_GET
« Antwort #1 am: 16.01.05 - 15:30:34 »
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.
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

y20frank

  • Gast
Re: Notes > SAP RFC_CUSTOMER_GET
« Antwort #2 am: 16.01.05 - 16:43:02 »
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) ;-)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz