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

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


内部テーブルまたはアドオンテーブルのデータの削除に使用する。

概要

用法

不要な行データの削除に使用する。 内部テーブル・アドオンテーブルの双方に共通するのは、条件に合致する行を一括で削除した方が良いことで、プログラムのトレースやパフォーマンスの観点から個別に削除するよりも優れる。

サンプル

内部テーブル

# DELETE L_IT_ORDER

# WHERE VTWEG <> P_VTWEG

# AND MATKL = P_MATKL.

アドオンテーブル

# DELETE FROM ZZLINEITEM

# WHERE VTWEG <> P_VTWEG

# AND MATKL = P_MATKL.

データベーステーブルに対して行う場合は、DELETE命令の後にCOMMITまたはROLLBACK命令を発行する必要があり、これを忘れると後続のMESSAGE文などにより意図しない結果となる可能性がある。

その他

LOOP内で内部テーブルの行を削除する場合は特に注意が必要で、対象となる内部テーブルのINDEXを把握しておく必要があり、これを考慮しないとショートダンプが発生する場合もある。 まぁ、そもそもLOOPに回しているテーブルを削除するのはあまり良いロジックではないのだが。




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

お名前: