Externes Debugging versetzt Sie in die Lage, ABAP-Programme anzuhalten und zu debuggen, die im Kontext einer anderen Benutzersitzung ablaufen als die, in der Sie Breakpoints setzen. Externes Debugging deckt dabei beide in Frage kommenden Fälle ab:
Das zu prüfende Programm läuft in einer weiteren Benutzersitzung des Benutzers, der Breakpoints setzte.
Das zu prüfende Programm läuft in einer Benutzersitzung eines anderen Benutzers als derjenige, der Breakpoints setzte.
Externes Debugging eignet sich speziell zum Debuggen von ABAP-Programmen, die folgende Request-Typen abarbeiten:
HTTP-Requests (HTTP-Debugging)
RFC-Requests (RFC-Debugging)
Das Abarbeiten eines eingehenden RFC- oder HTTP-Requests erfolgt immer im Kontext einer neu eröffneten Benutzersitzung (HTTP-Sitzung, RFC-Sitzung). Im Bezug auf das Debugging hat das folgende Konsequenzen:
Programme laufen nicht im Kontext der Benutzersitzung, in der Sie Breakpoints setzen.
Session Breakpoints sind wirkungslos, da sie nur für die Benutzersitzung gelten, in der sie gesetzt werden (lokales Debugging). Breakpoint-Anweisungen sind ebenfalls wirkungslos.
Bei HTTP-Requests schließt sich der Debugger automatisch nach jedem HTTP-Roundtrip. Dies ist auch dann der Fall, wenn es sich um einen sogenannten "Stateful"-HTTP-Request handelt. Damit soll verhindert werden, dass inaktive Debugger-Fenster stehen bleiben, sofern kein Breakpoint mehr erreicht werden kann. Denn im Unterschied zum Dialog-Szenario mit dem SAP GUI kann im Browser ja kein OK-Code mittels "/hx" abgesetzt werden, der das Debugger-Fenster schließt.
Externes Debugging ermöglicht daher, ABAP-Bestandteile von Anwendungen zu debuggen, die HTTP- oder RFC-basierte Kommunikation verwenden. Dazu gehören folgende SAP NetWeaver Technologien:
Web-Browser-basierte Oberflächen (BSP, Web Dynpro, SAP EP, …)
ABAP-basierte Web Services, ICF-Services, remotefähige Funktionsbausteine
Java-ABAP-Kommunikation (über SAP JCo, SAP JRA)