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
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.