CDS - Virtuelles Datenmodell
Das virtuelle Datenmodell ist ein wichtiger Bestandteil der S/4 Landschaft und dient als Grundlage für Fiori Applikationen und Anwendungen innerhalb des Systems.
Inhaltsverzeichnis
Im letzten Artikel haben wir über die Grundlagen von Core Data Services gesprochen und die Vorteile eines virtuellen Datenmodells aufgezeigt. Dabei haben wir bereits über den Interface View gesprochen, ohne zu erklären was es eigentlich auf sich hat.
VDM
Das virtuelle Datenmodell, kurz VDM, ist eine abstrakte Schicht aus Views zwischen der Datenbank mit den einzelnen Tabellen und der Applikation, mit der der User arbeitet. Dazu eine kleine Übersicht bestehend aus drei Tabellen und zwei Applikationen und dem virtuellen Datenmodell dazwischen.
Dabei unterscheiden wir in die drei Schichten Interface, Composite und Consumption. Dazu in den folgenden Abschnitten mehr Informationen.
Interface
Beschreibt die unterste Schicht des VDM und befindet sich direkt über der Tabelle. Dabei bildet ein Interface-View genau eine Tabelle ab. Im Interface hast du die Möglichkeit die Feldnamen zu normalisieren und kurze Feldnamen in englische sprechende Namen zu überführen. In einem Interface View sollten alle Felder der Datenbank vorhanden sein, um als Grundlage für andere Views zu dienen.
CDS Views aus einem Standard System sind zum Beispiele:
- I_CompanyCode (T001)
Composite
Der Composite View ist eine optionale Schicht im Datenmodell und muss nicht immer zwingend vorhanden sein. Vom Namen her kann man ihn auch mit Interface Views verwechseln. Composite Views führen meist mehrere Tabellen zusammen und stellen die Daten zur Verfügung. In dieser Schitt findet keine Normalisierung der Felder mehr statt, es werden Interface Views als Grundlage verwendet.
CDS Views aus einem Standard System sind zum Beispiele:
- I_MDGovBPFltr (Business Partner Filter für MDG)
Consumption
Der Consumption View beschreibt die letzte Schicht des VDM und ist im Umfang meist auf genau eine Anwendung zugeschnitten. Die Felder sind entsprechend für die Anwendung eingeschränkt und nur benötigte Informationen werden der Anwendung zur Verfügung gestellt. Mögliche Aggregationen sind ebenfalls auf dieser Ebene aktiv, sodass sich eine Wiederverwendung für andere Anwendungen nur selten lohnt (Performance).
Auf dieser Ebene kann auch eine Integration mit BOPF erfolgen, um schreibenden Zugriff und weitere Funktionen für die App zur Verfügung zu stellen.
CDS Views aus einem Standard System sind zum Beispiele:
- C_ServiceEntrySheetWD
CDS Navigator
Wie du oben unter den Beispiel CDS Views siehst, haben wir einmal die Definition der Abhängikeiten dargestellt. In Eclipse kannst du über den View "CDS Navigator" und die Funktion "Dependency Analyzer" Informationen zum Aufbau und der Komplexität des CDS Views erhalten. Von einer überschaubaren Ebene, kann es schnell zu vielen Abhängigkeiten kommen.
View Browser
Der View Browser (F2170) ist eine FIori App und gehört zu den Extensibility Tools. Mit Hilfe dieser App kann man die verschiedenen Ebenen von Views finden und bekommt auch den Freigabestatus geliefert. Die Suche funktioniert über Tabellenfelder, Tabellen oder andere CDS Views die vielleicht Abhängigkeiten haben.
Wenn du nicht weißt, ob es für eine Tabelle einen View gibt, dann kannst du über die App nach passenden Views suchen und das Ergebnis auf "Basic" Views einschränken.
Annotation
Die Views werden an Hand der Namenskonvention und der Inhalte von einander abgegrenzt, zur Wiederfindbarkeit und zum besseren Eindruck können die Views aber noch mit einer zusätzlichen Annotation ausgestattet werden. Die Annotation @VDM bietet verschiedene Werte zum Virtellen Datenmodell und damit kannst du deinen View einordnen.
@VDM.viewType: #CONSUMPTION
Fazit
Das virtuelle Datenmodell zu verstehen ist ein wichtiger Schritt die neue Datenarchitektur in einem S/4 System zu verstehen und wie Anwendungen aufgebaut sind. Die drei Schichten des Datenmodells wirst du in Zukunft immer wieder in Anwendungen finden, vor allem wenn sie mit RAP gebaut wurden.