このトピックはテーブルのデータ行に対して、読み込みや変更などの操作方法を取り上げて説明します。
内部テーブルから単一行を読み込みするには、以下の命令を使用します。
読み込む対象となるデータ行の検索キーを指定する方法を説明します。
検索キーとして itab のテーブルキーを使用するには、以下のように key を入力します。
または
全タイプの内部テーブルに対して、この方法を利用することができます。
テーブルキー以外の項目も検索キーとして指定することができます。
標準テーブルの場合、「BINARY SEARCH」をつけて検索の高速化を図ることができます。これは、標準テーブルが検索キー項目によってソートされていることを前提にしています、そうではない場合、エラーにならないが、意図しないデータ行が読み出されることになってしまいます。
標準テーブルおよびソートテーブルに限りますが、読み込む行のテーブル索引を明示的にidxによって指定することができます。
idx は、i 型のデータオブジェクトである必要があります。
対象データが取得できた場合と取得できなかった場合、それぞれ以下のようにシステム項目に値が設定されます。
検索対象行のデータを照会するには、作業領域かフィールドシンボルかを使用することができます。
対象データ行の内容を関心せず、対象データが存在しているかどうかのみをチェックする場合があります。その際、「READ TABLE」命令に「NO FIELDS」オプションをつけることができます。
単一行を内部テーブルの特定の箇所に挿入する場合は、「INSERT」を使用します。
複数行を内部テーブルの特定の箇所に挿入する場合は「INSERT LINES OF」を使用します。
単一行を変更するには、以下の命令を使用します。
条件を使用して 1 行または複数行を変更するには、以下の命令を使用します。 MODIFY itab FROM wa TRANSPORTING f1 f2 …WHERE cond.
内部テーブルの単一行を削除する場合は、DELETE 命令を使用します。
または
または
内部テーブルの行を複数まとめて削除する場合には、「DELETE .. WHERE」文を使用します。
内部テーブルを走査するには、命令LOOP~ENDLOOPを使用します。 FROM を指定できるのは、 標準テーブルおよび ソートテ ーブルの場合に限られます。 すべてのテーブルデータ型について WHERE を指定することができます。
DATA : T_WITH_ITEM TYPE TABLE OF WITH_ITEM, W_WITH_ITEM TYPE WITH_ITEM. * 処理 LOOP AT T_WITH_ITEM INTO W_WITH_ITEM WHERE BELNR = W_BELNR AND BUZEI = W_BUZEI. * 処理 ENDLOOP.