Daten-Cluster im Memory löschen
Um Datenobjekte im ABAP-Memory zu löschen, verwenden Sie die folgende Anweisung:
Syntax
FREE MEMORY [ID <key>].
Ohne den Zusatz ID <key> löscht diese Anweisung das gesamte Memory, also auch alle zuvor über EXPORT im ABAP- Memory abgelegten Daten-Cluster. Mit dem Zusatz ID <key> löscht diese Anweisung nur das Daten-Cluster mit dieser Bezeichnung.
Sie sollten die Anweisung FREE MEMORY nur mit dem ID-Zusatz verwenden, da durch das Löschen des gesamten Memorys auch die Speicherinhalte von eventuellen Systemroutinen verloren gehen.
REPORT demo_data_ext_cluster_free.
DATA: text(10) TYPE c VALUE '0123456789',
iden(3) TYPE c 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.
Die Ausgabe dieses Beispiels ist:
0 0123456789
4 xxxxxxxxxx
Die Anweisung FREE MEMORY löscht den Daten-Cluster "XYZ". Daher ist nach der flogenden IMPORT-Anweisung SY-SUBRC gleich 4 und das Zielfeld unverändert.