Ansicht
Dokumentation

ABENCDS_DEFINE_VIEW_V1 - CDS DEFINE VIEW V1

ABENCDS_DEFINE_VIEW_V1 - CDS DEFINE VIEW V1

ABAP Short Reference   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

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