Ansicht
Dokumentation
ABENCDS_V1_BUFFERING - CDS V1 BUFFERING
Vendor Master (General Section) Fill RESBD Structure from EBP Component StructureDiese Dokumentation steht unter dem Copyright der SAP AG.
- Tabellenpufferung von DDIC-basierten CDS-Views
Für eine CDS-View, die mit einer CDS-verwalteten DDIC-View verknüpft ist, 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 zugehörige CDS-verwaltete DDIC-View und es gelten die gleichen Voraussetzungen wie für Datenbank-Views des ABAP Dictionary. Um diese Voraussetzungen zu erfüllen kann eine CDS-View nur dann gepuffert werden, wenn sie folgenden Vorgaben genügt:
- Sie darf keine Views
- (DDIC-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.
- Bei eingeschalteter Datenalterung dürfen auf Datenbanktabellen nicht zugegriffen werden.
Für die SAP-Pufferung von CDS-verwalteten DDIC-Views spielen nur die Schlüsselfelder der CDS-verwalteten DDIC-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.
Hinweise
- 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.
- Bei CDS-View-Entitäten ist die Tabellenpufferung direkt für die CDS-Entität definiert. Dort zählt eine Mandantenspalte nicht zu den Schlüsselfeldern.
- Anders als bei der Tabellenpufferung von CDS-View-Entitäten, wo die Voraussetzungen echte Einschränkungen auf die View darstellen, wird die Pufferung für DDIC-basierte Views, die die Voraussetzungen nicht erfüllen, implizit durch ABAP SQL umgangen.
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 ...
{ ... }
General Material Data Vendor Master (General Section)
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 6426 Date: 20240523 Time: 155859 sap01-206 ( 68 ms )