Ein praktischer Leitfaden für ABAP RAP: Building Base

Von Basant Singh

Ein praktischer Leitfaden für ABAP RAP: Building Base

Von Basant Singh

Hallo Technophile!!

Willkommen zum zweiten Teil unserer Blog-Serie über ABAP RAP (ABAP RESTful Application Programming Model). Im ersten Teil (hier besuchen) haben wir uns mit den verschiedenen Programmiermodellen von ABAP beschäftigt und RAP und seine Schichten kennengelernt. In diesem Teil werden wir uns ein Entwicklungsszenario ansehen, das Ihnen helfen wird, RAP besser zu verstehen und zu nutzen. Aber Moment mal, haben Sie Ihre Entwicklungsumgebung eingerichtet?

Für diejenigen, die es noch nicht kennen, hier die Link. Befolgen Sie einfach die Anweisungen und machen Sie es fertig.

Hinweis: Im folgenden Abschnitt wird davon ausgegangen, dass Ihre Grundeinrichtung bereits vorhanden ist!!

Nun, da Sie wissen, was ABAP RAP ist und ein Basis-Setup eingerichtet haben, wollen wir uns mit einer praktischen Anwendung befassen und die damit verbundenen technischen Aspekte verstehen.

Haftungsausschluss: Wir werden uns ein End-to-End-Szenario ansehen und den Entwurf, die Architektur und den Entwicklungsablauf verstehen. Natürlich wollen wir nicht einfach losziehen, ohne zu wissen, was wir tun wollen. Wir werden also ein kleines Szenario für den Ruhestand einstellen, einen Lösungsentwurf besprechen und dann mit der entsprechenden Umsetzung beginnen.


Szenario

Wir haben ein Einstellungsszenario, in dem die Personalabteilung die Berechtigung hat, Mitarbeiterdaten anzulegen, wenn diese noch nicht vorhanden sind, oder die Details für einen vorhandenen Mitarbeiter zu aktualisieren. Der HR-Manager hat die Berechtigung, den Status von eingestellten oder aktualisierten Mitarbeitern als aktiv oder inaktiv einzustufen. Letzterer ist auch in der Lage, bestimmte Informationen von Mitarbeitern aus den von der Personalabteilung bereitgestellten Datensätzen zu löschen und zu aktualisieren.

Neben den Operationen zum Erstellen, Aktualisieren und Löschen (die automatisch implementiert werden, da wir ein verwaltetes Szenario implementieren), werden wir Folgendes implementieren:

  1. Bestimmung - Auf der Grundlage der Position eines Mitarbeiters wird sein Gehalt hinzugefügt oder aktualisiert
  2. Validierung - Überprüfen Sie das Alter eines Mitarbeiters anhand seines Geburtsdatums; es sollte größer oder gleich 18 Jahre sein.
  3. Aktion - Der Personalleiter kann den Status eines Mitarbeiters als aktiv oder inaktiv festlegen, was einer Einstellung bzw. einem Ausscheiden entspricht.

Damit Sie sich ein besseres Bild davon machen können, wie unsere Anwendung aussehen wird, sehen Sie hier die Vorschau der Fiori UI-Anwendung:

HR

Personalleiter

Ist es nicht erstaunlich zu wissen, dass man nur wenig programmieren muss und trotzdem so coole Anwendungen entwickeln kann!!!

Zu befolgender Ansatz

Lassen Sie uns dieses Szenario in kleinere Teile aufteilen und jeden Teil nacheinander umsetzen. Bei der Analyse können wir die folgenden Schritte identifizieren:

  1. Erstellung eines Pakets zur Speicherung von Projektressourcen.
  2. Erstellung von drei Tabellen zusammen mit einem Datenelement die in diesen Tabellen verwendet wird.
    1. Mitarbeiterinformationstabelle: zum Speichern grundlegender Informationen über einen Mitarbeiter.
    2. Tabelle mit Beschäftigungsinformationen: zum Speichern von Beschäftigungskomponenten wie Eintrittsdatum und Gehalt.
    3. Positionsinformationstabelle: zum Speichern von positionsbezogenen Informationen (diese wird als Wertehilfe/Prüftabelle verwendet).
  3. Erstellung einer CDS-Schnittstellensicht zur Erstellung einer Basisansicht ohne umfangreiche Informationen, die von verschiedenen Diensten genutzt werden kann.
  4. Erstellung einer CDS-Projektionsansicht, die ein Unterelement der CDS-Schnittstellensicht darstellt. Sie ist dienstunabhängig.
  5. Erstellung einer Metadatenerweiterung für UI-Elemente und Erstellung einer Verhaltensdefinition und -projektion zur Definition der möglichen Aktionen für den Dienst. Beispiel: Erstellen, Aktualisieren, Löschen, Bestimmung usw.
  6. Erstellung einer Verhaltensimplementierung zum Schreiben der Geschäftslogik in Bezug auf Aktionen wie Validierung, Aktion und Bestimmung.
  7. Erstellung eines Binding-Dienstes zur Definition des vom Dienst verwendeten Protokolls. Beispiel - OData V2 - UI, OData V2 - WebAPI usw.
  8. Legen Sie den Dienst offen.

Nachdem wir uns nun die einzelnen Schritte angesehen haben, wollen wir mit ihnen beginnen Entwicklung. Wir gehen davon aus, dass Sie ein Grundverständnis von ABAP RAP und seinen Schichten haben. Wenn Sie sich nicht sicher sind, empfehlen wir Ihnen, unsere früheren Blog.


Datenbank-Design

Hier ist die PositionInfo-Tabelle eine unabhängige Tabelle und dient als Kontroll-/Wert-Hilfstabelle, während die Beschäftigungstabelle eine Zusammensetzung für die Tabelle Mitarbeiter.

Es ist an der Zeit, mit der Erstellung unseres End-to-End-Szenarios zu beginnen. Der erste Schritt besteht darin, ein Paket zu erstellen.

  1. Erstellen Sie ein Paket. Ein Paket ist erforderlich, damit alle Entwicklungen/Projektressourcen unter einem Namen gespeichert werden können. Es funktioniert wie ein Ordner, der alle erforderlichen Entwicklungen eines bestimmten Projekts zusammenhält.
  • Öffnen Sie den Projektexplorer und klicken Sie mit der rechten Maustaste auf "Favorite Packages". Wählen Sie Neu→ ABAP-Paket.
  • Geben Sie einen Namen und eine Beschreibung an und markieren Sie "Zu den bevorzugten Paketen hinzufügen". So bleibt Ihr Paket ganz oben, wo Sie es leicht erreichen können.
  • Klicken Sie auf Weiter und geben Sie "Softwarekomponente" an. Gehen Sie zum nächsten Schritt und erstellen oder wählen Sie einen Transportauftrag für das Paket und klicken Sie auf Fertig stellen. Ihr Paket wird nun erstellt.
  1. Wir werden nun Datenbanktabellen und ein Datenelement erstellen.

Datenelement erstellen

  1. Um ein Datenelement zu erstellen, klicken Sie mit der rechten Maustaste auf das erstellte Paket und wählen Sie Neu→ Anderes ABAP Repository-Objekt→ Datenelement.
  1. Geben Sie ihm einen Namen, ZRAP_E2E_ID, und eine passende Beschreibung.
  1. Klicken Sie auf Weiter, geben Sie eine Transportanfrage ein und klicken Sie dann auf Fertig stellen. Sie erhalten einen Bildschirm, in dem Sie Informationen zum Datentyp eingeben können (siehe unten).
  1. Speichern und Aktivieren.

Hinweis: Für unser Szenario müssen wir drei Tabellen erstellen. Im folgenden Abschnitt sehen Sie die Schritte für die Erstellung einer der Tabellen, die Sie auch für die beiden anderen Tabellen befolgen können. Bei Unklarheiten können Sie sich an unsere GitHub-Repository wobei die Schritte für die Erstellung aller Tabellen einzeln angegeben werden.

Tabelle mit Mitarbeiterinformationen

In dieser Tabelle werden Details über einen Mitarbeiter wie Mitarbeiter-ID, Vor- und Nachname, Geburtsdatum usw. gespeichert.

  1. Um diese Tabelle zu erstellen, klicken Sie mit der rechten Maustaste auf das erstellte Paket und wählen Sie Neu→ Anderes ABAP Repository-Objekt→ Datenbanktabelle.
  1. Geben Sie ihm einen Namen, ZRAP_E2E_AEMP, und eine passende Beschreibung.
  1. Klicken Sie auf Weiter, geben Sie eine Transportanfrage ein und klicken Sie dann auf Fertig stellen. Sie erhalten einen vordefinierten Code-Umriss, in den Sie den unten stehenden Code eingeben können.
  1. Speichern und Aktivieren.

Anmerkungen wie @AbapCatalog.deliveryClass, @AbapCatalog.dataMaintenance sind Attribute der Tabelle, ähnlich denen, die bei der Erstellung der Tabelle über die GUI angegeben werden.

Im RAP wird ein Kombination von ABAP CDS und SQL werden für die Erstellung einer Tabelle verwendet.

Tabelle "Beschäftigungsinformationen":

Tabelle mit Positionsinformationen

Wir haben die ersten beiden Schritte unserer Lösung abgeschlossen. Lassen Sie uns hier eine Pause einlegen, damit wir uns nicht mit zu vielen Informationen auf einmal belasten. In diesem Blogbeitrag haben wir die Architektur, das Datenbankdesign, die Erstellung des Pakets und die Erstellung der Tabellen für unser Szenario gesehen.

In den kommenden Teilen unseres Blogs werden wir mehr über CDS-Ansichten (Schnittstellen- und Projektionsansicht), Verhaltensdefinition und Implementierung erfahren, während wir sie zur Lösung des aktuellen Szenarios verwenden. Es ist empfehlenswert, alle Schichten von RAP und die Elemente, über die wir in diesem Teil gesprochen haben, zu verstehen. Das war's für den Moment, wir werden unsere Reise des Lernens von ABAP RAP bald fortsetzen. Bis dahin, auf Wiedersehen und viel Spaß beim Lernen!!

Je effizienter die Digitalisierung und der Datenfluss sind, desto höher sind der Unternehmenswert und die Wettbewerbsfähigkeit.

Möchten Sie ein INTEGRTR werden?

DE