SAP NetWeaver AS ABAP Release 750, ©Copyright 2016 SAP AG. Alle Rechte vorbehalten.
ABAP - Schlüsselwortdokumentation → ABAP - Dictionary → ABAP CDS im ABAP Dictionary → ABAP CDS - Datendefinitionen → ABAP CDS - DDL-Anweisungen → ABAP CDS - DEFINE VIEW → ABAP CDS - SELECT → ABAP CDS - SELECT, Operanden und Ausdrücke →ABAP CDS - session_variable
Syntax
... $session.vname ...
Wirkung
Angabe einer Sitzungsvariable vname an einer Operandenposition einer SELECT-Anweisung einer CDS-View der ABAP CDS. Die Groß-/Kleinschreibung ist relevant. Neben der Schreibweise $session.vname können auch $Session.Vname und $SESSION.VNAME verwendet werden. Andere Schreibweisen sind nicht erlaubt.
Sitzungsvariablen haben einen vordefinierten Namen und sind bei Verwendung der CDS-View in Open SQL auf einen vorgegebenen Wert gesetzt. Dies gilt auch für CDS-Views, die in anderen CDS-Views als Datenquellen verwendet werden. Es gibt folgende Sitzungsvariablen:
vname | Wert beim Zugriff mit Open SQL |
user | Aktueller Benutzername , nomineller Wert des ABAP-Systemfelds sy-uname. |
client | Aktueller Mandant, nomineller Wert des ABAP-Systemfelds sy-mandt. |
system_language | Sprache der aktuellen Textumgebung, nomineller Wert des ABAP-Systemfelds sy-langu |
Hinweise
Beispiel
Die folgende CDS-View enthält die möglichen Sitzungsvariablen in ihrer SELECT-Liste. Das Programm DEMO_CDS_SESSION_VARIABLES greift mit Open SQL auf die View zu, wodurch die Sitzungsvariablen mit den zugehörigen Werten gefüllt werden.
Beispiel
Die folgende CDS-View DEMO_CDS_SELECT_T100 greift auf eine weitere CDS-View DEMO_CDS_SELECT_T100_LANGU mit einem Eingabeparameter für die Sprache zu, dem die Annotation environment.systemField mit dem Wert system_language zugeordnet ist. Anders als in Open SQL erfolgt hierbei keine implizite Übergabe des Aktualparameters an den Eingabeparameter. Statt dessen wird die entsprechende Sitzungsvariable $session.system_language übergeben. Das Programm DEMO_CDS_T100 greift mit Open SQL auf beide Views zu und das Ergebnis ist gleich. Beim Zugriff auf DEMO_CDS_SELECT_T100_LANGU wird implizit der Wert des Systemfelds sy-langu an den Eingabeparameter übergeben. Beim Zugriff auf DEMO_CDS_SELECT_T100 wird die Sitzungsvariable $session.system_language mit diesem Wert versorgt.