Seit SAP Netweaver 7.4 SP05 besteht die komfortable Möglichkeit CDS Views in Eclipse zu erstellen und per Annotation auf dem SAP Gateway zu veröffentlichen. Mithilfe der verfügbaren Templates in der SAP WebIDE, lässt sich zu den CDS Views ganz einfach eine Oberfläche generieren. So entsteht mit wenigen Zeilen Code eine vollständige SAP Fiori Applikation. Doch die Nachteile werden bei dem Versuch, die so generierte Anwendung zu erweitern, schnell deutlich: Vergeblich sucht man im Projekt nach den bekannten XML Views oder JavaScript Controllern.
Im Folgenden wird beschrieben, wie sich ein CDS View mit zugehöriger Metadata Extension in ein bestehendes SEGW Projekt integrieren lassen. Anschließend werden Standard UI5 Smart Controls in einer klassischen UI5 Anwendung verwendet, um diese Daten zu konsumieren. Die dabei entstehende UI5 Anwendung, verbindet die Vorteile der CDS Views mit denen, der manuellen Entwicklung.
Anwendungsfall
Für das vorliegende Beispiel wird eine App im List Report Layout verwendet. Durch nachträgliche Anpassungen wird die App mit XML und JavaScript personalisiert.
Bild 1: Finale List Report Applikation
Erstellen der CDS Views
Basis des CDS Consumption Views ‚ZMASTERSEARCH‘ sind verschiedene Interface Views. Da das Thema der Anlage und Struktur von CDS Views hinreichend beschrieben ist, wird an dieser Stelle nicht weiter darauf eingegangen.
Bild 2: Auszug des Consumption Views ZMASTERSEARCH, der im Folgenden für unsere Applikation verwendet wird.
Bild 3: Metadata Extension für ZMASTERSEARCH
Erstellen des SEGW Projekts
Ein bestehendes SEGW Projekt wird um den Consumption View erweitert:
Bild 4: SEGW
Bild 5: Auswahl des CDS Views
Bild 6: SEGW und CDS
Nach dem Neugenerieren des Projekts kann die Entität über den Service erreicht werden.
Bild 7: Erfolgreicher Read auf den CDS View
Die Consumption View ist damit im SEGW Projekt integriert und kann in der UI5 Anwendung verwendet werden.
Annotation Service
Für die spätere Verwendung in der UI5 Anwendung müssen neben den Daten auch die Annotations vom Gateway zur Verfügung gestellt werden. Nachdem die CDS View in die SEGW integriert und das Projekt aktiviert wurde, erscheint unter den Laufzeitartefakten das Annotation Model.
Bild 8: Runtime Artifacts
Über den SAP Gateway Client können die Annotations angezeigt und mit einem Browser heruntergeladen werden. Dafür wird die Transaktion /N/IWFND/MAINT_SERVICE aufgerufen und der Gateway Client gestartet.
Bild 9: Katalog Service
Bild 10: Annotation
https://:/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Annotations(TechnicalName=’_ANNO_MDL‘,Version=’0001′)/$value
Die Annotations können heruntergeladen werden, um sie lokal zu verwenden.
Erstellen der UI5 Applikation
Zu Beginn der Entwicklung bietet es sich an, ein aktuelles Template aus der WebIDE zu laden.
Bild 11: Templates in der WebIDE
In der neuen Anwendung wird als erstes die manifest.json angepasst, sodass neben den Metadaten auch Zugriff auf die Annotations besteht.
Bild 12: Angepasste manifest.json
Annotations- und Metadaten werden auf bekanntem Weg in die Applikation eingefügt.
Ab diesem Punkt hat man eine voll funktionsfähige UI5 List Report Anwendung, die über alle im Template und CDS View definierten Funktionen verfügt.
Konsum der CDS Views in der Applikation
Der View der UI5 Anwendung bekommt eine Smart Filter Bar und ein Smart Table Control. Beide Controlls erhalten das Entityset zmastersearch zugewiesen.
Die sap.m.Table innerhalb der SmartTable sorgt in diesem Fall für das farbliche Hervorheben der Ergebnistypen (highlight=“{path:’type‘, formatter:‘.formatter.lineHighlighter‘}“).
Bild 15/16: Angepasste Smart Controls im View
Anschließend kann die Smart Table mit den üblichen Mitteln angepasst werden. In diesem Beispiel wurde der Zeilentyp manipuliert und entsprechende Handler eingefügt.
Autor: Tobias G.