ABAP/EXIT のバックアップ(No.1)
文字通り、抜けるための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