Show TOC

Lokale Klasse des Debugger-ScriptsLocate this document in the navigation structure

Verwendung

Die lokale Klasse des Debugger-Scripts lcl_debugger_script enthält den Script-Quelltext Ihres Debugger-Scripts. Es handelt sich hierbei um eine normale lokale Klasse, die Sie an Ihre Bedürfnisse anpassen können. Sie können beispielsweise Methoden und Attribute hinzufügen.

Achtung

Benennen Sie die Klasse nicht um und ändern Sie auch nicht die Vererbung oder die Deklaration der Script-Methoden INIT, SCRIPT und END.

Ändern Sie nicht den Tag-Kommentar. Die Tags werden beim Sichern des Scripts automatisch generiert.

Script-Methoden

Die lokale Klasse des Debugger-Scripts stellt folgende Methoden zur Verfügung:

Methode

Funktion

prologue

Technische Initialisierung des Scripts

init

Initialisierung des Scripts

script

Methode, die für jeden Trigger aufgerufen wird

end

Ende des Scripts

Methode PROLOGUE

Nachdem das Script gestartet wurde, ruft das Debugger-Framework zuerst die Methode prologue des Scripts auf.

Die Standardimplementierung registriert die Instanz abap_source für das Ereignis debug_step, damit die von der Instanz abap_source gelieferten Quelltextinformationen immer auf dem neuesten Stand sind.

Wenn Sie die Performance Ihres Scripts verbessern möchten und abap_source nicht benötigen, können Sie den Standardaufruf super->prologue löschen.

            


            
METHOD prologue.
            
*** generate abap_source (source handler for ABAP)
            
super->prologue( ).
            
ENDMETHOD.
            


            


            

Methode INIT

Im nächsten Schritt ruft das System die Methode init des Debugger-Scripts auf. Diese Methode wird nur einmal und zwar direkt nach der Methode prologue aufgerufen.

Sie dient zur Initialisierung des Scripts. An dieser Stelle können Sie außerdem Benutzerinteraktionen hinzufügen, z.B. ein Dialogfenster, auf dem der Benutzer zur Eingabe von Daten aufgefordert wird, die für das Script benötigt werden.

            


            
METHOD init.
            
RAISING
            
cx_tpda_stop_scripting_request.
            
ENDMETHOD. "init
            


            

Methode SCRIPT

Diese Methode wird aufgerufen, wenn das Script angestoßen wird. Sie enthält den größten Teil der Script-Funktionalität.

            


            
METHOD script.
            
IMPORT
            
!p_trigger type tpda_script_trigger.
            
RAISE:
            
cx_tpda_stop_scripting_request,
            
cx_tpda_script_continue.
            
ENDMETHOD. "script
            


            


            

Der Import-Parameter p_trigger wird mit dem Typ des Triggers gefüllt, der das Script angestoßen hat.

Die Komponenten von p_trigger sind folgende Kennzeichen:

  • bp_reached

  • wp_reached

  • single_step

  • single_run.

Es ist möglich, mehrere Trigger parallel zu definieren, beispielsweise einen Breakpoint bei der Anweisung SELECT, einen Breakpoint beim Ereignis stack-change sowie einen Watchpoint.

Sie können die Script-Ausführung stoppen, in dem Sie die Ausnahme cx_tpda_stop_scripting_request auslösen.

Mit der Service-Methode me->break( ) können Sie dem Benutzer die Entscheidung überlassen, ob das Script gestoppt oder fortgesetzt werden soll.

Sie können das Script (ohne Benutzerinteraktion) bis zum Erreichen des nächsten Triggers fortsetzen, indem Sie die Ausnahme cx_tpda_script_continue auslösen.

Methode END

Wenn das Ende des Scripts erreicht ist oder das Script durch den Benutzer gestoppt wird, wird die Methode endaufgerufen.

An dieser Stelle können Sie Daten für den Benutzer anzeigen lassen, Ressourcen schließen oder Daten vor dem Abspeichern aggregieren.

            


            
METHOD end.
            
*** insert your code which shall be executed at the end of the ***scripting (before trace is saved)
            
here
            


            
ENDMETHOD. "end
            


            

Services der Script-Superklasse

  • Instanzmethode break

    Diese Methode stoppt die Ausführung des Scripts. Die Kontrolle wird wieder an den Benutzer übergeben.

    Sie können die Script-Ausführung beenden oder fortsetzen. Das Script wird nach dem Erreichen des nächsten Triggers erneut angestoßen.

  • Instanzmethode raise_error

    Mit dieser Methode können Sie das Script abbrechen und eine entsprechende Meldung für den Benutzer anzeigen lassen.

    Diese Methode löst eine Ausnahme aus, um das Script abzubrechen. Wenn Sie diese Ausnahme im Script abfangen, führt die Methode raise_error nicht zum Abbruch des Scripts.

Die Superklasse stellt außerdem Instanzen der wichtigsten Debugger-Services zur Verfügung:

Service

Beschreibung

abap_source

ABAP-Programm- und Quelltext-Informationen.

Beispiel: currr_prog = abap_source->program( )

BP

Breakpoint-Services

WP

Watchpoint-Services

debugger_control

Beispiele: Einzelschritt und Gehe zu Anweisung

debugger_status

Debugger-Einstellungen und -Status

dynpro

Dynpro-Informationen

memory

Informationen über Speicherauslastung und Komponenten mit dem höchsten Speicherverbrauch

special

Systembereiche und weitere Details