Johannes Vößing
29. Oktober 2020

Core Data Services: Das View-to-View-Paradigma

coding code program compute coder develop developer development

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.

Beitragsbild-Wie Sie Ihre SAP-Systemlandschaft optimal auf S_4HANA vorbereiten
In diesem Webinar erfahren Sie, welche Technologien der SAP für der Umstieg auf S/4HANA wirklich wichtig sind und wie Sie das volle Potenzial von S/4HANA ausschöpfen.

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:

  1. 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.

    Wir definieren die Struktur der „Consumption-View“

    Wir definieren die Struktur der „Consumption-View“.

  2. 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.

    Wir berechnen die Tage zw. Geburtsdatum und mitgelieferten Stichtag

    Wir berechnen die Tage zw. Geburtsdatum und mitgelieferten Stichtag

  3. 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.

    Wir berechnen die Anzahl an Passagieren <20J. & den Gesamtkaufpreis

    Wir berechnen die Anzahl an Passagieren <30J. & den Gesamtkaufpreis

  4. 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.

    Wir nutzen eine weitere View für die gewünschten Zeitintervalle.

    Wir nutzen eine weitere View für die gewünschten Zeitintervalle.

  5. Schließlich bestimmen wir die jeweiligen Quotienten, um letztendlich das Ergebnis an die konsumierende View zu liefern.
Wir bestimmten den Quotienten und liefern das Ergebnis an die View.

Wir bestimmten den Quotienten und liefern das Ergebnis an die View.

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

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 ...

Johannes Vößing

Johannes Vößing

Mein Name ist Johannes Vößing. Als SAP Consultant genieße ich die großartigen Möglichkeiten - immer wieder aufs Neue - Faszination, Leidenschaft und Professionalität in den verschiedensten Projekten zu vereinen, um diese letztendlich zum Erfolg zu führen.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren

Was bedeutet eigentlich der Wechsel auf HANA für die ABAP-Entwicklung? S/4HANA löst immer mehr die alte SAP Business Suite ab. Der Support dieser läuft nur noch bis 2027. Damit steht […]

weiterlesen

Das neue SAP ERP System S/4HANA rückt für viele Unternehmen zur Zeit in greifbare Nähe. Viele sind in der Planung der Roadmap, einige in der Vorbereitung und wenige bereits im […]

weiterlesen

CDS Views (Core Data Services) sind virtuelle Programmiermodelle, die bei der Programmierung Daten nicht physisch speichern. Zudem stellen sie Entwickelnden bei der Programmierung Informationen zur Verfügung. Somit greifen sie mit […]

weiterlesen

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Alexander Koessner-Maier
Alexander Kössner-Maier Kundenservice