ABAP-Specific Session Variables in SAP HANA
Session variables are global variables in the SAP HANA database. They can be read there with the built-in function SESSION_CONTEXT and provided with a value by the statement SET 'VAR' = :value; (SAP HANA Platform SPS12 and higher). Session variables contain global information about the current context and are hence similar to ABAP system fields. In particular, their value should only be changed in exceptional application logic cases, for example, in SQLScript.
When a SAP HANA database is used as the standard AS ABAP database, the following session variables are filled with ABAP-specific values in ABAP reads:
- CLIENT contains the current
client in accordance with the
nominal value of the ABAP system field
- CDS_CLIENT like CLIENT but with the following differences:
- CDS_CLIENT is set to the specified value when the database is accessed
with an ABAP SQL statement with the addition
- During an AMDP method call from ABAP, where the addition AMDP OPTIONS CDS SESSION CLIENT is specified in the declaration, CDS_CLIENT is set to the value specified there.
- APPLICATIONUSER contains the current
client in accordance with
the nominal value of the ABAP system field
- LOCALE_SAP contains the
text environment language of the current
internal session in
accordance with the nominal value of the ABAP system field
- SAP_SYSTEM_DATE contains the current
system date of the AS ABAP
in accordance with the nominal value of ABAP system field
7.31 | 7.40 | 7.54
- The ABAP-specific session variables can be read, for example, in AMDP methods and make the associated input parameters superfluous. Such a method should only be called up from ABAP programs. Otherwise it cannot be guaranteed that the variables will be provided with the correct values. However, write access to session variables with SQLScript statement SET is not permitted in AMDP methods.
- In the CDS DDL of the ABAP CDS, the syntax $session.vname can be used in the definition of a CDS view to access the ABAP-specific session variables. The name vname is then different from the name shown here. The CDS session variable client accesses CDS_CLIENT, not CLIENT. When a CDS view is accessed using ABAP SQL, the session variables are available on all supported database platforms and not just on the SAP HANA database.
Reads the session variable APPLICATIONUSER using ADBC.
DATA(result) = NEW cl_sql_statement( )->execute_query( `select SESSION_CONTEXT('APPLICATIONUSER') from DUMMY` ). DATA uname TYPE sy-uname. result->set_param( REF #( uname ) ). result->next( ). cl_demo_output=>display( uname ).
The example SAP HANA, ABAP-Specific Session Variables shows various ways of accessing the session variables specified here.