差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

96:16:46:16 [2016/06/20 12:23] (現在)
ライン 1: ライン 1:
 +======全体に関わる操作 ======
 +{{page>​adsense:​ads_content_header&​nouser&​nodate&​nomdate&​noeditbtn}}
 +このトピックでは内部テーブル全体に対する操作を取り上げて説明します。
  
 +===== 割当 =====
 +内部テーブルの割り当ては、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 \\  内部テーブルの種類を取得します。