Ansicht
Dokumentation
ABENCDS_PROJ_VIEW_ANNOTATIONS - CDS PROJ VIEW ANNOTATIONS
RFUMSV00 - Advance Return for Tax on Sales/Purchases ROGBILLS - Synchronize billing plansDiese Dokumentation steht unter dem Copyright der SAP AG.
- proj_view_annot
... @annotation ...
Wirkung
Angabe einer Annotation annotation in der Definition einer CDS-Projektionsview vor der Anweisung DEFINE $[TRANSIENT$] VIEW ENTITY AS PROJECTION ON als View-Annotation. Vor den Bezeichner annotation der Annotation muss direkt das Zeichen @ gestellt werden. Die Annotation sollte in einer CDS-Annotationsdefinition als CDS-Objekt definiert und die Annotationsdefinitionsannotation @Scope sollte dort mit dem Wert #VIEW angegeben sein.
Hinweise
- Projektionsviews erben das Feld und die Assoziationsannotationen der projizierten Entität. Kopfannotationen werden nicht geerbt und müssen bei Bedarf neu angegeben werden.
- Neben den hier gezeigten View-Annotationen können für eine CDS-Projektionsview auch die allgemeingültigen Entitätsannotationen angegeben werden.
- Nur eine begrenzte Anzahl an View-Annotationen kann in CDS-Projektionsviews verwendet werden. Die folgenden Gruppen von Annotationen sind nicht möglich und deshalb unten nicht aufgelistet.
- Die Mandantenbehandlung erfolgt implizit für CDS-Projektionsviews. Der Mandant ist immer auf #session_variable_filter gesetzt. Deshalb können Annotation für Mandantenbehandlung nicht explizit in CDS-Projektionsviews gesetzt werden.
- DataAging-Annotationen werden momentan für Projektions-Vews nicht unterstützt.
AbapCatalog-Annotationen
Technische Einstellungen einer CDS-Projektionsview.
AbapCatalog.dataMaintenance,,Kann zur Einschränkung der Datenvorschau für eine
CDS-Projektionsview verwendet werden.,, #RESTRICTED:\lbr
Anzeige ohne Einschränkungen erlaubt\lbr\lbr
#DISPLAY_ONLY:\lbr Nur Anzeige. Datenvorschau ist erlaubt \lbr\lbr
#NOT_ALLOWED:\lbr Anzeige nicht erlaubt \lbr\lbr ,, #RESTRICTED,,-
AbapCatalog.extensibility.allowNewDatasources ,, Hiermit wird definiert, ob eine
CDS-View-Entitäts-Erweiterung
neue Datenquellen verwenden darf. Genauer gesagt definiert diese Annotation bei der Angabe einer Assoziation durch eine CDS-View-Entitätserweiterung, ob die neue definierte lokale Assoziation in
Pfadausdrücken
verwendet werden darf.,, true:\lbr Neue
Datenquellen sind in Erweiterungen erlaubt. \lbr\lbr
false:\lbr Neue Datenquellen sind in Erweiterungen nicht erlaubt. \lbr\lbr ,,
false,,true
AbapCatalog.extensibility.dataSources[
],, Erlaubtlist von stabilen Aliasnamen von Datenquellen und lokal definierten Assoziationen
für die Verwendung in Erweiterungen.,, 'data_source_name':
\lbr Aliasname einer Datenquelle oder Aliasname einer lokal definierten oder neu definierten Assoziation.,, -,,-
AbapCatalog.viewEnhancementCategory[ ],,Steuert die Erweiterbarkeit der CDS-Projektions-View über
CDS-View-Erweiterungen. In den eckigen Klammern des
Annotationsarrays
kann eine kommaseparierte Liste von Werten angegeben werden.,,
#PROJECTION_LIST:\lbr Erweiterungen der SELECT-Liste
und zusätzliche CDS-Assoziationen sind erlaubt; Erweiterungen von CDS-Views, deren SELECT-Listen
Aggregatausdrücke enthalten
oder eine
UNION-Klausel haben, müssen mithilfe weiterer Werte erlaubt werden \lbr\lbr
#NONE:\lbr Keine Erweiterungen erlaubt; Angabe zusammen mit anderen Werten nicht möglich,,
#PROJECTION_LIST,,#PROJECTION_LIST
Hinweise
- AbapCatalog.viewEnhancementCategory[#NONE] ist obligatorisch für Views, die ein Element vom Datentyp LRAW oder LCHR enthalten. Der Grund hierfür ist, dass sich Elemente vom Datentyp LRAW oder LCHR stets an letzter Stelle in der SELECT-Liste befinden müssen und deshalb keine Erweiterungen erlaubt sind.
- Die Annotation AbapCatalog.dataMaintenance definiert, ob die CDS-Projektionsview mit bestimmten Werkzeugen wie Data Preview in den ABAP Development Tools (ADT) angezeigt oder bearbeitet werden kann. Die Annotation wird durch diese Werkzeuge ausgewertet. Die von dieser Annotation implementierten Einschränkungen sind benutzerunabhängig und werden vor dem Datenzugriff ausgewertet. Zusätzliche von den CDS-Rollen implementierte Einschränkungen werden während des eigentlichen Datenzugriffs, wenn durch durchgeführt, ausgewertet.
- AbapCatalog.extensibility.dataSources:
- kann nur angegeben werden, wenn Erweiterungen erlaubt sind. Falls @AbapCatalog.extensibility.extensible auf false oder @AbapCatalog.viewEnhancementCategory auf #NONE gesetzt wird, können keine Datenquellen gesetzt werden.
- kann nur diejenigen Assoziationen als data_source_name angeben, die eine maximale Kardinalität nicht größer 1 haben.
- Die meisten Abap.Catalog-Annotationen, die in CDS-Views unterstützt werden, werden aus folgenden Gründen nicht in CDS-Projektionsviews unterstützt:
- AbapCatalog.buffering-Annotationen sind nicht möglich, da die Pufferung nicht mit einer anderen CDS-View als Datenquelle funktioniert.
- AbapCatalog.compiler.compareFilter ist nicht erforderlich, da die Optimierung von Joins automatisch erfolgt.
- AbapCatalog.preserveKey kann nicht angegeben werden, da die Schlüsselfelder von der projizierten Entität geerbt werden.
- AbapCatalog.sqlViewName ist nicht erforderlich, da Projektionsviews keine entsprechende SQL-View in ABAP Dictionary haben.
AccessControl-Annotationen
Steuerung der Zugriffskontrolle für die CDS-Projektionsview.
AccessControl.authorizationCheck,,Steuert die implizite
Zugriffskontrolle
bei einem Zugriff auf die CDS-View mit ,,#CHECK:\lbr Bei einem Zugriff über wird implizit eine
Zugriffskontrolle durchgeführt, falls der View eine
CDS-Rolle zugeordnet
ist. Es kommt zu einer Warnung von der Syntaxprüfung, wenn es keine Rolle für die View
gibt. \lbr\lbr#NOT_REQUIRED:\lbr Wie
#CHECK, außer dass es keine Warnung
von der Syntaxprüfung gibt. \lbr\lbr#NOT_ALLOWED:\lbr Es wird keine
Zugriffskontrolle durchgeführt.
Im DCL-Quelltext einer Rolle für die View führt dies zu einer Warnung von der Syntaxprüfung.
\lbr\lbr#PRIVILEGED_ONLY:\lbr Privilegierte CDS-Assoziation, die Auswertung erfolgt durch
SADL.,,
#CHECK,,#CHECK
Hinweise
- Der Wert #NOT_REQUIRED wird für CDS-Projektionsviews empfohlen, für die zum Zeitpunkt ihrer Erstellung keine Zugriffskontrolle vorgesehen ist, für welche aber später durchaus Rollen definiert werden können.
- Der Wert #NOT_ALLOWED schaltet die implizite Zugriffskontrolle beim Zugriff auf die CDS-Projektionsview in ab. Um die Zugriffskontrolle für Views abzuschalten, die nicht mit dieser Annotation versehen sind, kann der Zusatz WITH PRIVILEGED ACCESS in der FROM-Klausel verwendet werden. Auch für Views muss bei einer ABAP-SQL-Anweisung in der Verbuchung die Berechtigungsprüfung mit dem Zusatz WITH PRIVILEGED ACCESS ausgeschaltet werden, sonst kommt es zum Laufzeitfehler.
- Die CDS-Zugriffskontrolle funktioniert nicht für mandantenübergreifende Zugriffe. Aus diesem Grund kann in der Zusatz USING und der obsolete Zusatz CLIENT SPECIFIED nur beim Zugriff auf CDS-Entitäten verwendet werden, für welche keine Zugriffskontrolle stattfindet. Die Annotation AccessControl.authorizationCheck:#NOT_ALLOWED sollte für CDS-Projektionsviews angegeben werden, auf die mandantenübergreifend zugegriffen werden soll.
- Die Annotation AccessControl hat weitere Framework-spezifische Unterannotationen.
Metadata-Annotationen
Steuerung der Behandlung der Metadaten der CDS-Projektionsview.
Metadata.ignorePropagatedAnnotations,,Steuert die
Auswertung von Annotationen über die Annotations-API
CL_DD_DDL_ANNOTATION_SERVICE.,,
true:\lbr Es werden nur direkte und abgeleitete Annotationen der aktuellen CDS-Entität
berücksichtigt. \lbr\lbrfalse:\lbr
Es werden auch geerbte Annotationen verwendeter CDS-Entitäten berücksichtigt.,,
false,,true
ObjectModel-Annotationen
Charakterisierung von CDS-Projektionsviews bezüglich ihrer Performance-relevanten Eigenschaften.
ObjectModel.usageType.dataClass,,Angabe
des Datentyps der CDS-Projektionsview.,,Eine CDS-Projektionsview wird einer der folgenden Datenarten
zugeordnet: \lbr\lbr#TRANSACTIONAL: \lbr
Die CDS-Projektionsview enthält die Daten, die bei Transaktionen mit hohem Volumen oder bei der
Hintergrundverarbeitung geschrieben oder geändert werden. \lbr\lbr
#MASTER: \lbr Die CDS-Projektionsview enthält die Stammdaten. Die Stammdaten werden bei
Transaktionen mit hohem Volumen oder bei der Hintergrundverarbeitung gelesen, aber nicht geschrieben
oder geändert. \lbr\lbr#ORGANIZATIONAL:
\lbr Die CDS-Projektionsview enthält Daten, die Organisationsstrukturen und Prozesse des Kunden
beschrieben. \lbr\lbr#CUSTOMIZING: \lbr
Die CDS-Projektionsview enthält Daten, die Customizing-Daten des Kunden beschreiben. \lbr\lbr
#META: \lbr Die CDS-Projektionsview enthält technische Systemkonfigurationsdaten oder
die Struktur von Entitäten. \lbr\lbr#MIXED:
\lbr Die CDS-Projektionsview enthält die Daten, die zu mehr als einer Datenart gehören.,,
#MIXED,,#MIXED
ObjectModel.usageType.serviceQuality,,Die Qualität des Services in Bezug auf die Performance,
die der Verbraucher von der CDS-Projektionsview erwarten kann.,,Eine CDS-Projektionsview wird einer
der folgenden Qualitätskategorien zugeordnet: \lbr\lbr
#A: \lbr Die CDS-Projektionsview kann innerhalb der Business-Logik für Transaktionen mit
hohem Volumen oder für die Hintergrundverarbeitung verwendet werden. \lbr\lbr
#B: \lbr Die CDS-Projektionsview kann innerhalb der Business-Logik für Transaktionen oder
für die Hintergrundverarbeitung verwendet werden. \lbr\lbr
#C: \lbr Die CDS-Projektionsview kann von der Benutzerschnittstelle in Transaktionen zum Abrufen
einzelner Objekte verwendet werden. \lbr\lbr#D:
\lbr Die CDS-Projektionsview kann für analytische Abfragen verwendet werden. \lbr\lbr
#X: \lbr Die CDS-Projektionsview ist für spezielle Anwendungsfälle wie die Datenmigration
konzipiert. \lbr\lbr#P: \lbr Die CDS-Projektionsview
dient zum Strukturieren von CDS-Hierarchien und wird nicht außerhalb der CDS-Hierarchie verwendet.,,
#X,,#X
ObjectModel.usageType.sizeCategory,,Gibt die Größe des Datensatzes an, der durchsucht
werden muss, um das Ergebnis zurückzugeben. Dies entspricht normalerweise der größten
zugrunde liegenden Tabelle.,,Eine CDS-Projektionsview wird einer der folgenden Größenkategorien
zugeordnet: \lbr\lbr#S: \lbr Die erwartete
Größe des Datensatzes, der durchsucht werden muss, beträgt weniger als 1000. \lbr\lbr
#M: \lbr Die erwartete Größe des Datensatzes, der durchsucht werden muss, beträgt
weniger als 100.000. \lbr\lbr#L: \lbr
Die erwartete Größe des Datensatzes, der durchsucht werden muss, beträgt weniger
als 10.000.000. \lbr\lbr#XL: \lbr Die
erwartete Größe des Datensatzes, der durchsucht werden muss, beträgt weniger als
100.000.000. \lbr\lbr#XXL: \lbr Die erwartete
Größe des Datensatzes, der durchsucht werden muss, beträgt 100.000.000 oder mehr.,,
#S,,#S
Hinweise
- Mit obigen Unterannotationen von ObjectModel kann für eine CDS-Projektionsview die vorgesehene Anwendungsart und die erwartete Datenkategorien dokumentiert werden. Diese Information ist vor allem bezüglich der von einem Verwender der Funktion erwarteten Leistung wichtig. Weitere Details finden Sie in den allgemeinen Regeln für View-Annotation.
- Zusätzlich zu den hier gezeigten ABAP-Annotationen, hat die Annotation ObjectModel weitere Framework-spezifische Unterannotationen.
TXBHW - Original Tax Base Amount in Local Currency ROGBILLS - Synchronize billing plans
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 22811 Date: 20240523 Time: 152940 sap01-206 ( 360 ms )