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 Entwickelnde komfortabel auf viele zusammenhängende Daten während des Programmierens zurückgreifen.
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.
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.
Vorteile ABAP CDS Views
Sie haben den Vorteil, dass Sie diese Views 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 unserer „ABAP Core Data Services Grundlagen- und Entwicklerschulung“ geben wir Ihnen einen genaueren Einblick in die Thematik.
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!
FAQ
Was sind die Hauptunterschiede zwischen HANA CDS Views und ABAP CDS Views?
HANA CDS Views nutzen natives SQL und sind für SAP HANA optimiert, während ABAP CDS Views OpenSQL verwenden und plattformunabhängig sind.
Welche Vorteile bieten HANA CDS Views?
Sie ermöglichen eine hohe Individualisierbarkeit und optimieren Prozesse mit geringer Systembelastung, da sie direkt auf der Datenbank ausgeführt werden.