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