Willkommen zum dritten Teil unserer Blogserie über ABAP RAP. In den ersten beiden Teilen haben wir verschiedene Programmiermodelle von ABAP besprochen, ABAP RAP kennengelernt, eine Vorgehensweise für unser Szenario entworfen und diese in sieben Schritte unterteilt. Außerdem haben wir uns die ersten beiden Schritte unserer Lösung angesehen. Falls Sie unsere vorherigen Blogs noch nicht gelesen haben, empfehlen wir Ihnen, das zuerst nachzuholen, das Szenario zu verstehen und die ersten beiden Schritte wie hier beschrieben umzusetzen.
Nicht alle dritten Teile sind schlecht
Credit: Between two ferns
In diesem Beitrag besprechen wir den dritten und vierten Schritt:
Anlegen eines Pakets zur Ablage der Projektressourcen.
Anlegen von drei Tabellen samt einem Datenelement, das tabellenübergreifend verwendet wird.
Mitarbeiterinformationen: zur Ablage der Basisinformationen über einen Mitarbeiter.
Beschäftigungsinformationen: zur Ablage von Beschäftigungsbestandteilen wie Eintrittsdatum und Gehalt.
Positionsinformationen: zur Ablage positionsbezogener Informationen (wird als Wertehilfe- bzw. Prüftabelle verwendet).
Anlegen eines CDS Interface View, um eine Basissicht ohne umfangreiche Informationen zu erzeugen, die von verschiedenen Services genutzt werden kann.
Anlegen eines CDS Projection View, der eine Teilmenge der Elemente des CDS Interface View bereitstellt. Er ist serviceagnostisch.
Anlegen einer Metadata Extension für UI-Elemente sowie Anlegen von Behavior Definition und Projection zur Definition der auf dem Service möglichen Aktionen. Beispiel: Create, Update, Delete, Determination usw.
Anlegen der Behavior Implementation, um die Geschäftslogik zu Aktionen wie Validation, Action und Determination zu schreiben.
Anlegen des Binding Service zur Definition des vom Service genutzten Protokolls. Beispiel: OData V2 - UI, OData V2 - WebAPI usw.
Bereitstellen des Service.
Überblick
Anlegen des CDS Interface View
Anlegen des CDS Projection View
Bitte werfen Sie unbedingt einen Blick in das GitHub-Repository.
Anlegen des CDS Interface View
Bevor wir uns das Anlegen von Interface Views ansehen, müssen wir verstehen, was sie bedeuten und welchen Zweck sie erfüllen. Also los!!
In CDS (Core Data Services) sind Interface Views jene Views, die auf Datenbanktabellen aufsetzen. Sie sollen nichts Komplexes tun. Ein einfacher Interface View dient dazu, Daten aus einer einzelnen Datenbanktabelle zu selektieren, und nimmt keine Änderung oder Berechnung an einer Datenbanktabelle vor.
Zweck des Interface View:
Er dient dazu, die Datenbanktabelle in Form eines CDS View abzubilden.
Er hilft, die technischen Namen einer Datenbanktabelle in allgemein verständliche, lesbare Namen zu überführen.
Composition und Association zwischen verschiedenen Interface Views können angelegt werden.
Nachdem wir nun Interface Views kennengelernt haben, sehen wir uns direkt an, wie man einen anlegt.
Klicken Sie mit der rechten Maustaste auf das erstellte Paket und gehen Sie zu New → Other ABAP Repository Object
Suchen Sie nach Core Data Services und wählen Sie Data Definition. Klicken Sie auf Next
Vergeben Sie einen passenden Namen und eine Beschreibung für den Interface View und klicken Sie auf Next → Finish.
Sie erhalten ein Gerüst für diesen Interface View und können den untenstehenden Code eintragen.
Hinweis: Es wird drei Interface Views geben, einen für jede Tabelle, die wir im vorherigen Blog angelegt haben, damit sie in der weiteren Entwicklung genutzt werden können.
Anlegen des Projection View
Sehen wir uns nun an, wie man einen Projection View anlegt.
Ein Projection View dient dazu, nicht benötigte Felder auszublenden und nur die erforderlichen Felder anzuzeigen. Das schafft Flexibilität bei der Nutzung des Service, da dasselbe Business Object erweitert werden kann.
Projection Views sind serviceagnostisch, das heißt, für unterschiedliche Services müssen unterschiedliche Projections angelegt werden. Zum Beispiel legen wir zwei Services an, einen für HR und einen für den HR Manager, und für jeden davon haben wir eine eigene Projection.
Klicken Sie mit der rechten Maustaste auf das erstellte Paket und gehen Sie zu New → Other ABAP Repository Object
Suchen Sie nach Core Data Services und wählen Sie Data Definition. Klicken Sie auf Next
Vergeben Sie einen passenden Namen und eine Beschreibung für den Projection View und klicken Sie auf Next
Wählen Sie einen Transportauftrag, gehen Sie zum nächsten Schritt und wählen Sie ‘Define Projection View’ → Finish
Fügen Sie zum Schluss den untenstehenden Code für den Projection View hinzu
Hinweis: Insgesamt wird es vier Projection Views für zwei verschiedene Datenbanktabellen geben.
Damit kommen wir zum Ende dieses Blogteils. Wir haben den dritten und vierten Schritt unserer Lösung abgeschlossen. Legen wir hier eine Pause ein, um diese Schritte besser zu verdauen. In diesem Blogbeitrag haben wir zwei weitere Schritte unseres praktischen Einstellungsszenarios umgesetzt. Außerdem haben wir Einsatz und Anwendung von Interface View und Projection View verstanden.
In den kommenden Teilen unseres Blogs lernen wir Behavior Definition, Behavior Projection und Behavior Implementation kennen. Bleiben Sie dran und lernen Sie weiter mit uns.
Das war es fürs Erste, wir setzen unsere Lernreise zu ABAP RAP bald fort. Bis dahin: auf Wiedersehen und viel Freude beim Lernen!!
Moment, haben Sie vergessen, in das GitHub-Repository zu schauen??
Keine Sorge, das lassen wir nicht zu.
Hier ist der Link für Sie. Gehen Sie einfach dorthin, verstehen Sie jeden Schritt klarer und haben Sie Freude daran!!