[ABAP] Verwendung SAP-Memory

  • Der SAP-Memory arbeitet im Gegensatz zum ABAP-Memory Session-(Modus-)übergreifend.
  • Es können also Daten zw. zwei Programmen ausgetauscht werden.
  • Speicherung ist nutzerspezifisch
  • Speicherung erfolgt solange der Nutzer angemeldet ist

Report 1 (Sender)

* Variablenname im SAP-Memory
CONSTANTS: co_mem TYPE usr05-parid VALUE 'MEM1'.

* Wert zum Abspeichern
PARAMETERS: p_parval TYPE usr05-parva DEFAULT 'Test1'.
* Schalter speichern / löschen
PARAMETERS: p_delete TYPE abap_bool DEFAULT abap_false.

START-OF-SELECTION.

  IF p_delete = abap_false.
* Wert im SAP-Memory setzen
    SET PARAMETER ID co_mem FIELD p_parval.
    WRITE: / 'Wert gesetzt.'.
  ELSE.
* Wert in SAP-Memory schreiben
    SET PARAMETER ID co_mem FIELD space.
    WRITE: / 'Wert gelöscht.'.
  ENDIF.

Report 2 (Empfänger)

* Variablenname im SAP-Memory
CONSTANTS: co_mem TYPE usr05-parid VALUE 'MEM1'.

DATA: lv_parval TYPE usr05-parva.

* Wert aus SAP-Memory lesen
GET PARAMETER ID co_mem FIELD lv_parval.
IF sy-subrc = 0.
  WRITE: / lv_parval.
ELSE.
  WRITE: / co_mem, 'nicht vorhanden.'.
ENDIF.

Links