You are on page 1of 1

ABAP programs have access to two cross-program memory areas that can be used for

passing data.
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 at the time of logon 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 (see below).
ABAP 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 memory
area remains throughout a sequence of program calls, with the exception of LEAVE TO
TRANSACTION. To pass data to a program that you are calling, the data needs to be
placed in ABAP memory before the call is made from the internal calling session
using the EXPORT statement. The internal session of the called program then
replaces that of the calling program. The program called can then read from the
ABAP memory using the IMPORT statement. If control is then returned to the program
that made the initial call, the same procedure operates in reverse (see also
Storage Media for Data Cluster). If a transaction is called using LEAVE TO
TRANSACTION, the ABAP memory and the call stack are deleted. They cannot be used
for data transfer.
Since objects belonging to ABAP objects can only be accessed within an internal
session, it does not make sense and is therefore forbidden (from a syntax point of
view) to pass a reference to an object to a calling program through the ABAP
memory.
Filling Input Fields on an Initial Screen
Most programs that you call from other programs have their own initial screen that
the user must fill with values. For an executable program, this is normally the
selection screen. The SUBMIT statement has a series of additions that you can use
to fill the input fields of the called selection screen:
Filling the Selection Screen of a Called Program
You cannot fill the input fields of a screen using additions in the calling
statement. Instead, you can use SPA/GPA parameters.
Filling Initial Screens using SPA/GPA Parameters

You might also like