コンテンツフレーム起動

機能の文書化 SET_BREAKPOINT 文書を SAP ライブラリストラクチャに組み込む

機能

現在のコンテキストのスクリプト内でブレークポイントを設定します。スクリプトが実行されると指定された行で停止して、スクリプトをデバッグモードに切り替えます。

IMPORT パラメータ

SCRIPT_NAME (Type STRING)

現在のコンテキストのスクリプト名。

LINE_NUMBER (Type I)

ブレークポイントが設定される行番号。スクリプトで行番号が利用可能でないか実行できない場合、ブレークポイントは一番近い行に移動されます。

例

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.

DO ループでは、コンパイルされたスクリプトHELLO_WORLD.JS SET_BREAKPOINT によって、ブレークポイントがさまざまな行に相次いで設定され、次にふたたび CLEAR_SCRIPT_BREAKPOINTS によって削除されます。スクリプトは、プロセスで実行されます。インスタンス属性 LAST_CONDITION_CODE は、ブレークポイントに到達したかどうかを決定して、属性 BREAKPOINT_SCRIPT_NAME BREAKPOINT_LINE_NUMBER を出力し、同時に GET メソッドによって変数文字列の現在値を出力します。行番号の合計より大きい行番号に設定されるブレークポイントは、すべてスクリプトの最後の実行可能行に設定されます。

 

 

コンテンツフレーム終了