Ingo Biermann
9. Januar 2018

Features-Vergleich: ABAP Dictionary Views vs. CDS Views

"ABAP Dictionary Views waren die ersten Views, welche ich während meines Karrierenstarts kennengelernt habe." Wahrscheinlich gilt diese Aussage nicht nur für mich, sondern auch für viele andere Bewohner der Welt von SE80. In der altbekannten SE11 werden oft noch ABAP Dictionary Views für unterschiedliche Reports definiert.

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.

Mit SAP HANA jedoch ändert sich dieser Grundsatz. Wie bereits schon in unserer mindsquare KnowHow-Datenbank beschrieben, wurde mit SAP HANA die sog. Core Data Services (oder kurz: CDS) seit ABAP 7.40 SP05 im Frühjahr 2014 zum ersten Mal eingeführt. Wenn Sie den Beitrag noch nicht kennen, können Sie diesen unter folgendem Link finden. Auch wenn im verlinktem Artikel hauptsächlich die HANA CDS beschrieben wird, so existieren viele Überschneidungen zu ABAP CDS.

CDS Views – Das Paradigmenwechsel

Mit CDS gehen auch die Core Data Services Views (kurz: CDS Views) einher. Es existieren zwei Ausprägungen von CDS Views: als ABAP CDS Views und HANA CDS Views. In diesem Artikel werde ich jedoch nicht in die weitere Differenzierung beider Versionen eingehen. Diese werden in einem anderem Beitrag näher erläutert. Besonders seit SAP HANA 1.0 SPS 10 zeigt das Softwarehaus in Walldorf mithilfe neuer Features die Entschlossenheit, dass mehr Fokus auf CDS gelegt wird (mehr dazu im offiziellen Blog der SAP).

Doch was hat die SAP nun dazu bewegt, soviele Ressourcen in die Hand zu nehmen und in diese Entwicklung zu investieren? Die Antwort hierzu ist nahezu simpel wie auch genial: Bisher galt das Credo, dass mithilfe von gut definierten SQL-Abfragen ein großes Datenpaket von der Datenbank abholt und auf der Applikationsebene in ein für uns interessantes Ergebnis verarbeitet wird. Nun folgt die SAP mithilfe von HANA ein neues Paradigma. Es sollten möglichst viele Kalkulationen bereits auf der Datenbank geschehen, sodass schon nahezu fertige Ergebnisse geliefert werden. Der Vorteil? Deutlicher Performancegewinn trotz gleichen Aufwands des Entwicklers. Das Stichwort? Code Pushdown. Und mithilfe welcher Komponene kann das erreicht werden? Oft mit CDS Views.  Mehr zur Performanceoptimierung können Sie aus folgendem Beitrag entnehmen.

Lange Rede kurzer Sinn: Was sind nun die technischen Unterschiede zwischen diesem neuen Ansatz und dem Altbekannten?

Erstellung der View

ABAP Dictionary Views werden über die SE11 bzw. dem ABAP Data Dictionary (DDIC) definiert. Anders sieht es bei CDS Views aus: Da spezifische DDL source files erzeugt werden müssen, wird die Entwicklungsumgebung Eclipse benötigt.  Sie können im folgenden Beitrag unter Schritt 3 “Eclipse einrichten” nachlesen, wie Eclipse eingerichtet wird.

ABAP CDS View Grundlagen

ABAP CDS View Grundlagen

Durch die Einführung der SAP HANA DB soll die Datenmodellierung innerhalb eines SAP-ERP-Systems erweitert werden. Wir zeigen Ihnen was Sie beachten müssen.

Datenbanken

Sowohl ABAP Dictionary Views als auch CDS Views sind mit allen Datenbanken kompatibel. Es folgt nun ein kurzer aber selbstverständlicher Hinweis: Die vorherige Aussage gilt nicht für HANA CDS Views. Es wird die XS Engine benötigt, welche nur in Kombination mit einer HANA DB erhältlich ist.

UNION Befehl

Views werden unter anderem dazu eingesetzt, um oft verwendete Selektionen abzuspeichern, welche Joins über mehrere Tabellen enthalten. Durch die Verwendung von CDS Views können auch kompliziertere Joins abgedeckt werden. Ein besonderer Befehl hierbei stellt UNION dar, mit welchem die Ergebnismengen zweier SELECT Abfragen kombiniert werden können.

UNION Befehl - Beispiel

UNION Befehl – Beispiel

Nested Views

Wie bereits im Absatz vorher beschrieben, bestehen Views aus den Ergebnissen von vorbereiteten/gespeicherten Selektionsabfragen. CDS Views tragen aber diesen Gedanken auf die nächste Ebene: Es können “Views von Views” erstellt werden. Dies bedeutet nichts weiteres, als dass nicht Spalten aus einzelnen Tabellen selektiert werden können, sondern auch aus bereits bestehenden Views.

Nested Views

Nested Views

Funktionen

Nun nähern wir uns eines der interessantesten Features von SAP HANA und auch den größten Unterschied zwischen ABAP Dictionary Views und CDS Views: Es können Funktionen direkt auf Datenbankebene verwendet werden. Funktionen innerhalb von CDS Views erlauben es unterschiedliche Operationen auf ein (Teil-)Ergebnis anwenden zu können bevor es in Applikationsebene kommt. Es mag vielleicht unspektakulär klingen, von daher folgen nun wenige Beispiele zur Erläuterung:

Mittels der Funktion DATS_DAYS_BETWEEN(date1,date2)  lässt sich z.B. die Menge der Tage zwischen date1 und date2 sehr komfortabel berechnen. Ein weiteres nützliches Beispiel wäre die Funktion CURRENCY_CONVERSION( p1 => a1, p2 => a2, … ). Mittels dieser lassen sich beispielsweise in einem Anwendungsszenario unterschiedliche Warenwerte direkt in eine gemeinsame Zielwährung konvertieren, um somit Vergleichbarkeit zu schaffen. An dieser Stelle erinnere ich nochmals: Diese Operationen/Kalkulationen finden bereits in der Datenbank statt!

Fazit

Wie Sie hoffentlich erkennen können, ist dieses Thema nicht gerade trivial. Wenn es besonders um die Frage geht, wie die HANA DB verwendet werden muss, um den oft nachgesagten Performancegewinn ausschöpfen zu können, rücken die Core Data Services und dessen Views immer weiter in den Fokus. Um nun zurück auf den Titel dieses Beitrages zu kommen, hoffe ich, dass meine Erläuterungen eindeutig genug sind, um die CDS Views als klare Sieger hervorzuheben! Ich bin weiterhin gespannt, wie die SAP dieses Produkt in Zukunft noch weiterentwickeln wird.

Konnte ich Ihr Interesse wecken und Sie benötigen zufällig eine Beratung bezüglich den CDS Views? Dann sprechen Sie uns ruhig an!

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.

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

SAP Hana lässt Entwicklern eine Vielzahl an Möglichen Vorgehensweisen zur Lösung ihrer Probleme. In diesem Blogartikel gebe ich Ihnen eine kurze Aussicht darauf, was für Sie wichtig ist zu Unterscheiden […]

weiterlesen

Die Erläuterung eines jeden Akronyms (Abkürzung) beginnt meist mit dessen Aufschlüsselung, um so aus den einzelnen Begriffen die ursprüngliche Bedeutung schlusszufolgern. In diesem Fall jedoch entsteht folgendes Horrendum des IT-Berater Fachjargons.

weiterlesen

Der Start eines SAP Master Data Governance (MDG) Projekts ist nicht immer leicht. Es gibt so viele Informationen zu beachten und zu analysieren, dass der Überblick schnell verloren gehen kann. […]

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