ABAP Debuggen von Verbuchungsprozessen

Viele Druckprogramme in SAP werden erst beim Speichern von Belegen gestartet. Das Speichern erfolgt oftmals im Hintergrund als Verbucher (Beispiel Nachrichtenverarbeitung Auslieferungen). Möchte man nun das Druckprogramm debuggen, stellt man fest, dass der ABAP Debugger nicht an den vorgesehenen Breakpoints anhält.

Lösung

Damit der Debugger anhält, müssen die Einstellungen des ABAP Debuggers angepasst werden. Das Vorgehen wird hier am Beispiel der Nachrichtenverarbeitung einer Auslieferung gezeigt.

Zunächst erstellt man die gewünschte Nachricht und ruft den ABAP Debugger wie gewohnt auf.

ABAP Debugger starten
ABAP Debugger starten

Im Debugger kann nun über "Einstellungen -> Debugger Einstellungen" das debuggen von Verbuchungsaufrufen eingeschaltet werden. Wichtig ist auch, dass die Option "Schließe Debugger nach Weiter" deaktiviert wird. Gegebenenfalls muss noch das Systemdebugging aktiviert werden.

Einstellungen zum ABAP Debugger
Einstellungen zum ABAP Debugger

Wird nun die aktive Debugger Instanz mit Weiter (F8) beendet, eröffnet sich für den Verbucher eine neue Debugger Instanz. Nun kann wie gewohnt zu dem eigentlichen Breakpoint navigiert werden.

Hinweise

Eine häufige Fehlerquelle ist die Option "Schließe Debugger nach Weiter". Ist diese nicht gesetzt und wird die Dialoginstanz des Debuggers mit Weiter (F8) verlassen, öffnet sich für den Verbucher keine neue Instanz. Der Verbucher kann dann folglich nicht geprüft werden.

Ist das Kennzeichen "Verbuchungsdebugging" aktiv, wird immer, wenn ein neuer Verbucher des Benutzers gestartet wird, eine neue Debug Instanz erzeugt. Wenn also der Debugger unerwünscht startet, lohnt es sich zu prüfen, ob diese Option aktiviert ist.

Der Debugger hält immer an der ersten Anweisung des Verbuchungstasks an, egal ob/wo ein Breakpoint gesetzt ist.