!--a11y-->
ABAP
メモリ内のデータオブジェクトを削除する場合は、以下の命令を使用します。構文
FREE MEMORY [ID <
キー >].オプション
ID < キー > を指定しない場合、この命令はメモリ全体を削除します。これには、 EXPORT 命令で ABAP メモリ内に格納しておいたデータクラスタがすべて含まれます。オプション ID < キー > を追加指定すると、その名称を持ったデータクラスタだけが削除されます。
ID
を追加指定した FREE MEMORY 命令 だけを使用すべきです。なぜならば、メモリ全体を削除すると、システムルーチンのメモリ内容も失われてしまうからです。
PROGRAM SAPMZTST.
DATA: TEXT(10) VALUE '0123456789',
IDEN(3) VALUE 'XYZ'.
EXPORT TEXT TO MEMORY ID IDEN.
TEXT = 'xxxxxxxxxx'.
IMPORT TEXT FROM MEMORY ID IDEN.
WRITE: / SY-SUBRC, TEXT.
FREE MEMORY ID IDEN.
TEXT = 'xxxxxxxxxx'.
IMPORT TEXT FROM MEMORY ID IDEN.
WRITE: / SY-SUBRC, TEXT.
この例の出力は以下のようになります。
0 0123456789
4 xxxxxxxxxx
FREE MEMORY ID IDEN 命令により、データクラスタ“ XYZ ”が削除されます。したがって、次の IMPORT 命令を実行するとシステム項目の SY-SUBRC システム項目には4が設定され、目標項目は変更されません。