ABAP-Programm eines anderen SAP-Benutzers debuggen

In diesem Artikel erkläre und zeige ich Dir, wie Du einfach und schnell ein ausgeführtes Programm eines anderen SAP-Benutzers im Debugger aufrufen und das ABAP-Programm analysieren kannst. Das ist vor allem dann notwendig, wenn das Ergebnis anders ist als mit Deinem SAP-Benutzer und Du im Debugger das Verhalten genauer analysieren möchtest.

Im Artikel „Die besten ABAP Debugger Tipps und Tricks“ werden wertvolle Tipps und Tricks rund um das Debuggen in ABAP erläutert.

ABAP-Programm eines anderen SAP-Benutzers debuggen

Debugging in den Anwendungen eines anderen SAP-Benutzers

Im SAP-Hinweis 1919888 ist im Detail beschrieben, wie man in den Anwendungen eines anderen SAP-Benutzers debuggen kann. Mit folgendem Befehl im Kommandofeld kannst Du das ABAP-Programm eines anderen SAP-Benutzers debuggen:

/hext user = <SAP-Benutzer>

Als Beispiel kannst Du somit „/hext user = ANDREASG2“ im Kommandofeld eingeben. Natürlich ohne die Anführungszeichen. Außerdem müssen Leerzeichen zwischen „/hext“, „user“, „=“ und dem SAP-Benutzer ebenfalls angegeben werden.

Um den Debugger zu aktivieren, müssen die folgenden Bedingungen erfüllt sein. Andernfalls gibt das System die Fehlermeldung 00 127 aus: „Funktion ist nicht möglich“.

  • Der in <SAP-Benutzer> angegebene Benutzer hat die Berechtigungen für das allgemeine Debugging und speziell für das Debugging der Programme des aktuellen SAP-Benutzers (des SAP-Benutzers, der das Debugging aktiviert). Weitere Informationen findest Du im SAP-Hinweis 1788514.
  • Der in <SAP-Benutzer> angegebene Benutzer hat bereits Benutzer-Breakpoints für den aktuellen SAP-Benutzer (den SAP-Benutzer, der das Debugging aktiviert) gesetzt.
  • Die SAP-GUI-Anmeldung des in <SAP-Benutzer> angegebenen SAP-Benutzers, mit der die Benutzer-Breakpoints gesetzt wurden, ist noch aktiv (die Debugger-Daten werden in einem neuen externen Modus dieser GUI-Anmeldung angezeigt).
  • Für SAP_BASIS Release 740 und höher ist mindestens das abwärtskompatible disp+work Paket 742 mit Patch Level 315 erforderlich. Siehe auch SAP-Hinweis 2099670.

Der ABAP Debugger ist so lange mit der zu debuggenden Sitzung verbunden wie beim normalen Debugging mit dem OK-Code /h. Die Verbindung kann vom SAP-Benutzer der Anwendung explizit mit dem OK-Code /hx unterbrochen werden.

Externes Debugging

Externes Debugging ermöglicht die Analyse von Programmen, die von einem externen Benutzer über HTTP oder RFC aufgerufen werden. Für das externe Debugging werden spezielle Breakpoints (externe Breakpoints) auf dem Zielserver gesetzt. Deshalb funktioniert dieses Debuggen nur bei HTTP- oder RFC-Aufrufen.

Mit einem externen Breakpoint kannst Du ein ABAP-Programm eines anderen SAP-Benutzers debuggen. Damit der externe Breakpoint jedoch greift, wenn der andere SAP-Benutzer das ABAP-Programm aufruft, musst Du vorher die benutzerspezifischen Einstellungen ändern. In der Menüleiste rufst Du die benutzerspezifischen Einstellungen unter „Hilfsmittel > Einstellungen“ auf. Anschließend klickst Du „ABAP Editor > Debugging“. Im Feld Benutzer gibst Du die Benutzer-ID des anderen SAP-Benutzers an. Die Eingabe bestätigst Du mit der Enter-Taste auf Deiner Tastatur oder dem Button „Übernehmen“.

Benutzer für Debuggen externer Requests

Im Artikel „SAP-Benutzer ermitteln“ ist im Detail beschrieben, wie Du die ID eines SAP-Benutzers ermitteln kannst, wenn Du diese noch nicht kennst.

Falls Du bereits Breakpoints für Deinen SAP-Benutzer gesetzt hast, wirst Du gefragt, ob diese erhalten bleiben sollen. Je nach Deinen Präferenzen kannst Du diese beibehalten oder entfernen.

Als Nächstes setzt Du einen externen Breakpoint an die Stell im ABAP-Programm, die Du untersuchen möchtest. Bist Du Dir nicht sicher, welche Zeilen Du untersuchen möchtest, kannst Du einfach am Anfang des Programms einen externen Breakpoint setzen.

Einen externen Breakpoint kannst Du über mehrere Wege setzen:

  • Klick in die Zeile und Button „Externen Breakpoint setzen/löschen“
  • Rechtsklick links neben der Zeile und „Externen Breakpoint setzen“
  • Klick in die Zeile und Menüfunktion „Hilfsmittel > Breakpoints > Externen Breakpoint setzen/löschen“
Externen Breakpoint setzen

Anstatt dem Button kannst Du auch die Tastenkombination „Strg + Umschalt + F9“ benutzen. Nachdem Du den externen Breakpoint gesetzt hast, wird das entsprechende Icon auf der linken Leiste in der entsprechenden Zeile angezeigt. Zusätzlich hinaus erhältst Du in der Statusleiste eine Erfolgsmeldung. Es wird etwas Ähnliches wie „Breakpoint wurde für externes Debugging gesetzt (Systemweit, User: ANDREASG2,Gültigkeit: 2 Std)“ angezeigt.

Du kannst natürlich den externen Breakpoint bei Bedarf wieder entfernen, wenn Du erneut in die Zeile klickst und den Button oder die Tastenkombination benutzt.

Damit Du nun das ABAP-Programm in Namen eines anderen SAP-Benutzers debuggen kannst, muss dieser das ABAP-Programm ausführen. Über eine Meldung im SAP-System kannst Du den Benutzer bequem darüber informieren.

BREAK <SAP-Benutzer>

Mit dem ABAP-Befehl „BREAK <SAP-Benutzer> kannst Du direkt im ABAP-Code einen Breakpoint ausführen lassen, wenn ein bestimmter SAP-Benutzer das Programm ausführt.

" ABAP Debugger wird gestartet, wenn der Benutzer ANDREASG2 diese Zeile ausführt
BREAK andreasg2.

Hierbei muss man lediglich beachten, dass der ABAP Debugger für den ausführenden SAP-Benutzer gestartet wird. Hierbei handelt es sich ebenfalls um ein statisches ABAP-Coding, das man vermeiden sollte zu verwenden. Außerdem kann man anstatt dieser statischen Anweisung ebenfalls einen Session-Breakpoint mit diesem Benutzer setzen.

Über den Autor

Andreas Geiger

Mein Name ist Andreas Geiger und ich bin ein erfahrener Senior SAP Berater. Mit mehr als 10 Jahren Berufserfahrung habe ich mehrere SAP-Projekte erfolgreich abgeschlossen und umfangreiche Kenntnisse in verschiedenen Bereichen wie SAP FI, SAP MM und ABAP erworben. Nun möchte ich mein Wissen mit Dir teilen, um Dir einen Mehrwert zu bieten und Dich bei Deiner täglichen Arbeit mit dem SAP-System zu unterstützen.

Mehr zu ERP UP

ERP UP unterstützen

Wenn Du mit ERP UP zufrieden bist, kannst Du mich gerne unterstützen. Dabei gibt es unzählige Möglichkeiten, wie Du mich einfach und schnell unterstützen kannst. Wie Du genau ERP UP unterstützen kannst, erfährst Du hier. Vielen Dank.

Schreibe einen Kommentar