Skip to content

ABAP Keyword Documentation →  ABAP - Overview →  ABAP Programs in AS ABAP 

User Sessions

Each time an ABAP program is executed, it is in an internal session in an ABAP session within an AS Instance user session. Here, at least one ABAP session is open in every user session.

A user session is opened whenever a user logs on to AS ABAP. Here, the following fixed properties of the user session are defined:

The user name is assigned a user master record and authorizations that modify the behavior of an ABAP program. The current user name is returned by the method GET_USER_NAME of the class CL_ABAP_SYST and can be fetched from the system field sy-uname.
The client ID determines the current client. When database content is accessed using ABAP SQL, implicit client handling is used by default and only the data of the current client is accessed. The current client is returned by the method GET_CLIENT of the class CL_ABAP_SYST and can be fetched from the system field sy-mandt.
The logon language determines how various text repositories are accessed and is the text environment language by default. The current logon language is returned by the method GET_LOGON_LANGUAGE of the class CL_ABAP_SYST. The system field sy-langu, on the other hand, contains the text environment language of the current internal session, which can be set to a different value.

There are various types of user sessions and various rules and restrictions apply when ABAP programs are executed:

Dialog sessions are used for dialog processing with SAP GUI. The ABAP programs are operated using classic dynpros and their special variants, selection screens and classic lists.
Background sessions are used for background processing, namely the execution of ABAP programs in the background without user interaction.
Update sessions are used for classic (non-local) updates, namely the execution of registered update function modules in a dedicated work process.
RFC sessions are used for RFC processing, namely the execution of remotely called function modules (RFMs).
ICF sessions are used for ICF processing, namely the processing of HTTP/HTTPS queries or SMTP queries sent to AS ABAP in handler class.
APC sessions are used for APC processing, namely the processing of WebSocket queries or TCP queries sent to AS ABAP in handler class.
ABAP Daemon sessions are used for ABAP Daemon processing, namely whenever an ABAP Daemon is executed that is restarted after a program termination.

The user memory is assigned to a user session as a dedicated memory area for SPA/GPA parameters and is assigned the ABAP Daemon memory as a subarea.

Other versions: 7.31 | 7.40 | 7.54


From a user session, it is possible to open further user sessions on the same AS Instance or another AS Instance in a program-driven way. For example:

  • ICF clients and APC clients can address the current AS Instance or other AS Instances as ICF servers or APC servers and hence open new user sessions.