ABAPにおける変数等初期化命令はいくつか種類があります。
それぞれの初期化命令で細部が微妙に違う動作をするので、押さえておきましょう。
また、「初期化」はブランクにするというわけではなく、N型のような初期値が0のものは初期化を行うと0となります。
項目が初期状態かを条件分岐などで判定する際は= ブランクではなくIS INITIAL等を使用しましょう。
■初期化命令の種類
CLEAR
変数等の初期化を行います。
変数、構造、内部テーブルや参照変数などを初期化(参照変数は参照を解除)できます。
また構造付きテーブル(ヘッダ付きテーブル)をCLEARする場合は構造と内部テーブルのどちらをCLEARするか明示的に記載してください。
※明示的な記載方法はこちらのページの下方項「レンジテーブルなど構造付きテーブルの明示的な指定」を参照してください。
CLEAR:
lv_test,
ls_test,
lt_test,
obj_test.
REFRESH
内部テーブルの初期化を行います。
REFRESH:
lt_test.
FREE
内部テーブルの初期化を行います。
また、メモリ領域の開放も行うためFREE以降は対象の内部テーブルを使用できなくなります。
(内部テーブル消滅)
FREE:
lt_test.

