Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: SAP RFC Error Handling

SAP RFC Error Handling
21.05.2007 22:17:00
Klaus
Hallo zusammen,
ich versuche momentan per RFC mich mit einem SAP System zu verbinden. Dazu verwende ich folgenden Code, der auf die OCX wdtfuncs.ocx und wdtlog.ocx zugreift.

Function Login()
FunctionCtrl = CreateObject("SAP.Functions")
SapConnection = FunctionCtrl.Connection
SapConnection.client = "xxx"
SapConnection.user = "xxxxxx"
SapConnection.password = "xxxxx"
SapConnection.language = "DE"
SapConnection.hostname = "xxxxx"
SapConnection.systemnumber = "xx"
If Not SapConnection.logon(0, True) Then
MsgBox("Logon failed!!")
Exit Function
End If
End Function


Soweit funktioniert das alles auch ganz gut. Nun möchte ich aber noch nähere Informationen haben, wenn eine Connection nicht geklappt hat.
Mit SapConnection.LastError bekomme ich auch weitere Informationen angezeigt, nur leider bin ich nicht in der Lage diese Error-Message in eine VB Variable einzulesen bzw. zu verarbeiten.
Weiss jemand wie man die Error Messages aus OCX in VB einlesen und verarbeiten kann?
Gruß Klaus

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SAP RFC Error Handling
22.05.2007 07:49:00
Armin
Hallo Klaus,
ändere doch die

Function ab.


Function Login()
FunctionCtrl = CreateObject("SAP.Functions")
SapConnection = FunctionCtrl.Connection
SapConnection.client = "xxx"
SapConnection.user = "xxxxxx"
SapConnection.password = "xxxxx"
SapConnection.language = "DE"
SapConnection.hostname = "xxxxx"
SapConnection.systemnumber = "xx"
Login = Not SapConnection.logon(0, True)
End Function


Und werte das Ergebnis aus.
Armin

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

SAP RFC Fehlerbehandlung in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine Verbindung zu einem SAP-System über RFC (Remote Function Call) herzustellen und Fehler effektiv zu behandeln, befolge diese Schritt-für-Schritt-Anleitung:

  1. VBA-Modul öffnen: Öffne Excel und gehe zu Entwicklertools > Visual Basic. Erstelle ein neues Modul.

  2. Code für die Verbindung: Füge den folgenden Code in dein Modul ein:

    Function Login() As Boolean
        Dim FunctionCtrl As Object
        Set FunctionCtrl = CreateObject("SAP.Functions")
        Dim SapConnection As Object
        Set SapConnection = FunctionCtrl.Connection
    
        SapConnection.client = "xxx"
        SapConnection.user = "xxxxxx"
        SapConnection.password = "xxxxx"
        SapConnection.language = "DE"
        SapConnection.hostname = "xxxxx"
        SapConnection.systemnumber = "xx"
    
        Login = SapConnection.logon(0, True)
    
        If Not Login Then
            MsgBox "Logon failed: " & SapConnection.LastError
        End If
    End Function
  3. Fehlerbehandlung integrieren: Der Code oben enthält eine einfache Fehlerbehandlung, die den LastError-Wert von SapConnection verwendet, um eine Fehlermeldung anzuzeigen, wenn der Logon-Versuch fehlschlägt.


Häufige Fehler und Lösungen

Hier sind einige häufige RFC Fehler und mögliche Lösungen:

  • Fehler bei der Anmeldung: Wenn die Verbindung fehlschlägt, überprüfe die eingegebenen Anmeldedaten (Client, Benutzer, Passwort).
  • SAP RFC-Fehler: Wenn SapConnection.LastError einen spezifischen Fehlercode zurückgibt, recherchiere diesen Code in der SAP-Dokumentation, um die genaue Ursache zu finden.
  • Netzwerkprobleme: Stelle sicher, dass die Firewall-Einstellungen die RFC-Verbindung nicht blockieren.

Alternative Methoden

Wenn die oben beschriebenen Methoden nicht funktionieren, gibt es alternative Ansätze zur Fehlerbehandlung in SAP RFC:

  • Verwendung von SAP GUI Scripting: Du kannst die SAP GUI API verwenden, um detailliertere Fehlermeldungen zu erhalten.
  • Logging: Implementiere ein Logging-System, um alle Verbindungsversuche und Fehler zu protokollieren. So kannst du die Fehleranalyse verbessern.

Praktische Beispiele

Hier sind einige praktische Beispiele, die dir helfen, die SAP RFC Fehlerbehandlung zu verstehen:

  • Verbindungstest: Erstelle eine einfache Funktion, die prüft, ob die Verbindung erfolgreich ist und gleichzeitig alle Fehler protokolliert.

    Sub TestConnection()
        If Not Login() Then
            Debug.Print "Verbindung fehlgeschlagen: " & SapConnection.LastError
        Else
            Debug.Print "Verbindung erfolgreich!"
        End If
    End Sub
  • Fehlermeldungen ausgeben: Du kannst zusätzliche Informationen über den Fehler ausgeben:

    If Not Login Then
        MsgBox "Fehler: " & SapConnection.LastError & vbCrLf & "Bitte überprüfen Sie Ihre Einstellungen."
    End If

Tipps für Profis

  • Verwende Try-Catch-ähnliche Konstrukte: Da VBA kein natives Try-Catch hat, kannst du On Error verwenden, um Fehler abzufangen und besser zu verwalten.
  • Verfeinere die Fehlerausgabe: Analysiere die Fehlercodes von SapConnection.LastError und gib spezifische Hinweise. Dies verbessert die Benutzerfreundlichkeit erheblich.
  • Dokumentation lesen: Halte dich über die SAP-Dokumentation auf dem Laufenden, um die neuesten Fehlercodes und Lösungen zu verstehen.

FAQ: Häufige Fragen

1. Was ist ein SAP RFC Fehler?
Ein SAP RFC Fehler tritt auf, wenn eine Verbindung zu einem SAP-System nicht erfolgreich hergestellt werden kann, oft aufgrund falscher Anmeldedaten oder Netzwerkprobleme.

2. Wie kann ich SAP RFC Fehler in meinem VBA-Code behandeln?
Du kannst die LastError-Eigenschaft des SapConnection-Objekts verwenden, um spezifische Fehlermeldungen zu erhalten und diese in deinem Code zu verarbeiten.

3. Welche SAP-Versionen unterstützen RFC?
Die meisten neueren SAP-Versionen unterstützen RFC, jedoch ist es wichtig, die spezifischen Anforderungen und Versionen zu überprüfen, um sicherzustellen, dass deine Verbindung erfolgreich ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige