トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

ABAP/FREE の変更点

Top/ABAP/FREE

内部テーブルの完全な初期化を行いたい時に使用する。
[[内部テーブル>ABAP/内部テーブル]]の完全な初期化を行いたい時に使用する。

* 概要 [#j4d77dd6]
** 用法 [#m1e61e8f]
[[CLEAR>ABAP/CLEAR]]や[[REFRESH>ABAP/REFRESH]]はそのデータオブジェクトの初期化を行うが、FREE命令は内部テーブルが持つ''メモリ領域''まで全て解放する為、特にデータ量の多い内部テーブルの初期化に有効となる。

つまり、[[内部テーブル>ABAP/内部テーブル]]を使いまわさないケースで用済みのものはこの命令で確保したメモリごと開放すればよいのだが、例えば[[LOOP>ABAP/LOOP]]の中で任意のキーブレイクまでwork的に使うような場合でこの命令を呼び出すのはアフォそのものである。

** サンプル [#p8e30ede]
 FREE : L_IT_ORDER_HEADER.

* その他 [#lb3435f1]
逆に言えば一度使うと、またその内部テーブルを使う場合はメモリ領域を再アロケートする必要があるということ。
逆に言えば一度使うと、またその[[内部テーブル>ABAP/内部テーブル]]を使う場合はメモリ領域を再アロケートする必要があるということ。

[[CLEAR>ABAP/CLEAR]]や[[REFRESH>ABAP/REFRESH]]とFREE命令は対象と用途が異なるため、正しく使い分けること。

また、わりと大きなデータボリュームを扱うようであれば、プログラム単位で分割した法がよかったりする場合もある。

~
~
CENTER:【スポンサードリンク】
#htmlinsert(amazon_book_sap_system_implement)
~
~
----
#pcomment(reply)