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 mem_str = 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 mem_str = lv_s FROM MEMORY ID c_mem_str. WRITE: / 'Leer: ', lv_s. * Variable verändern lv_s = sy-uzeit. * Variable im Zwischenspeicher ablegen EXPORT mem_str = 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 mem_itab = 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 mem_itab = 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 mem_itab = it_strings TO MEMORY ID c_mem_itab.
ULINE.
WRITE: / 'Neu:'.
LOOP AT it_strings ASSIGNING FIELD-SYMBOL(<fs_line3>).
WRITE: / <fs_line3>.
ENDLOOP.