FOR命令

3. FOR命令

3. FOR命令

FOR命令でLOOPでの操作が容易にできるようになりました。3つの使用パターンがありますので、それぞれ確認していきましょう。

FOR命令パターン①、パターン②の事前データ準備

*シップメント内部テーブル:gt_shipsを準備し以下データをセット
*シップメントの型定義
TYPES: BEGIN OF ty_ship,
       tknum TYPE tknum, “Shipment Number
       name  TYPE ernam, “Name of Person who Created the Object
       city  TYPE ort01, “Starting city
       route TYPE route, “Shipment route
       END OF ty_ship.
*シップメントのテーブル型定義
TYPES: ty_ships TYPE SORTED TABLE OF ty_ship WITH UNIQUE KEY tknum.
*出発国のテーブル型定義
TYPES: ty_citys TYPE STANDARD TABLE OF ort01 WITH EMPTY KEY.
*シップメントのテーブル定義
DATA gt_ships TYPE ty_ships.

FOR命令パターン①

<ABAP7.4より以前>

内部テーブルgt_shipsのCity項目を、別内部テーブルgt_citysに移す場合、LOOP命令内でAPPEND命令を使用する必要がありました。

<ABAP7.4以降>

内部テーブルgt_shipsのCity項目を、別内部テーブルgt_citysに移す場合、FOR命令で内部テーブルに値を直接格納できるようになりました。

FOR命令 パターン①の実行結果

FOR命令パターン②

<ABAP7.4より以前>

内部テーブルgt_shipsのうち、ルートが’R0001’のCity項目を、別内部テーブルgt_citysに移したい場合、
LOOP命令にWHERE条件を指定していました。

<ABAP7.4以降>

内部テーブルgt_shipsのうち、ルートが’R0001’のCity項目を、別内部テーブルgt_citysに移したい場合、
FOR命令でもWHERE条件を指定可能となります。

FOR命令 パターン②の実行結果

FOR命令パターン③

<ABAP7.4より以前>

<ABAP7.4以降>

※FOR命令を用いて、繰り返し処理を行い内部テーブルに直接計算結果を格納することができます。

FOR命令 パターン③の実行結果


NEXT>> 4. REDUCE命令