You are on page 1of 2

SAP Memory

SAP memory is a memory area to which all main sessions within a SAPgui have access. You can
use SAP memory either to pass data from one program to another within a session, or to pass data
from one session to another. Application programs that use SAP memory must do so using
SPA/GPA parameters (also known as SET/GET parameters). These parameters can be set either
for a particular user or for a particular program using the SET PARAMETER statement. Other ABAP
programs can then retrieve the set parameters using the GET PARAMETER statement. The most
frequent use of SPA/GPA parameters is to fill input fields on screens
ABAP/4 Memory
ABAP memory is a memory area that all ABAP programs within the same internal session can
access using the EXPORT and IMPORT statements. Data within this area remains intact during a
whole sequence of program calls. To pass data
to a program which you are calling, the data needs to be placed in ABAP memory before the call is
made. The internal session of the called program then replaces that of the calling program. The
program called can then read from the ABAP memory. If control is then returned to the program
which made the initial call, the same process operates in reverse.
SAP and ABAP Memory
There is a difference between the cross-transaction SAP memory and the transaction-specific ABAP
Global SAP memory
The global SAP memory is available to a user during the entire duration of a terminal session. Its
contents are retained across transaction boundaries as well as external and internal sessions. The
SET PARAMETER and GET PARAMETER statements allow you to write to, or read from, the SAP
Input fields on screens can be linked with parameters in the SAP memory, which allows you to
preassign values to the input fields on initial screens.
With general screens, the linking takes place during the definition of the screen using the Screen
Painter tool. When setting the field attributes of an input field, you can specify the ID of an SPA/GPA
parameter in the Parameter-ID attribute. In the checkboxes SET Parameter and GET Parameter you
can specify whether the screen field is filled with the value of the SPA/GPA parameter at the time of
PBO or whether the SPA/GPA parameter is filled with the user input on the screen at the time of
With selection screens, the linking is carried out using the MEMORY ID addition to the
PARAMETERS or SELECT-OPTIONS statement. If you specify an SPA/GPA parameter ID, when
declaring a parameter or selection criterion, the relevant input field is linked with the parameter.
Local SAP memory
The local SAP memory is available to the user throughout a transaction, within which you can also
call other program units, for example using SUBMIT or CALL TRANSACTION. With SET
PARAMETER you write to both the global and the local SAP memory. If the global SAP memory is
changed by an external mode of the same user, the local SAP memory remains unchanged. This
ensures that parameters set in the frame of a transaction remain unchanged until the end of this
transaction. The local SAP memory is deleted after the transaction is ended.
ABAP memory
The contents of the ABAP memory are retained only during the lifetime of an external session (see
also Organization of Modularization Units). You can retain or pass data across internal sessions.
The EXPORT TO MEMORY and IMPORT FROM MEMORY statements allow you to write data to, or
read data from, the ABAP memory.
Please consult Data Area and Modularization Unit Organization documentation as well.
Memory Structures of an ABAP Program
ABAP Memmory & SAP Memmory