Ansicht
Dokumentation
ABENCDS_DEFINE_VIEW_V1 - CDS DEFINE VIEW V1
ABAP Short Reference CPI1466 during BackupDiese Dokumentation steht unter dem Copyright der SAP AG.
- DEFINE VIEW ddic_based
$[@entity_annot1$]
$[@entity_annot2$]
...
@AbapCatalog.sqlViewName: 'CDS_DB_VIEW'
$[@view_annot1$]
$[@view_annot2$]
...
$[DEFINE$] $[ROOT$] VIEW ddic_based_view
$[name_list$]
$[parameter_list$]
AS select_statement $[;$]
Wirkung
Definition einer in der CDS DDL. Eine CDS-View wird durch eine Abfrage (Query) select_statement realisiert. Vor der eigentlichen Definition der View mit DEFINE VIEW muss die Annotation AbapCatalog.sqlViewName aufgeführt werden. Optional können weitere Annotationen entity_annot1, ..., view_annot1, ... aufgeführt werden.
Zwei Repository-Objekte werden für eine CDS-View (von ABAP CDS) angelegt, die in DEFINE VIEW definiert werden. Für beide Objekte muss jeweils ein Name angegeben werden:
- Hinter der Annotation @AbapCatalog.sqlViewName muss in Hochkommata der Name CDS_DB_VIEW der CDS-verwalteten DDIC-View angegeben werden. Diese View ist die technische Grundlage der CDS-View im ABAP Dictionary. Für diesen Namen gelten die üblichen Einschränkungen für Views des ABAP Dictionary und die Groß-/Kleinschreibung spielt keine Rolle (bzw. er wird intern in Großbuchstaben umgesetzt). Unter diesem Namen wird auch der zugehörige SQL-View auf der Datenbank angelegt. Der Name der DDIC-Datenbank-View darf nicht mehr geändert werden, nachdem die CDS-View in ein Folgesystem transportiert wurde.
- Hinter den Schlüsselwörtern DEFINE VIEW, von denen DEFINE optional ist, wird der Name ddic_based_view der CDS-Entität definiert, ohne dass Hochkommata anzugeben sind. Dieser Name folgt den Regeln der CDS-verwalteten DDIC-View, kann aber 30 Stellen haben. Die CDS-Entität repräsentiert alle Eigenschaften der CDS-View.
Die beiden Namen liegen im Namensraum der globalen Typen des AS ABAP und müssen jeder für sich eindeutig sein. Über den Namen ddic_based_view der CDS-Entität kann in anderen Anweisungen der CDS DDL oder in ABAP-Programmen auf die CDS-View zugegriffen werden.
Mit den Angaben in name_list können die Namen der Elemente des Views in einer Namensliste definiert werden. Mit parameter_list kann die View mit Eingabeparametern versehen werden Sie können an Operandenpositionen der View angegeben werden und ihnen können bei Verwendung der View Aktualparameter zugeordnet werden.
Hinweise
- Die CDS-verwaltete DDIC-View einer mit DEFINE VIEW definierten CDS-View kann über ihren Namen CDS_DB_VIEW im Werkzeug ABAP Dictionary der ABAP Workbench angezeigt, aber nicht bearbeitet werden. In dieser Anzeige stehen auch nicht alle Informationen zur Verfügung.
- In den der CDS DDL und in ABAP kann auch direkt auf die CDS-verwaltete DDIC-View CDS_DB_VIEW zugegriffen werden. Es wird aber dringend empfohlen, ausschließlich mit der CDS-Entität zu arbeiten, da nur diese alle Eigenschaften der CDS-View umfasst. Die Verwendung der CDS-verwalteten DDIC-View in ist deshalb obsolet.
- Über ABAP-Annotationen können einer View weitere technische und semantische Eigenschaften zur Auswertung durch das ABAP-Laufzeit-Framework zugeordnet werden. Über Framework-spezifische Annotationen kann es mit spezifischen semantischen Eigenschaften für andere Frameworks der SAP versehen werden.
- Wenn für eine CDS-Entität mit der CDS-DCL-Anweisung DEFINE ROLE eine CDS-Rolle definiert ist, wird bei einem -Zugriff auf die CDS-Entität standardmäßig eine implizite Zugriffskontrolle durchgeführt. Die CDS-Zugriffskontrolle kann mit dem Wert #NOT_ALLOWED für die Annotation @AccessControl.authorizationCheck und über den Zusatz WITH PRIVILEGED ACCESS in der FROM-Klausel einer -Query beim Zugriff auf die Entität ausgeschaltet werden.
- Wenn mit einer SELECT-Anweisung von über den Namen ddic_based_view auf die CDS-Entität zugegriffen wird, wird die Syntaxprüfung in einem strikten Modus ausgeführt, der die Anweisung strenger behandelt als die reguläre Syntaxprüfung.
- Zu jeder CDS-View gehört ein eigener DDL-Quelltext. Der DDL-Quelltext einer CDS-View wird in einem anderen Editor bearbeitet als der DDLA-Quelltext einer Annotationsdefinition, als der DDLX-Quelltext einer CDS-Metadatenerweiterung und als der DCL-Quelltext einer CDS-Rolle. Die Dokumentation der ADT beschreibt, wie die unterschiedlichen Quelltexte angelegt werden. Eine Anzeige von CDS-Quelltexten ist auch im Repository Browser der ABAP Workbench möglich.
- Der DDL-Quelltext einer CDS-View muss nicht den gleichen Namen wie die CDS-Entität haben, es wird aber empfohlen, den Namen der Entität zu verwenden.
- Nach dem Transport eines DDL-Quelltexts ist die Kombination dessen Namens und der Namen der darin definierten CDS-View und ihrer CDS-verwalteten DDIC-View festgelegt und darf nicht mehr durch Umbenennungen geändert werden.
Beispiel
Die folgende CDS-View hat genau die gleiche Funktionalität wie die DDIC-Projektionsview DEMO_SPFLI des ABAP Dictionary. Das Programm DEMO_CDS_PROJECTION greift mit SELECT auf die View zu. Bei einem Zugriff auf die CDS-Entität DEMO_CDS_SPFLI wird anders als beim Zugriff auf die DDIC-View DEMO_SPFLI aber keine Mandantenspalte zurück gegeben. Die CDS-verwaltete DDIC-View DEMO_CDS_PRJCTN gibt auch die Mandantenspalte zurück.
SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up BAL Application Log Documentation
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 11848 Date: 20240606 Time: 131844 sap01-206 ( 143 ms )