Die Objekte sind solange im Zwischenspeicher vorhanden, wie die aktuelle Session aktiv ist.
Beispiel 1 (String)
* Name für Speicherobjekt definieren
CONSTANTS: c_mem_str TYPE char10 VALUE 'STR_TEST1'.
DATA: lv_s TYPE string VALUE 'Test123'.
INITIALIZATION.
* Variable aus dem Zwischenspeicher holen
IMPORT lv_s FROM MEMORY ID c_mem_str.
START-OF-SELECTION.
WRITE: / 'Alt:', lv_s.
* Speicherinhalt löschen
DELETE FROM MEMORY ID c_mem_str.
lv_s = ''.
* Speicherinhalt importieren
* -> Es werden nur INITIAL-Variablen überschrieben!
IMPORT lv_s FROM MEMORY ID c_mem_str.
WRITE: / 'Leer: ', lv_s.
* Variable verändern
lv_s = sy-uzeit.
* Variable im Zwischenspeicher ablegen
EXPORT lv_s TO MEMORY ID c_mem_str.
WRITE: / 'Neu:', lv_s.
Beispiel 2 (interne Tabelle)
* Name für Speicherobjekt definieren
CONSTANTS: c_mem_itab TYPE char10 VALUE 'ITAB_STR'.
DATA: it_strings TYPE STANDARD TABLE OF string WITH DEFAULT KEY.
INITIALIZATION.
* iTab aus dem Zwischenspeicher holen
IMPORT it_strings FROM MEMORY ID c_mem_itab.
START-OF-SELECTION.
WRITE: / 'Alt:'.
LOOP AT it_strings ASSIGNING FIELD-SYMBOL(<fs_line1>).
WRITE: / <fs_line1>.
ENDLOOP.
* Speicherinhalt löschen
DELETE FROM MEMORY ID c_mem_itab.
CLEAR: it_strings.
* Speicherinhalt importieren
* -> Es werden nur INITIAL-Variablen überschrieben!
IMPORT it_strings FROM MEMORY ID c_mem_itab.
ULINE.
WRITE: / 'Leer:'.
LOOP AT it_strings ASSIGNING FIELD-SYMBOL(<fs_line2>).
WRITE: / <fs_line2>.
ENDLOOP.
* itab mit neuen Daten füllen
DATA: lv_tsl TYPE timestampl.
GET TIME STAMP FIELD lv_tsl.
it_strings = VALUE #( ( |{ lv_tsl TIMESTAMP = USER }| ) ( |{ lv_tsl TIMESTAMP = USER }| ) ( |{ lv_tsl TIMESTAMP = USER }| ) ).
* iTab im Zwischenspeicher ablegen
EXPORT it_strings TO MEMORY ID c_mem_itab.
ULINE.
WRITE: / 'Neu:'.
LOOP AT it_strings ASSIGNING FIELD-SYMBOL(<fs_line3>).
WRITE: / <fs_line3>.
ENDLOOP.
Weiterführende Links: Link und Link