Ansicht
Dokumentation

ABENCDS_SESSION_VAR_APPLICATION_V2 - CDS SESSION VAR APPLICATION V2

ABENCDS_SESSION_VAR_APPLICATION_V2 - CDS SESSION VAR APPLICATION V2

General Data in Customer Master   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- CDS-View-Entität, Anwendungssitzungsvariablen

... $session.vname ...

Wirkung

Angabe einer Sitzungsvariablen einer Anwendung vname an einer Operandenposition einer SELECT-Anweisung von einer CDS-View-Entität. Der Variablen muss $session. vorangestellt werden.

Anwendungssitzungsvariablen sind für spezifische Anwendungen erforderlich und können über eine spezielle Systemklasse durch eigene Systemprogramme gesetzt werden. Es gibt folgende Anwendungssitzungsvariablen:

vname Wert bei Zugriff
bs_instance_id Instanz-ID der aktuellen Business-Service-Instanz. Der Rückgabewert ist vom Datentyp SSTRING.
bs_zone_id Zonen-ID der aktuellen Business-Service-Instanz. Der Rückgabewert ist vom Datentyp SSTRING.

Eine CDS-View-Entität, die auf eine Anwendungssitzungsvariable zugreift, muss auch als Vertreterobjekt verwendbar sein. Das heißt auch, dass die jeweilige CDS-View-Entität keine Eingabeparameter haben darf.

Hinweise

  • Aus technischer Sicht kennzeichnen Sitzungsvariablen globale Variablen aus der aktuellen Datenbank. Anwendungssitzungsvariablen werden über eine spezielle Systemklasse durch eigene Systemprogramme auf ihren Wert gesetzt. Wie ABAP-Systemfelder sind sie aus einem ABAP-Programm heraus änderbar. Sie sollten aber nicht in Anwendungsprogrammen geändert werden. Sie sollten nur für Lesezugriffe verwendet werden, andernfalls könnten wichtige Angaben für die weitere Programmausführung verloren gehen.
  • Die Annotation environment.systemField ist für eingebaute Sitzungsvariablen relevant, nicht aber für Anwendungssitzungsvariablen..
  • In vorhandenen CDS-View-Entitäten ohne entsprechende Eingabeparameter können Sitzungsvariablen an die Eingabeparameter von dort verwendeten CDS-View-Entitäten oder CDS-Tabellenfunktionen übergeben werden.
  • Anwendungssitzungsvariablen sind ausschließlich in CDS-View-Entitäten unterstützt. Es ist aber möglich, mit Anwendungssitzungsvariablen eine DDIC-basierte CDS-View auf einer CDS-View-Entität aufzubauen. In diesem Fall wird die Information an die DDIC-basierte CDS-View übergeben.

  • CDS-View-Entitäten mit Anwendungssitzungsvariablen dürfen in AMDP nicht verwendet werden, da AMDP keine Anwendungssitzungsvariablen unterstützt.
  • Die Datenvorschaufunktion in ADT funktioniert nicht für CDS-View-Entitäten mit Anwendungssitzungsvariablen.

Beispiel

Die folgende CDS-View-Entität enthält die Anwendungssitzungsvariable bs_instance_id in ihrer SELECT-Liste. Mit diesem Programm wird über die ABAP-Klasse CL_OSQL_EXTERNAL_CONTEXT einen Wert für diese Sitzungsvariable gesetzt. Die Klasse muss innerhalb einer Prozedur verwendet werden, sonst kommt es zu einer Ausnahme.

Mit diesem Programm wird die Einstellung von Anwendungssitzungsvariablen für systeminterne Zwecke demonstriert. Wie im Beispiel in Anwendungsprogrammen gezeigt sollten keine Anwendungssitzungsvariablen gesetzt oder überschrieben werden, da wichtige Angaben für die weitere Programmausführung verloren gehen können.






ROGBILLS - Synchronize billing plans   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5463 Date: 20240523 Time: 174044     sap01-206 ( 76 ms )