Anfang des Inhaltsbereichs

Funktionsdokumentation SET_BREAKPOINT  Dokument im Navigationsbaum lokalisieren

Funktion

Setzt einen Breakpoint in einem Skript des aktuellen Kontexts. Bei Ausführung des Skripts hält es an der angegebenen Zeile an und überführt das Skript in den Debugging-Modus.

Importing Parameter

SCRIPT_NAME (Typ STRING)

Name des Skripts im aktuellen Kontext.

LINE_NUMBER (Typ I)

Zeilennummer, in der der Breakpoint gesetzt wird. Wenn die Zeilennummer nicht im Skript vorhanden oder nicht ausführbar ist, wird der Breakpoint auf die nächstliegende Zeile gesetzt.

Beispiel

Beispiel

report DEMO_JAVA_SCRIPT_SET_BREAK.

data SOURCE type STRING.
data GET_VALUE type STRING.

data JS_PROCESSOR type ref to CL_JAVA_SCRIPT.

JS_PROCESSOR = CL_JAVA_SCRIPT=>CREATE( ).

concatenate
  'var string = "Hello World,"; '
  'string += " this";           '
  'string += " is";             '
  'string += " JavaScript!";    '
  'string;                      '
   into SOURCE separated by CL_ABAP_CHAR_UTILITIES=>CR_LF.

call method JS_PROCESSOR->COMPILE
  exporting
    SCRIPT_NAME = 'HELLO_WORLD.JS'
    SCRIPT      = SOURCE.

do 10 times.

  call method JS_PROCESSOR->SET_BREAKPOINT
    exporting
      SCRIPT_NAME = 'HELLO_WORLD.JS'
      LINE_NUMBER = SY-INDEX.

  JS_PROCESSOR->EXECUTE(
                exporting SCRIPT_NAME = 'HELLO_WORLD.JS' ).

  if JS_PROCESSOR->LAST_CONDITION_CODE =
                   CL_JAVA_SCRIPT=>CC_BREAKPOINT.
    GET_VALUE = JS_PROCESSOR->GET( NAME = 'string' ).
    write: JS_PROCESSOR->BREAKPOINT_LINE_NUMBER,
           JS_PROCESSOR->BREAKPOINT_SCRIPT_NAME,
           GET_VALUE.
    skip.
  endif.

  JS_PROCESSOR->CLEAR_SCRIPT_BREAKPOINTS(
                exporting SCRIPT_NAME = 'HELLO_WORLD.JS' ).
enddo.

In einer DO-Schleife werden mit SET_BREAKPOINT im kompilierten Skript HELLO_WORLD.JS hintereinander Breakpoints in verschiedenen Zeilen gesetzt und mit CLEAR_SCRIPT_BREAKPOINTS wieder gelöscht. Dazwischen wird das Skript ausgeführt. Mit dem Instanzattribut LAST_CONDITION_CODE wird festgestellt, dass ein Breakpoint erreicht wurde, und die Attribute BREAKPOINT_SCRIPT_NAME und BREAKPOINT_LINE_NUMBER sowie der mit der Methode GET gelesene aktuelle Wert der Variable string ausgegeben. Alle Breakpoints, die auf Zeilennummern gesetzt werden sollen, die größer sind als die gesamte Zeilenzahl, werden in der letzten ausführbaren Zeile des Skripts gesetzt.