Core Data Services (CDS)
- CDS Dateitypen
- Ermittlung der Eigenschaften von Core Data Services
- Element Info für CDS
- Dependency Analyzer
- Active Annotations View
CDS Dateitypen
Im Bereich der Core Data Services (CDS) gibt es unterschiedliche Dateitypen, die in den ADT angelegt werden können:
- Data Definitions (DDLS) - Quelltextdateien für Datenmodelle in den folgenden Varianten:
- Access-Control-Dateien (DCLS) - Zugriffs-Definitionen
- Metadata Extensions (DDLX) - Auslagerung von Annotationen aus der CDS-Definition
- Behavior Definitions (BDEF) - Verhaltens-Definitionen für RAP-Business-Objekte
In den Data Definitions können unterschiedliche Statements / Entitätstypen enthalten sein. Diese werden “Source Types” genannt. Diese sind z.B.:
- DDIC Based CDS Views
- CDS View Entities
- Abstrakte CDS-Entitäten
- Hierarchien
- Erweiterungen der Views
- CDS Table Functions
Diese Liste ist nicht vollständig und ist abhängig vom Release des Backends. Seit ADT Version 3.32 in Verbindung mit den Backend Versionen “SAP BTP ABAP environment 2302” bzw “SAP S/4HANA Cloud ABAP Environment 2302” wird der Source Type einer Data Defintion in ADT transparenter dargestellt. Man kann den Source Type:
- Im “Properties” view sehen
- Beim Suchen (z.B. im “Open ABAP Development Object” Dialog) als Suchkriterium mitgeben
- Im “Project Explorer” den “Data Definitions” Knoten ad-hoc nach “Source Type” expandieren
- Im “Project Explorer” eigene “Repository Trees” mit Hilfe der “Source Type” Facette definieren.
Mehr Details zur Anzeige des Source Types finden Sie in den SAP ADT Release Notes.
Die Quelltext Editoren für die unterschiedlichen Dateitypen der Core Data Services verhalten sich weitgehend wie der Quelltexteditor für ABAP-Code. Unter anderem sind folgende Features enthalten:
- Code Completion (Strg+Space) - Vorschlagswerte, die im Kontext passen.
- Element Info (F2) - Informationen über das Element, auf dem der Cursor steht.
- Pretty Printer (Shift+F1)
Ein Unterschied sind die Farben, die im Editor verwendet werden.
Ermittlung der Eigenschaften von Core Data Services
Bei den Core Data Services befinden sich die Eigenschaften eines Objekts nicht an einer zentralen Stelle, sondern sind aus mehreren Dateien und den Eigenschaften der Datenquellen zusammengesetzt (s. Abbildung). Diese Dateien erklären jeweils ihre Zugehörigkeit und die Datenquellen propagieren ihre Feldeigenschaften (Annotationen). Das ist für das Erweiterungskonzept sehr praktisch. Darunter kann aber die Transparenz leiden, da die Dateien nicht im selben Entwicklungspaket liegen müssen, sondern sich in verschiedenen Paketen befinden können.
Um ein vollständiges Bild eines CDS-Objektes unter Berücksichtigung aller Dateien und Propagationen zu bekommen, können folgende Views in ADT verwendet werden:
Element Info für CDS
Mit F2 oder der separaten Element Info View bekommen Sie für einen CDS View eine gute Übersicht über die Datenstruktur und Assoziationen, unabhängig davon, wo diese definiert wurden. Außerdem werden alle relevanten Erweiterungsdateien angezeigt.
Dependency Analyzer
Der Dependency Analyzer bietet eine gute Übersicht über die Herkunft der Daten. Er wird über das Kontextmenü aufgerufen..
Der Dependency Analyzer hat drei Tab-Reiter, die Informationen über eine View anzeigen:
- Der SQL Dependency Tree zeigt die hierarchische Struktur in Tabellenform an
- Der SQL Dependency Graph zeigt die gleichen Informationen grafisch an.
-
Der Tab-Reiter Complexity Metrics zeigt zusätzliche Informationen zur Gesamtkomplexität des CDS Views an, inklusive aller Quell-Views.
Gerade bei Performance-Problemen lohnt hier ein Blick.
Active Annotations View
Die Active Annotations View wird ebenfalls über das Kontextmenü in der Navigation aufgerufen. In ihr werden die Werte sämtlicher aktiven Annotationen der Views angezeigt:
- Auf View-Ebene sind nur genau die Annotationen sichtbar, die in dem View definiert wurden.
- Auf Feld-Ebene sind alle gültigen Annotationen sichtbar. Ihre Herkunft, wie beispielsweise Datenelement, Metadata-Extension oder Datenquelle, wird ebenfalls mit angezeigt.
- Auf Parameter-Ebene
Manche Eigenschaften, z. B. Feldtexte, können schon durch die Datenelemente festgelegt und diese dann in die View propagiert werden. Dies ist in folgender Abbildung beispielhaft dargestellt: