OData Services mit CDS-Views erstellen, Teil 1

In diesem Blog werden wir diskutieren, welche fachlichen und technischen Änderungen die CDS-Views beim Erstellen von OData-Services verursacht haben. Seitdem SAP seine neue UI-Technologie SAPUI5 eingeführt hat, ist der Begriff OData ein fester Bestandteil der Anwendungsentwicklung geworden, um die Geschäftsdaten im Web sinnvoll zu modellieren und zu konsumieren.

Bisher haben wir die OData-Services in R/3 in der Transaktion SEGW angelegt und die Geschäftslogik des Web-Services in SAP Workbench implementiert. Wie man einen OData-Service anlegen kann und welche Erstellungsmöglichkeiten zur Verfügung stehen, können Sie hier finden.

Im Laufe der Zeit hat SAP die Funktionalitäten und die Tools für die OData-Entwicklung verbessert und erweitert. Die weitreichendsten Änderungen kamen mit der Einführung der neuen Datenbanktechnologie HANA und der Erweiterung der bestehenden ERP-Software-Produktlinie mit S/4HANA. Das war eine grundlegende Änderung auf der Hardware- und Software-Ebene. Selbstverständlich hat die neukonzipierte In-Memory Datenbank HANA von uns ABAP- und Frontend-Entwicklern seinen Tribut gefordert. ABAP-Entwicklung unter SAP HANA folgt nicht mehr dem ressourcenintensiven „Data to Code“-Prinzip, wobei man alle anwendungsrelevanten Daten für Verarbeitung zuerst auf den Application-Server laden muss. Wir können jetzt mit CDS-Views auch die komplexeren Kalkulationen auf der Datenbank-Ebene machen. Dieses Prinzip überwindet den Bottle-Neck zwischen der Datenbank und dem Application-Server und verkürzt die Lese- und Verarbeitungszeiten von komplexen und großen Datenmengen.

Code-to-Data Prinzip bei SAP S/4HANA
Die neue Code-to-Data Prinzip bei SAP S/4HANA

Dieser Paradigmenwechsel hat auch die Entwicklung der OData-Services beeinflusst. Die CDS-Views haben das Erstellen der OData-Services auf der Datenbank-Ebene ermöglicht. Weiterhin kann man jetzt sogar die Benutzeroberflächen auf der Datenbank programmieren! Dadurch kann man sich die Geschwindigkeit der HANA-DB zunutze machen.

Systemanforderungen

Obwohl die CDS-Views grundsätzlich für die HANA-Systeme gedacht sind, stehen sie für Nicht-SAP-DBs und ältere SAP-Systeme zur Verfügung. Die Anforderungen für das Erstellen von OData-Services anhand CDS-Views für SAP-Systeme sind wie folgt:

  • SAP NetWeaver 7.4 SP05
  • SAP NetWeaver 7.50, SP01, oder höher.
  • S/4HANA
  • SAP HANA SPS6
  • SAP Business Suite EHP7 (Suite on HANA)
  • SAP Business Warehouse 7.3

 

ADT & CDS-Annotationen

Die CDS-Views werden nicht im ABAP Workbench programmiert. SAP hat die benötigten Programmiertools für HANA unter den Namen ADT (ABAP Developement Tools) für Eclipse IDE als Plug-Ins zur Verfügung gestellt (https://tools.hana.ondemand.com/#abap). Das heißt nicht, dass man jetzt völlig außerhalb der SAP-Kontext arbeiten muss aber es ist sicherlich eine Vereinfachung für die Neugeneration-Programmierer, die sich bereits während des Studiums mit Eclipse auseinandersetzt haben.

Weiterhin kann man im OData-Service durch die neueingeführten SAP-Annotationen die Darstellung von den Benutzeroberflächen festlegen. Filtereigenschaften von den Tabellen, Draft-Handling, Eingabeprüfungen, semantische Zusammenhänge zwischen Werte und ihre Einheiten uvm. können hier definiert werden. Das heißt, dass die CDS-Annotationen genug Daten liefern, die in der SAP Web IDE die Nutzung der App-Templates ermöglichen. Dadurch kann man mit wenig Programmieraufwand innerhalb wenigen Minuten eine Fiori-Anwendung auf die Beine bringen.

Alles was oben steht, wird nach der Erstellung einer CDS-View mit einer einzigen SAP-Annotation als OData-Service zur Verfügung gestellt: @OData.publish: true. Wenn die CDS-View als Repository Objekt erzeugt wird, kann der generierte OData-Service wie gewöhnt in der Transaktion /IWFND/MAINT_SERVICE gefunden werden.

Obwohl die obengenannten Änderungen uns Entwickler herausfordern, bringen sie die viele Vorteile mit. In dem zweiten Teil des Blogs werde ich die technischen Aspekten erklären, wie die CDS-Views aufgebaut sind und wie man anhand der CDS-View einen OData-Service erzeugen kann.

In dem zweiten Teil dieser Blog-Serie werden wir in die technische Details gehen und zeigen, wie man einen OData-Service mit CDS Views erstellt.

 

Über den Autor

Cem Uzunoglu

Kommentar verfassen