Ansicht
Dokumentation

ABENDDIC_CDS_VIEWS - DDIC CDS VIEWS

ABENDDIC_CDS_VIEWS - DDIC CDS VIEWS

PERFORM Short Reference   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

ABAP CDS - Views

Eine CDS-View wird für vorhandene Datenbanktabellen und beliebige andere Views oder CDS-Views des ABAP Dictionary mit der Anweisung DEFINE VIEW der CDS DDL der ABAP Core Data Services (CDS) im DDL-Quelltext einer CDS-Datendefinition in den ABAP Development Tools (ADT) definiert. Eine Anzeige des DDL-Quelltexts einer CDS-View ist auch im Repository Browser der ABAP Workbench möglich. Bei der Aktivierung der CDS-Datendefinition einer CDS-View werden zwei Objekte des ABAP Dictionary erzeugt:

Die CDS-Entität repräsentiert die eigentliche CDS-View. Sie basiert auf einer CDS-Datenbank-View und ermöglicht zusätzliche Eigenschaften, wie z.B. in CDS definierte Zugriffskontrollen. Der Name cds_entity der Entität wird bei der Definition einer CDS-View hinter DEFINE VIEW definiert. Die Definition der CDS-Entität liegt nur als DDL-Quelltext vor. Das Werkzeug ABAP Dictionary der ABAP Workbench (SE11) kennt die CDS-Entität nicht.
Als Datentyp des ABAP Dictionary repräsentiert die CDS-Entität einen strukturierten Typ mit den Elementen der CDS-View als Komponenten und kann wie jede CDS-Entität verwendet werden:
  • In ABAP CDS kann die CDS-Entität als Datenquelle anderer CDS-Entitäten verwendet werden.

  • In ABAP kann die CDS-Entität als Datentyp und in lesenden -Anweisungen verwendet werden.

Die CDS-Datenbank-View ist die technische Grundlage der CDS-View im ABAP Dictionary. Es handelt sich um eine schreibgeschützte klassische Datenbank-View. Der Name CDS_DB_VIEW dieser View wird bei der Definition einer CDS-View in der CDS-Annotation @AbapCatalog.sqlViewName definiert. Das Werkzeug ABAP Dictionary der ABAP Workbench (SE11) zeigt eine CDS-Datenbank-View zwar an, sie kann dort aber nicht geändert werden. Bei Aktivierung der View wird auf der Datenbank die entsprechende gleichnamige SQL-View erzeugt.
Als Datentyp des ABAP Dictionary repräsentiert die CDS-Datenbank-View wie alle klassischen Datenbank-Views eine flache Struktur mit den Elementen der CDS-View als Komponenten. Die CDS-Datenbank-View einer mandantenabhängigen CDS-View hat anders als die CDS-Entität immer auch eine Mandantenspalte.
  • Im ABAP Dictionary kann die CDS-Datenbank-View wie jede klassische Struktur verwendet werden, beispielsweise als Typ einer Unterstruktur, als Include-Struktur oder als Zeilentyp eines Tabellentyps.

  • In ABAP sollte die CDS-Datenbank-View dagegen nicht verwendet werden. Sie kann zwar über ihren Namen CDS_DB_VIEW fast überall dort verwendet werden, wo auch Datenbanktabellen oder klassische Datenbank-Views angegeben können, wie z.B. hinter dem TYPE-Zusatz, in lesenden -Anweisungen, aber auch in Native SQL, AMDP oder hinter der TABLES-Anweisung, dies wird aber nicht empfohlen. Insbesondere ist die Verwendung der CDS-Datenbank-View in lesenden -Anweisungen obsolet und imstrikten Modus ab Release verboten. Statt dessen soll in ABAP auf die CDS-Entität zugegriffen werden, welche alle Eigenschaften der CDS-View umfasst.

Beide Namen cds_entity und CDS_DB_VIEW liegen im Namensraum der Datentypen des ABAP Dictionary und der globalen Objekttypen der Klassenbibliothek. Innerhalb der CDS DDL der ABAP CDS ist die View ebenfalls unter beiden Namen bekannt. Auch in anderen CDS-Entitäten sollte aber nur auf die CDS-Entität über ihren Namen cds_entity und nicht auf die CDS-Datenbank-View über den Namen CDS_DB_VIEW zugegriffen werden.

Eine CDS-View hat zwei Arten von Schlüsseln:

  • Für CDS-Entitäten können mit KEY Schlüsselelemente definiert werden. Dieser Schlüssel ist der semantische Schlüssel der CDS-View.
  • Der Schlüssel der CDS-Datenbank-View wird wie bei einer klassischen Datenbank-View implizit bestimmt. Dieser Schlüssel ist der technische Schlüssel der CDS-View.

In hängt es davon ab, ob über den Namen der CDS-Entität oder über den Namen der CDS-Datenbank-View auf eine CDS-View zugegriffen wird, welcher Schlüssel für die Syntaxprüfung verwendet wird.

Die folgenden Abschnitte beschreiben die Mandantenbehandlung und die Tabellenpufferung für CDS-Views:

Hinweise

  • Neben den für CDS-Views spezifischen Möglichkeiten wie die Definition von Assoziationen gehen auch die Möglichkeiten der normalen SQL DDL der CDS DDL weit über die des formularbasierten Werkzeugs ABAP Dictionary der ABAP Workbench zur Definition von klassischen Views hinaus.
  • Für CDS-Views gibt es mit CDS-View-Erweiterungen eine eigene Möglichkeit für modifikationsfreie Erweiterungen.





General Material Data   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 9689 Date: 20240606 Time: 124434     sap01-206 ( 112 ms )