トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

ABAP/CONTINUE のバックアップ(No.1)


概要

ループの処理中に、ループの開始位置に戻し、次のループパス(次のレコード)に遷移させるABAP命令。

用法

上記の概要、そのまんま。 ループ以外の場所でも利用できるが、混乱を招くのでIF文であればEXIT、ループ中ならCONTINUEと使い分けるのがいいだろう。

ただ、注意が必要なのはLOOP命令のWHERE句との住み分けで、この命令を使うのは「ループ中の内部テーブルの項目およびその値だけでは判断できず、加工や計算を加えて判定しなければならない場合」などとした方がいいだろう。

LOOP〜WHEREで判定したりIF〜CONTINUEで判定したりを気分で使い分けていると、背骨のないソースコードになってしまう。

サンプル

# LOOP AT L_IT_SALES_ORDER INTO L_WA_SALES_ORDER.

# SELECT SINGLE ZZITEM_ELEMENT

# FROM ZZADDON_TABLE

# WHERE VBELN = L_WA_SALES_ORDER-VBELN

# AND MATNR = L_WA_SALES_ORDER-MATNR.

#

# IF ( SY-SUBRC <> 0 ).

# CONTINUE.

# ENDIF.

# ENDLOOP.

その他

関連する命令として、CHECKEXITが挙げられる。




コメントはありません。 Comments/ABAP/CONTINUE

お名前: