現在の処理ブロックを即時終了させたい時に使用する命令。
* 概要 [#j4d77dd6]
** 用法 [#m1e61e8f]
その[[イベントブロック>ABAP/イベントブロック]]や[[アドオン/サブルーチン]]を抜ける場合に使用する。
** サンプル [#p8e30ede]
# IF SY-SUBRC <> 0.
# MESSAGE SXXX.
# RETURN.
# ENDIF.
IF SY-SUBRC <> 0.
MESSAGE SXXX.
RETURN.
ENDIF.
SY-SUBRCが0以外の場合に処理を終了する例。
このように記述し例外処理は[[サブルーチン>アドオン/サブルーチン]]の外でやるか、或いは中でやるか。
このように記述し、例外処理は[[サブルーチン>アドオン/サブルーチン]]の外でやるか、或いは中で行う。
一概にどちらが良いとは言えないが、プログラムの中ではどちらかに寄せること。
書き手の気分で中でやったり外でやったりしてはいけない。
書き手の気分でバラツキがあってはならない。
* その他 [#lb3435f1]
[[CHECK>ABAP/CHECK]]などと同じく、いわゆるGOTO論争の当事者的な命令だが、スパゲティの中で使うことにより可読性や保守性が低下することが問題なのであって、その処理ブロックが長々しくなく、わかりやすい使い方で明示的に使用されていれば問題ないかと思う。
なお、プログラムそのものを終了させたい場合は、[[LEAVE>ABAP/LEAVE PROGRAM]]を使用すること。
その他、類似する命令には[[EXEI>ABAP/EXIT]]がある。
~
~
CENTER:【スポンサードリンク】
#htmlinsert(amazon_book_sap_system_implement)
~
~
----
#pcomment(reply)