差分

このページの2つのバージョン間の差分を表示します。

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

kdict:abap:16:46:16 [2016/06/20 12:23]
kdict:abap:16:46:16 [2019/12/06 06:53] (現在)
行 1: 行 1:
 +======全体に関わる操作 ======
 +{{page>kdict:abap: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 \\  内部テーブルの種類を取得します。