Ingo Biermann
13. Oktober 2022

SAP ABAP CDS Views und SAP HANA CDS Views – Was ist was?

SAP HANA hat viele neue Konzepte modernisiert und überarbeitet, wie u. a. CDS Views. Bei diesem Thema kommen die Begriffe „ABAP CDS Views“ und „HANA CDS Views“ vor. Beide entsprechen zwar im Kern dem gleichen Konzept, jedoch sind sie zwei unterschiedliche Ausprägungen. Mehr zu den Begriffen und ihren Definitionen erfahren Sie hier.

Was sind CDS Views?

Im Grundkonzept von CDS Views können (ähnlich wie ABAP Dictionary Views) vordefinierte SELECT-Abfragen aus einer oder mehreren Datenbanktabellen zur Verfügung gestellt werden. Bei diesem Vorgehen werden die Grundlagen der Datenmodellierung verwendet. Die Ergebnisse dieser Modellierung stehen also in einem gewissen logischen oder wirtschaftlichen Zusammenhang und werden deswegen „Entitäten“ oder „Datenmodelle“ genannt. Durch vordefinierte Datenmodelle können Entwickler komfortabel auf viele zusammenhängende Daten während des Programmierens zurückgreifen.

CDS Basics: Erste Schritte in die Core Data Services (CDS)

Whitepaper: CDS Basics

Erfahren Sie in unserem Whitepaper die Grundidee und die ersten Schritte in die Core Data Services (CDS).

Definition HANA CDS Views

ABAP Dictionary Views bilden seit einigen Jahrzenten Datenmodelle auf der Applikationsebene ab. Seit der Einführung von SAP HANA wurde dieser Grundgedanke grundlegend verworfen. Der Fokus der zukünftigen Datenverarbeitung wird dank des Code Pushdowns immer weiter auf die Ebene der Datenbank verlagert. Durch diese Umstellung entstand die Notwendigkeit einer neuen Datenmodellierung, da ABAP Dictionary Views nur auf der Applikationsebene beschränkt sind. Somit wurden HANA CDS Views erstellt.

ErlSoft_Blogbeitrag_HANA-CDS-Views

Abb. 1: In SAP HANA werden sie als OData-Service dargestellt.

Diese ermöglichen die Definierung von Datenmodelle auf der Ebene der Datenbank, wo sich auch direkt die XS Engine befindet. Aus der technischen Sicht werden die Views in sog. DDL Dateien (Data Definition Language) gespeichert und verwaltet. Als Programmiersprache wird das mächtigere native SQL zur Definierung dieser Views verwendet. In einem anderen Beitrag haben wir Ihnen bereits einen Features-Vergleich zwischen ABAP Dictionary Views und CDS Views gezeigt.

Vorteile HANA CDS Views

Durch die große Individualisierbarkeit der HANA CDS Views sind Sie in der Lage, eigene Queries zu erstellen und diese mit geringer Systembelastung anzupassen. So können Sie Ihre Unternehmensprozesse optimieren ohne dabei hohe Kosten auszugeben, da Sie die CDS kostenlos nutzen können.

Definition ABAP CDS Views

Um die neuen Features unabhängig von einer SAP HANA DB auf ein SAP System ausrollen zu können, wurde eine Variante für den ABAP Stack entwickelt. Diese wurde zum ersten Mal in ABAP 7.40 SP08 eingeführt. Wenn Sie also auf Ihrem Applikationsserver diese Version oder höher besitzen, dann können Sie bereits von den neuen Features profitieren. In der ABAP Dictionary (SE11) können Sie CDS Views aktivieren, welche Sie wie jede andere View im Quellcode mittels einer TYPE-Anweisung verwenden können. Übrigens: Hier wird OpenSQL anstatt natives SQL verwendet, um die Unabhängigkeit in der Auswahl der Datenbank zu gewährleisten.

Doch wird die Datenverarbeitung nicht deswegen auf dem Applikationsserver wie eine ABAP Dictionary View verbleiben? Die Verarbeitung scheint hier zwar auf dem Applikationsserver stattzufinden, jedoch ist dem nicht so. Denn obwohl es die Möglichkeiten beschränkt, ist der Code Pushdown auch hier möglich.

Die Beschränkungen entstehen durch die Eigenheiten und Besonderheiten der Datenbank der diversen Hersteller. So kann der gleiche Befehl auf unterschiedlichen Datenbanken zu unterschiedlichen Interpretationen und Ergebnissen führen (evtl. auch zu Fehlern). Hier entsteht der Bedarf zur weiteren Anpassung bzw. Customizing, um gewünschte Ergebnisse erzielen zu können.

ErlSoft_Blogbeitrag_ABAP-CDS-Views

Abb. 2: Überblick über den Prozess und der Architektur von ABAP CDS Views.

Vorteile ABAP CDS Views

Mit ABAP CDS Views haben Sie den Vorteil, dass Sie diese plattformunabhängig definieren können. Außerdem setzen Sie diese bei der Anwendungsentwicklung ein, wie z. B. in S/4HANA CDS, damit Sie zentrale Transaktionsfunktionen sowie analytische Inhalte für die Report-Erstellung bereitstellen können.

So greifen Sie auf ABAP CDS Views zu

Um nun auf diese Views zugreifen zu können, benötigen Sie folgende Annotation:

@Analytics.dataExtraction.Enabled: true

Wenn das Quellsystem keine HANA Datenbank ist, müssen Sie diese Annotation verwenden:

@Analytics.dataCategory: #CUBE/#FACT/#DIMENSION

In unserem Webinar „ABAP CDS Views Grundlagen“ geben wir Ihnen einen genaueren Einblick in die Thematik.

In diesem Webinar zeigen wir Ihnen, was AMDP und was CDS sind und wann Sie diese nutzen können.

Fazit

Beide Varianten folgen dem gleichen Paradigma: Der Definition einer funktional sehr umfänglichen View sowie dem Code Pushdown. Abhängig von Ihrer IT-Strategie werden Sie sich für eine von beiden entscheiden müssen. Obwohl Sie sich bei den HANA CDS Views letztendlich an einer einzigen Datenbanktechnologie binden, profitieren Sie und Ihrer IT-Abteilung komfortabel von allen bekannten Features des Code Pushdowns. Anders sieht es bei den ABAP CDS Views aus: Hier besitzen Sie die größte Freiheit in den Datenbanken, dennoch sind nicht zu jedem Zeitpunkt alle Features verfügbar, sodass weitere Anpassungen bzw. Aufwände erbracht werden müssen.

Egal, ob Sie sich nun für HANA oder ABAP CDS Views entscheiden: Wir unterstützen Sie bei all Ihren Fragen. Treten Sie dafür einfach in Kontakt zu uns!

Ingo Biermann

Ingo Biermann

Als Management- und Technologieberater unterstütze ich seit mehr als 15 Jahren große und mittelständische Unternehmen in Fragen der IT-Strategie und bin unterwegs in unterschiedlichen SAP-Themen wie SAP S/4HANA, User Experience und SAP Entwicklung.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren

Trotz intensiver IT- und Fachbereichstests wird viel Quellcode produktiv gesetzt, der sofort im ersten Live Szenario in die Brüche geht. Schlimmstenfalls werden noch andere abhängige Anwendungen mit in die Versenkung […]

weiterlesen

Das zentrale Element von Unit Tests sind die verwendeten Testklassen. Diese sollten nicht über Parameter verfügen und sind somit in Ihrer Anwendung und Interpretation eindeutig.

weiterlesen

Nachdem wir bereits in dem vorherigen Beitrag der Serie: Unit Testing Testklassen festgestellt haben, wie genau eine Testklasse aussieht, demonstriere ich das ganze anhand eines simplen Beispiels nun im Einsatz.

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