ABAP/EXIT
Last-modified: 2016-02-01 (月) 12:47:42 (2979d)
文字通り、抜けるためのABAP命令。
概要 †
処理中の箇所を終了して次の処理へ遷移する場合に利用し、START-OF-SELECTIONや
END-OF-SELECTIONだと基本一覧に遷移する・・・が、SAPはループ(DO?、WHILE?、LOOP、SELECT)の中のみの利用を推奨している。
用法 †
というわけで「特定の条件に合致した場合に、現在のループを抜ける」が使い方の大勢を占め、現在のという文言はループのネストがある場合に今まさに処理中のループを表す。
なお、似たような処理である「特定の条件に合致した場合は、レコードを読み飛ばす」のケースは、CONTINUE命令を利用する。
なお、内部テーブルからデータを検索する際に、READ TABLE?ではイコール条件でしか検索できないためLOOP命令と組み合わせて検索する小技がある。
サンプルは、これで記述する。
サンプル †
LOOP AT L_IT_BKPF INTO L_WA_BKPF WHERE BLART = P_BLART AND BUDAT >= P_BUDAT. EXIT. ENDLOOP.
IF ( SY-SUBRC = 0 ).
...
ENDIF.
その他 †
関連する命令は、CONTINUE、CHECK、REJECT?、STOP、RETURNなど。
【スポンサードリンク】
コメントはありません。 Comments/ABAP/EXIT?