Core Data Services: Das View-to-View-Paradigma
Core Data Service Views sind eine zentrale Technologie im S/4HANA Technologiestack. Der View-to-View-Ansatz ist hier in gewisser Weise ein Divide- & Conquer-Ansatz, realisiert durch die ABAP Core Data Services. Es geht also darum, eine komplexere Aufgabenstellung in kleinere Teilprobleme zu zerlegen, sodass beim Zusammensetzen der Teillösungen das ursprüngliche Problem ebenfalls gelöst wird. Jedes Teilproblem behandeln wir dabei mit einer eigenen View. Lassen Sie uns in diesem Blogbeitrag einmal den View-to-View-Ansatz anhand eines kleinen Beispiels demonstrieren. Also auf geht’s…
Aufgabenstellung: Das Gesamtproblem
Wir interessieren uns für die Entwicklung des durchschnittlichen Kaufpreises der Flugbuchungen von Kunden, die das 30.te Lebensjahr noch nicht überschritten haben, gestaffelt nach Fluggesellschaften und Jahren. Wir erwarten also eine Aufstellung, die pro Jahr und Gesellschaft genau diese Kennzahl ermittelt – und zwar in der Landeswährung zum Kurs des Stichtages der Berechnung.
Umsetzung: Zerlegung in Teilprobleme
Bei der Strukturierung der Aufgabenstellung halten wir uns an das „Virtuelle Datenmodell“, das die SAP mit den CDS Views und besonders S/4HANA eingeführt hat. Wir identifizieren folgende Teilprobleme, die wir in einer Kette von CDS-Views umsetzen:
- Zunächst definieren wir die Struktur der „Consumption-View“, die wir als API nach außen einsetzen wollen. Ihre genaue Implementierung lassen wir zunächst offen und vervollständigen sie in Schritt 5.
- Anschließend bestimmen wir die Anzahl an Tagen, die in der Zeitspanne zwischen Geburtsdatum und mitgelieferten Stichtag liegen. Buchungen mit ungültigen oder leeren Geburtsdaten, ignoriert die View. Ferner wird der Buchungspreis zum aktuellen Stichtag berechnet.
- Ist dies vollbracht, berechnen wir pro Flug die Anzahl an Passagieren im Alter von 30 oder jünger, sowie den Gesamtkaufpreis in Landeswährung der Gesellschaft. Wir machen es hier uns ein wenig einfacher und betrachten nur das Alter in Tagen. Dies erspart uns an dieser Stelle, die ansonsten notwendige Kalenderberechnungen.
- Gestaffelt nach Jahren, aggregieren wir nun die Anzahl der Passagiere und den jeweiligen Umsätze der Fluggesellschaften. Hierbei nutzen wir eine weitere View für die gewünschten Zeitintervalle.
- Schließlich bestimmen wir die jeweiligen Quotienten, um letztendlich das Ergebnis an die konsumierende View zu liefern.
In diesem halbtägigen Online-Learning erhalten ABAP-Entwicklerinnen und -Entwickler eine Einführung in die Grundlagen von ABAP Core Data Services (CDS). Sie bekommen alle grundlegenden Informationen rund um das neue S/4HANA-Programmiermodell vermittelt und werden befähigt, selbst CDS Views zu erstellen.
Hieraus ergibt sich ein CDS-Stack von vier Views, der auf der SAP-Buchungstabelle „sbook“ aufbaut und den Sie bspw. in ABAP-Programmen sehr einfach über Open-SQL verwenden können. Die notwendigen Aggregationen, Konvertierungen und Berechnungen werden vollständig in der Datenbank ausgeführt, wodurch der Code Pushdown realisiert wird.
Nutzen der CDS-Hierarchie
Das oben beschriebene Vorgehen hat verschiedene Vorteile:
- Sie können die Logik an zentraler Stelle anpassen und alle Programme erhalten immer die richtigen Daten aus den SQL-Abfragen.
- Für andere Anwendungen können Sie neue Consumption-Views als oberste Ebene definieren, um andere Daten anzuzeigen, aber die gleiche Logik zu nutzen.
- Mit weiteren Views können Sie sich auf die bestehenden Berechnungen beziehen und Ihr Datenmodell erweitern.
Starten Sie selbst gerade mit CDS Views oder nutzen diese schon eine Zeit lang? Sprechen Sie uns gern direkt an oder hinterlassen einen Kommentar, wenn Sie Fragen haben oder Unterstützung benötigen.
ABAP CDS Entwickler
Spätestens mit der S/4HANA-Migration kommen Unternehmen um ABAP Core Data Services (ABAP CDS) als neues Programmiermodell nicht herum. Da SAP S/4HANA auf CDS in Form des virtuellen Datenmodells basiert, müssen Ihre ABAP-Entwicklerinnen und -Entwickler in der Lage sein, CDS sinnvoll anzuwenden u ...