全体に関わる操作
このトピックでは内部テーブル全体に対する操作を取り上げて説明します。
割当
内部テーブルの割り当ては、MOVE命令を使用します。 MOVE itab1 TO itab2. なお、代入演算子も同様の働きを持ちます。 itab2 = itab1.
上記の命令が実行された結果、内部テーブルitab1の内容が内部テーブルitab2にコピーされることになります。
初期化
内部テーブルを初期化するには、clear、fresh、freeなどの命令を使用します。
- clear
- 構文1:clear itab[]
内部テーブルの本体を初期化します。
内部テーブルは初期メモリ所要量が予約され、その以外のメモリ領域がすべて解放されます。 - 構文2:clear itab
ヘッダ行を含まない内部テーブルの場合は、この命令はclear itab[]と同様に動作します。
ヘッダ行を含る内部テーブルの場合は、ヘッダ行(作業領域)の名前が内部テーブルと同じであるため、このテーブルは単なるヘッダ行のクリアのみとなります。
- fresh
- 構文:fresh itab
常に内部テーブルの本体を初期化します。この命令はclear itab[]と同様に動作します。
- free
- 構文:fresh itab
常に内部テーブルの本体を初期化します。この命令はclear、fresh命令と異なり、内部テーブルに対して、初期メモリ所要量を含めた記憶域全体をすべて解放します。
比較
ABAPでは、内部テーブルも論理式内のオペランドとして比較することができます。
ソート
内部テーブルのソートはSORT命令を使用します。
SORT itab [ASCENDING|DESCENDING] [AS text] [STABLE].
属性取得
DESCRIBE TABLE命令を使用して、件数などの内部テーブルの各属性を取得することができます。
- DESCRIBE TABLE
構文:DESCRIBE TABLE itab [LINES lin] [OCCURS n] [KIND knd].- パラメータ:LINES
内部テーブルのレコード件数を取得します。 - パラメータ:OCCURS
内部テーブルの初期サイズを取得します。 - パラメータ:KIND
内部テーブルの種類を取得します。