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.