View-Definitionen in ABAP Core Data Services (ABAP CDS)
ABAP Core Data Services, kurz ABAP CDS, sind eine Infrastruktur zum Definieren und Nutzen semantisch reicher Datenmodelle in ABAP. Sie verwenden eine CDS DDL, um CDS-Entitäten zu definieren, die ein semantisches Datenmodell implementieren. Die wichtigsten CDS-Modellierungsentitäten sind CDS-View-Entitäten.

Die CDS-View-Definition enthält wiederverwendbare SQL-Logik: manchmal so einfach wie eine Projektion von Tabellenfeldern und manchmal komplexer mit Berechnungen, Aggregationen, Joins, Unions usw.
Eine CDS-View-Definition kann Assoziationen enthalten, um die Beziehungen des Datenmodells widerzuspiegeln. Consumer der View können die Assoziationen verwenden, um zugehörige Daten abzurufen.
Schließlich werden Annotationen verwendet, um die View-Definition semantisch anzureichern. Diese Metadaten werden von Frameworks ausgewertet, die auf CDS-View-Definitionen aufbauen. Ein solches Framework ist das ABAP-RESTful-Anwendungsprogrammiermodell, für das wir später in diesem Kurs ein Beispiel besprechen.
Schauen wir uns einige Beispiele für CDS-View-Definitionen an.

CDS-View-Definitionen sind in Repository-Objekten vom Typ Datendefinition enthalten. Sehen wir uns nun den Quelltext der Datendefinition /DMO/I_CONNECTION an.
Der Hauptteil ist die Anweisung DEFINE VIEW ENTITY. Sie enthält den Namen der CDS-View-Entität und nach dem Schlüsselwort FROM die Datenquelle. In unserem Beispiel lautet der Name der View-Entität „/DMO/I_Connection", und die Datenquelle ist die Datenbanktabelle „/dmo/connection". Der optionale Zusatz AS definiert einen Aliasnamen „Connection", um die Datenquelle innerhalb der View-Definition zu adressieren.
Notiz
Ein Paar geschweifter Klammern enthält die Liste der View-Elemente. In unserem Beispiel sind die View-Elemente Felder der Datenbanktabelle „/dmo/connection". Das Schlüsselwort „Key" vor den ersten beiden Elementen definiert sie als Schlüsselfelder der CDS-View-Entität. Der optionale Zusatz AS definiert einen Aliasnamen für jedes View-Element.

Der Zusatz association definiert eine Beziehung zu einer anderen CDS-View-Entität. In unserem Beispiel ist die zugehörige View die CDS-View-Entität /DMO/I_Carrier und der Name der Assoziation ist _Airline.
Diese Assoziation steht für Consumer der View zur Verfügung, nachdem sie zur Elementliste hinzugefügt wurde. Dieser Vorgang wird als Exponieren der Assoziation bezeichnet.

Annotationen beginnen mit dem At-Zeichen (@) und werden verwendet, um die View-Definition für Consumer semantisch anzureichern. Annotationen vor der View-Definition werden als Entitätsannotationen bezeichnet. Entitätsannotationen werden verwendet, um Metadaten für die View-Entität als Ganzes zu definieren. Annotationen zwischen den geschweiften Klammern werden als Elementannotationen bezeichnet. Elementannotationen werden verwendet, um Metadaten für die verschiedenen Elemente der View zu definieren.

Sie haben bereits gelernt, wie Sie das Werkzeug Datenvorschau verwenden, um den Inhalt einer Datenbanktabelle anzuzeigen und zu analysieren. Dieses Werkzeug ist auch für CDS-View-Entitäten verfügbar.
Um die Datenvorschau für eine bestimmte CDS-Entität zu öffnen, klicken Sie mit der rechten Maustaste auf eine beliebige Stelle in der Datendefinition, und wählen Sie Öffnen Mit→Datenvorschau. Alternativ können Sie den Cursor an eine beliebige Stelle in der Datendefinition setzen und F8 drücken.
Das Werkzeug zeigt die von der CDS-Entität zurückgegebenen Daten an. Dieselben Funktionen stehen zur Verfügung, um die Daten zu sortieren oder zu filtern und die Anzeige anzupassen.
Wenn die View-Definition eine oder mehrere Assoziationen enthält, können Sie diese verwenden, um zugehörige Daten anzuzeigen. Gehen Sie dazu wie folgt vor:
- Klicken Sie mit der rechten Maustaste auf eine Zeile in der Anzeige.
- Wählen Sie im Kontextmenü ///Follow Association.
- Wählen Sie aus der Liste der verfügbaren Assoziationen die gewünschte Assoziation aus.

Wenn Sie alle CDS-Views mit einer bestimmten Datenbanktabelle als Quelle finden möchten, können Sie das Werkzeug „///Verwendungsnachweis" von ADT verwenden. Um dieses Werkzeug zu verwenden, gehen Sie wie folgt vor:
- Öffnen Sie die Definition der Datenbanktabelle.
- Klicken Sie mit der rechten Maustaste auf eine beliebige Stelle im Quelltext, und wählen Sie im Kontextmenü ///Verwendungsnachweis holen. Alternativ können Sie „Strg + Umschalt + G" drücken oder die Drucktaste mit demselben Symbol in der Symbolleiste wählen.
- Die View ///Suche zeigt eine Liste aller Entwicklungsobjekte an, die die Datenbanktabelle direkt verwenden.

Sie können Filter auf den Verwendungsnachweis anwenden, wenn Sie z.B. nur Objekte aus bestimmten Paketen oder Objekten des jeweiligen Objekttyps benötigen. Das Beispiel zeigt, wie Sie nach CDS-Views filtern, die die Tabelle verwenden.
