Dudweiler im Nebel

Michel's Blog

Posts Tagged ‘Passwort’

SAP RFC-Anmeldung über Excel VBA

Posted by Kuppics - 18. Oktober 2011

Die Anmeldung im SAP über RFC ist die Voraussetzung um später RFC-fähige BAPI-Funktionsbausteine ausführen zu können. Hier möchte ich ein kleines Codebeispiel zeigen, wie die Anmeldung über VBA funktioniert. Für die Anmeldung, werden folgende Parameter benötigt:

Berechtigungen:

Um sich überhaupt mit dem RFC_User im SAP anmelden zu können, werden folgende Berechtigungen benötigt:

Objekt: S_RFC
Berechtigungsfeld: RFC_TYPE = FUGR (Funktionsbaustein)
Berechtigungsfeld: RFC_NAME = SYST
Berechtigungsfeld: ACTVT = 16 (Ausführen)

Parameter:

Eigentlich sollte man wissen wo diese Informationen zu finden sind, ich zeige aber trotzdem nochmal, wo man alle Informationen findet.

System
Systemnumber
Client
User
Passwort
Language
Hostname

System und Systemnumber:

Diese Informationen findet man in seinem SAP Logon Pad. Dazu müsst ihr, falls noch nicht eingestellt, die Detailansicht auswählen (Rechtsklick ins SAP Logon Pad – View/Ansicht – Details).
Jetzt werden alle Spalten angezeigt. In der Spalte SID findet ihr nun das System. Zwei Spalten weiter, in der Spalte Sys.Nr. steht die Systemnumber.

Client, User, Passwort und Language

Dies sind die gleichen Informationen, wie wenn man sich anmeldet. Falls ihr also nicht sicher seid, könnt ihr euch einfach mit euren normalen User anmelden, der Standardclient ist dann meist schon ausgefüllt, den User und das Passwort sollte man wissen und die Sprache ist entweder EN oder DE, je nachdem welche Sprache ihr verwendet.

Host

Den Host kann man am einfachsten finden, indem man sich im System anmeldet und anschließend im SAP den Menüpunkt System – Status auswählt. Dort findet man im unteren Bereich auf der rechten Seite den Punkt Host.

Codebeispiel:


Sub SAP_RFC_LOGON()

Dim objBAPI_Control As Object   'BAPI Funktions-Control
Dim SAP_Connection As Object    'Connection Objekt

Set objBAPI_Control = CreateObject("SAP.Functions")
Set SAP_Connection = objBAPI_Control.Connection

'Login Parameter
SAP_Connection.Systemnumber = 1
SAP_Connection.system = "Sandbox"
SAP_Connection.Client = 100
SAP_Connection.User = "RFC_User"
SAP_Connection.Password = "Test_RFC"
SAP_Connection.Language = "DE"
SAP_Connection.Hostname = "Host_Sandbox"

'Abfrage ob Verbinung zustande gekommen ist
If SAP_Connection.Logon(1, True) <> True Then
     MsgBox "Keine Verbindung zu " & SAP_Connection.system, vbCritical, "Login fehlgeschlagen"
     Exit Sub
Else
     MsgBox "Verbindung zu " & SAP_Connection.system & " erfolgreich hergestellt.", vbInformation, "Login erfolgreich"
End If

Wurde die Verbindung erfolgreich hergestellt, kann man den User auch in der Transaktion SM04 finden. Dort sollte dann in der Spalte „Typ“ RFC hinterlegt sein.

Nun sind alle Wege für das ausführen von RFC-fähigen Funktionsbausteinen geebnet, doch dazu ein andermal mehr.

Posted in SAP, Technik & Programmieren, VBA | Verschlagwortet mit: , , , , , , , , , , , , , , , , , , | 1 Comment »