Anfang des Inhaltsbereichs

Funktionsdokumentation STEP_OUT Dokument im Navigationsbaum lokalisieren

Funktion

Einzelschritt des Skripts, das im aktuellen Kontext im Debugging-Modus ist. STEP_OUT beendet die aktuelle Funktion und wirkt damit wie Return (F7) im ABAP Debugger.

Returning Parameter

RESULT (Typ STRING)

Wert der letzten im Skript ausgeführten Anweisung. Result wird bei STEP_OUT also nur gefüllt, wenn die letzte Anweisung erreicht wurde.

Beispiel

Beispiel

report DEMO_JAVA_SCRIPT_STEP_OUT.

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,";   '
  'function Set_String()          '
  '  { string += " this";         '
  '    string += " is";           '
  '    string += " JavaScript!";} '
  'Set_String();                  '
  'string;                        '
   into SOURCE separated by CL_ABAP_CHAR_UTILITIES=>CR_LF.

JS_PROCESSOR->COMPILE(
              exporting
                SCRIPT_NAME = 'HELLO_WORLD.JS'
                SCRIPT      = SOURCE ).

JS_PROCESSOR->SET_BREAKPOINT(
              exporting
                SCRIPT_NAME = 'HELLO_WORLD.JS'
                LINE_NUMBER = 1 ).

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

while JS_PROCESSOR->LAST_CONDITION_CODE =
                    CL_JAVA_SCRIPT=>CC_BREAKPOINT.

  GET_VALUE = JS_PROCESSOR->GET( NAME = 'string' ).
  write: / JS_PROCESSOR->BREAKPOINT_LINE_NUMBER, GET_VALUE.
  if JS_PROCESSOR->BREAKPOINT_LINE_NUMBER = 4.
    JS_PROCESSOR->STEP_OUT( ).
  else.
    JS_PROCESSOR->STEP_INTO( ).
  endif.
endwhile.

Das Beispiel arbeitet wie das bei STEP_INTO, nur dass die Funktion Set_String hier bei Erreichen von Zeile 4 über STEP_OUT verlassen wird.

Ende des Inhaltsbereichs