Autor Thema: Problem mit "nlsxrfc" RFC-Zugriff auf SAP mit UNICODE  (Gelesen 6000 mal)

Offline jkunze

  • Junior Mitglied
  • **
  • Beiträge: 99
  • Geschlecht: Männlich
Hallo liebe Forumsmitglieder,

seit der Umstellung auf die neueste SAP-Version mit UNICODE funktioniert die RFC-Schnittstelle über nlsrfc leider nicht mehr. Die Spaltenbreiten werden nicht mehr richtig getrennt, hier ein Beispiel SAP Liefernatendaten im Notes Debugger:

ORT02         "                                               000000000000    HITE0"
ORT01         "45ELECTRONIC COMPONENTS DIS                         FOSTER CITY"
NAME2         "                                                      FOSTER CITY"
NAME1         "nents Distributor"
LAND1         " Compo"
LIEFNR         "0000002US Electronic"

Ich weiss, dass die nlsxrfc.dll schon lange nicht mehr supportet wird. Bisher war das auch nicht nötig, das hat wunderbar funktioniert. Gibt es hier einen Lösungsansatz mit der nlsxrfc? Oder kann mir jemand ein Tool empfehlen, mit dem der SAP-RFC-Zugriff über Script realisiert werden kann?

Vielen Dank für alle Tipps und Anregungen,

Gruß Jochen
Vielen Dank vorab für alle Antworten und Anregungen, :-))

Offline MaxMuster

  • Frischling
  • *
  • Beiträge: 19
Re: Problem mit "nlsxrfc" RFC-Zugriff auf SAP mit UNICODE
« Antwort #1 am: 16.06.10 - 13:27:31 »
nlsxrfc.dll kenn ich nicht.
Ich benutze die librfc32.dll aus der GUI (ist auch nicht supportet). Diese habe ich im System registriert.

Anschließend läuft folgendes (auf einem nicht UNICODE System)
Code
Sub Initialize()
	Dim FunctionCtrl As Variant
	Dim SAPConnection As Variant
	
	' ### Init SAP Objekte
	Set FunctionCtrl = CreateObject("SAP.Functions")
	Set SAPConnection = FunctionCtrl.Connection
	Dim rfc As Variant ' der BAPI
	Dim rfcExport ' Exportparameter des RFCs
	Dim strResult As string
	
	' Anmeldeinformationen
	SAPConnection.Client = "930"
	SAPConnection.User = "USER_NAME"
	SAPConnection.Password = "******"
	SAPConnection.Language = "DE"
	SAPConnection.Destination = "x1c"
	SAPConnection.HostName = "x1c.example.com"
	SAPConnection.SystemNumber = "00"
	SAPConnection.ApplicationServer = "x1c.example.com"
	SAPConnection.System = "X1C"
	SAPConnection.UseSAPRFCIni = False
	
	' Am SAP anmelden
	If Not SAPConnection.logon(0, True) Then
		Error 1000, "Anmeldung fehlgeschlagen"
	End If
		
	' RFC init 
	Set rfc = FunctionCtrl.Add("RFC_SYSTEM_INFO")
	
	' Objekt zum Export des BAPIs vorbereiten
	Set rfcExport = rfc.Imports("RFCSI_EXPORT")
	
	' RFC aufrufen
	If Not rfc.Call() Then 
		Error 1000, rfc.Exception 
	End If
	
	' Result ausgeben
	MsgBox "RFCPROTO  :" & rfcExport("RFCPROTO") & Chr(10) & _
	"RFCCHARTYP:" & rfcExport("RFCCHARTYP") & Chr(10) & _
	"RFCINTTYP :" & rfcExport("RFCINTTYP") & Chr(10) & _
	"RFCFLOTYP :" & rfcExport("RFCFLOTYP") & Chr(10) & _
	"RFCDEST   :" & rfcExport("RFCDEST") & Chr(10) & _
	"RFCHOST  :" & rfcExport("RFCHOST") & Chr(10) & _
	"SYSYSID   :" & rfcExport("RFCSYSID") & Chr(10) & _
	"RFCDATABS   :" & rfcExport("RFCDATABS") & Chr(10) & _
	"RFCDBHOST :" & rfcExport("RFCDBHOST") & Chr(10) & _
	"SYDBSYS   :" & rfcExport("RFCDBSYS") & Chr(10) & _
	"SYSAPRL   :" & rfcExport("RFCSAPRL") & Chr(10) & _
	"RFCMACH   :" & rfcExport("RFCMACH") & Chr(10) & _
	"RFCOPSYS   :" & rfcExport("RFCOPSYS") & Chr(10) & _
	"RFCTZONE  :" & rfcExport("RFCTZONE") & Chr(10) & _
	"SYDAYST   :" & rfcExport("RFCDAYST") & Chr(10) & _
	"RFCIPADDR :" & rfcExport("RFCIPADDR") & Chr(10) & _
	"RFCOPSYS  :" & rfcExport("RFCOPSYS") & Chr(10) & _
	"RFCHOST2    :" & rfcExport("RFCHOST2") & Chr(10) & _
	"RFCSI_RESV:" & rfcExport("RFCSI_RESV") & Chr(10) 
	
End Sub

Eine Weitere Alternative ist der SAP Java Connector (JCo). IMHO müsste der aber ausserhalb von Notes laufen. Die von IBM ausgelieferte VM passt nicht in jedem Release zum JCo.

Hth, Roger
z.Zt: Domino 7.0.2 / Notes 7.0.2 & 8.5.1

Offline jkunze

  • Junior Mitglied
  • **
  • Beiträge: 99
  • Geschlecht: Männlich
Re: Problem mit "nlsxrfc" RFC-Zugriff auf SAP mit UNICODE
« Antwort #2 am: 16.06.10 - 14:02:54 »
Hi Roger,
Danke, sieht ja erst mal gut aus, würde ich gerne mal probieren.
Die dll habe ich auch auf meiner Kiste, aber wie und wo hast du die registiriert? Ein normales Einbinden über die Options ist leider nicht möglich,
Gruß Jochen
Vielen Dank vorab für alle Antworten und Anregungen, :-))

Offline MaxMuster

  • Frischling
  • *
  • Beiträge: 19
Re: Problem mit "nlsxrfc" RFC-Zugriff auf SAP mit UNICODE
« Antwort #3 am: 16.06.10 - 14:50:06 »
Hallo Jochen,

wenn Du den GUI instaliert hast sind die DLLs auch registriert und das Coding sollte funktionieren.

Ich habe die Dateien "dbghelp.dll", "librfc32.dll", "WDTAOCX.OCX", "wdtfuncs.ocx", "wdtlog.OCX" auf den Domino Server (7.0.2 FP?) kopiert und mit c:\windows\system32\regsvr32.exe dem Windows bekannt gemacht. Anschließend konnte ich auf das SAP zugreifen.
Eine Installation des GUIs auf dem Server sollte den gleichen Effekt haben.

Hth, Roger




z.Zt: Domino 7.0.2 / Notes 7.0.2 & 8.5.1

Offline jkunze

  • Junior Mitglied
  • **
  • Beiträge: 99
  • Geschlecht: Männlich
Re: Problem mit "nlsxrfc" RFC-Zugriff auf SAP mit UNICODE
« Antwort #4 am: 16.06.10 - 17:01:13 »
Hallo Roger,

bei mir klappt nicht mal der Login zu SAP,  :(.
Die Objekte bleiben auch leer im Debugger.

Ich habe die gleichen Logindaten verwendet wie mit dem LSX-Zugriff, der ja zumindest soweit gut funktioniert.

Trotzdem Danke und viele Grüße, Jochen
Vielen Dank vorab für alle Antworten und Anregungen, :-))

Offline MaxMuster

  • Frischling
  • *
  • Beiträge: 19
Re: Problem mit "nlsxrfc" RFC-Zugriff auf SAP mit UNICODE
« Antwort #5 am: 17.06.10 - 13:40:27 »
Hallo Jochen,

schade das es nicht funktioniert. Vor allem wenn keine Fehlermeldung kommt.
Mir hat seinerzeit das SAP Beispiel für VBA (*1) und das Buch "SAP R/3 Kommunikation mit RFC und Visual Basic" von Patrick Theobald weitergeholfen.

Aber da das Ganze kein Support mehr hat solltest Du über ein Redesign nachdenken. SAP Schnittstellentechniken sind hier aufgeführt: http://service.sap.com/~form/sapnet?_SHORTKEY=01100035870000719303&

Roger



*1: http://help.sap.com/saphelp_470/helpdata/de/40/b297f3c32711d194ac00a0c94260a5/frameset.htm
z.Zt: Domino 7.0.2 / Notes 7.0.2 & 8.5.1

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz