Ansicht
Dokumentation
ABENCDS_SAP_PUFFER - CDS SAP PUFFER
BAL_S_LOG - Application Log: Log header data Vendor Master (General Section)Diese Dokumentation steht unter dem Copyright der SAP AG.
ABAP CDS - Tabellenpufferung von CDS-Views
Für eine CDS-View der ABAP CDS kann mit folgenden CDS-Annotationen die Tabellenpufferung gesteuert werden:
- @AbapCatalog.buffering.status legt fest, ob und wie die Tabellenpufferung erlaubt wird.
- @AbapCatalog.buffering.type bestimmt die Pufferungsart.
- @AbapCatalog.buffering.numberOfKeyFields bestimmt bei generischer Pufferung die Anzahl der berücksichtigen Schlüsselfelder.
Die Tabellenpufferung von CDS-Views erfolgt für die aus der Datendefinition der CDS-View abgeleitete CDS-Datenbank-View und es gelten die gleichen Voraussetzungen wie für klassische Datenbank-Views. Um diese Voraussetzungen zu erfüllen kann eine CDS-View nur dann gepuffert werden, wenn sie folgenden Vorgaben genügt:
- Sie darf keine Views
(Datenbank-Views oder CDS-Views) sowie keine CDS-Tabellenfunktion als Datenquellen enthalten.
- Sie darf keine Eingabeparameter haben.
- Eine mandantenabhängige View darf als einzige Sitzungsvariable $session.client verwenden und diese nur direkt. Dies erlaubt auch die Angabe der Annotation @ClientHandling.algorithm:#SESSION_VARIABLE zur Bestimmung der Mandantenbehandlung. Eine mandantenunabhängige View darf keine Sitzungsvariable verwenden.
- Schlüsselfelder dürfen keine Null-Werte enthalten.
- Die notwendigen Schlüsselfelder müssen direkt in der SELECT-Liste aufgeführt sein. Schlüsselfelder, die nur als Argumente von Ausdrücken vorkommen, können nicht ausgewertet werden.
Für die Tabellenpufferung von CDS-Views spielen nur die Schlüsselfelder der CDS-Datenbank-View eine Rolle. Standardmäßig sind dies nicht die mit KEY definierten Schlüsselelemente der CDS-Entität, es sei denn für die View-Annotation AbapCatalog.preserveKey ist der Wert true angegeben.
Hinweis
Bei mandantenabhängigen Views muss in der Angabe für die Annotation @AbapCatalog.buffering.numberOfKeyFields die Mandantenspalte explizit berücksichtigt bzw. zur Anzahl hinzugezählt werden.
Beispiel
Einschalten der vollständigen Pufferung für eine CDS-View.
-
@AbapCatalog.sqlViewName: '...'
@AbapCatalog.Buffering.status: #ACTIVE
@AbapCatalog.Buffering.type: #FULL
define view ...
as select from ...
{ ... }
Addresses (Business Address Services) BAL Application Log Documentation
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 5300 Date: 20240523 Time: 184318 sap01-206 ( 66 ms )