Ansicht
Dokumentation

ABENCDS_PROJ_VIEW_ANNOTATIONS - CDS PROJ VIEW ANNOTATIONS

ABENCDS_PROJ_VIEW_ANNOTATIONS - CDS PROJ VIEW ANNOTATIONS

RFUMSV00 - Advance Return for Tax on Sales/Purchases   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- 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.

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.





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 )