This is a test message to test the length of the message box.
Login
|
ABAP RAP Contact App
Erstellt von Software-Heroes

Recycling Heroes - Kontakt App

266

In diesem Tutorial modellieren wir eine RAP Anwendung von der Datenbank, über das Modell und das UI, bis zum Deployment und Bereitstellung im System. Damit solltest du den vollen Entwicklungszyklus für modernen ABAP Cloud Anwendungen lernen.

Werbung


Heute gehen wir Schritt für Schritt durch den Prozess der Anwendungserstellung, von der Modellierung, über das Deployment bis zu den Berechtigungen.

 

Einleitung

Vor einer Weile sind wir mit der YouTube Serie zu den Recycling-Heroes gestartet und heute ist ein Teil der Reise abgeschlossen. Die Kontakt App wurde nun fertiggestellt und wir haben dazu noch einmal ein vollständiges Video zum Bau veröffentlicht. Dabei wird dieser Artikel das Video begleiten, um auf relevante Techniken und Beispiele einzugehen.

 

RAP

Das ABAP RESTful Application Programming Model ist ein wichtiger Bestandteil beim Bau von modernen Fiori Anwendungen im ABAP Cloud Umfeld. Entsprechend wichtig ist es, dieses Thema zu Lernen und in der Gänze zu verstehen. Daher sind die ersten Schritte noch recht einfach zu verstehen, doch das Meistern des Modells wird dich mindestens ein Jahr beschäftigen und du wirst auf zahlreiche Probleme stoßen. Daher haben wir verschiedene Tutorials, Anleitungen und Deep Dives, um in die verschiedenen Aspekte zu kommen.

 

Video

Für die ganze Serie haben wir eine vollständige Version des Videos erstellt. Auf YouTube findest du das Video und die entsprechende Playlist, wenn du dir die verschiedenen Tutorials einmal genauer anschauen willst. Unter der Beschreibung des Abschnitts, findest du weitere Artikel, die sich mit dem Thema auseinandersetzen.

 

Modellierung

In diesem Teil modellieren wir den RAP Stack manuell über die verschiedenen Layer. Dabei verwenden wir das Classic Pattern, da sich dieses für den Einstieg in die RAP Entwicklung am besten eignet und für lokale Neuanwendungen der Standard ist. Wir legen die Tabelle an, Modellieren den CDS Stack auf dem Objekt und aktivieren Draft, um einen OData v4 anzulegen. In der späteren Phase fixen wir dann einen Fehler, den wir durch die Benamung von Feldern im Backend erhalten. Zum Abschluss legen wir die ersten Testdaten an, um etwas im UI zu sehen.

 

UI Design

Beim UI Design schauen wir uns im Anschluss Stück für Stück den Aufbau der einzelnen Elemente in der Anwendung an. Wir erstellen den Filter, zeigen die Felder in der Ausgabeliste an, modellieren die Object Page und den Header und bringen die Felder in Gruppen in eine Struktur. Dabei lernst du die verschiedenen Annotationen, die du für das UI benötigst und welche Auswirkungen sie auf die Anzeige haben.

 

Value Helps

Nachdem wir das UI erstellt haben, möchten wir dem Anwender etwas mehr Komfort bringen und erstellen jede Menge Suchhilfen, für die verschiedenen Felder. Felder, die nur mit einem Schlüssel arbeiten, werden zusätzlich mit Texten angereichert, sodass nach und nach nur noch lesbare Informationen im UI vorhanden sind.

 

Virtuelle Elemente

Wir möchten nun Felder einbinden, die es eigentlich im Datenmodell nicht gibt, wie ein Icon für die Object Page. Zusätzlich wollen wir dynamisch Felder und Informationen auf dem UI ausblenden. Dazu verwenden wir virtuelle Elemente, um zusätzliche Logik zu implementieren. Dabei gehen wir auch auf die Details der Ermittlung ein und schauen uns die Besonderheiten mit ausgeblendeten Feldern an.

 

Factory Actions

Neben der eigentlichen Create Aktion, können wir auch Factory Actions verwenden, wenn wir spezifische Szenarien damit abbilden wollen. In dieser Folge implementieren wir für jede verschiedene Art von Kontakt eine eigene Factory Action. So können wir später besser die Berechtigungen steuern. Außerdem implementieren wir ein Late Numbering für die verschiedenen Typen und Nummern und richten in der Fiori App die Nummernkreise ein. Als Besonderheit verwenden wir die "Auxiliary Class", um Bestandteile des Codes aus der Verhaltensimplementierung zu kapseln.

 

Validierungen und Ermittlungen

Damit wir nur die passenden Daten erhalten und fehlerhafte Datensätze direkt bei der Eingabe herausfiltern, implementieren wir Prüfungen und automatische Ermittlungen. Dazu implementieren wir eine rudimentäre Schnittstelle, zur Ableitung von Adressdaten, für einen späteren Use-Case. Für die Generierung werfen wir einen Blick auf die IDE Action zur Generierung von neuen Klassen. Damit unser Anwender die Änderung direkt im UI sieht, implementieren wir noch einen Side Effect.

 

Fiori und Deployment

Die Anwendung ist nun bereit zur Erstellung im Business Application Studio. Dazu setzen wir uns eine neue Entwicklungsumgebung (Dev Space) auf, generieren die Anwendung über den Wizard und machen weitere Anpassungen (Adaption) an der Anwendung. Zum Abschluss schauen wir uns noch einmal die Struktur einer Fiori Anwendung an und beginnen mit dem Deployment ins ABAP Environment.

 

Launchpad Integration

Nachdem die Anwendung nun im System deployt ist, kümmern wir uns um die Einbindung der Anwendung ins Launchpad. Dazu legen wir eine IAM App und einen Business Catalog an. Diesen binden wir dann eine Business Role ein und gestalten die Pages und Spaces im System, um den Anwender seinen Standard Arbeitsplatz zur Verfügung zu stellen.

 

Custom Descriptor Item

In dieser Folge wollen wir die Kachel austauschen und um mehr Features erweitern, wie einen Counter, eine Einheit und Anpassungen im Design. Dabei gehen wir auf die verschiedenen Bestandteile ein und erklären die Funktionalitäten im Detail.

 

Feature Control

Berechtigungen sind ein wichtiger Teil der Bereitstellung von Anwendungen, daher verwenden wir Feature Controls, um einzelne UI Aktionen zu beschränken. Neben den Einschränkungen legen wir auch ein eigenes Berechtigungsobjekt an und schränken den Zugriff komplett ein. Am Ende testen die Zugriffe über einfache Berechtigungen.

 

Restriction Types

Da die Berechtigungen im Moment nur statisch hinterlegt sind, kümmern wir uns mit Restriction Types darum, dass wir die Berechtigungen des Anwenders über die Rollen steuern können. Dazu legen wir zusätzliche Objekte an und erklären die Wirkung im Detail.

 

Daten

Nachdem nun die Anwendung so gut wie vollständig ist, kümmern wir uns um die Beladung der Daten. Dazu bereiten wir eine JSON Datei vor, die wir in GitHub zur Verfügung stellen. Über ein Open Source Projekt laden wir die Daten in ABAP und verwenden diese für EML zur Beladung der Kontakte. Dadurch können wir die Logik und die Prüfungen wiederverwenden. Am Ende setzen wir die Nummerkreise zurück, um frische Daten in unser System zu bekommen. Da das UI nach der Änderung noch einige Lücken hat, passen wir die Ausgabe und die Felder noch einmal an.

 

App

Aktuell haben wir nur eine Anwendung im Launchpad, allerdings haben wir einen eigenen Space für unser Unternehmen aufgebaut.

 

Gehen wir in die Anwendung, dann werden die ersten Daten sofort geladen und wir können direkt mit der Arbeit beginnen. Dadurch das wir Admin sind, sehen wir alle Daten und alle Aktionen stehen uns zur Verfügung.

 

Schauen wir uns einen Kunden an, dann finden wir einen entsprechenden Header den wir aufgebaut haben. Darunter die verschiedenen Bestandteile und Gruppen der Object Page.

 

Fazit

Das Video und dieser Artikel soll dir beim Einstieg in die RAP Entwicklung helfen und den kompletten Weg zur Erstellung einer Anwendung beleuchten. Da die meisten Tutorials nur Bestandteile eines Schrittes beleuchten, solltest du damit eine komplette Anwendung erstellen können. 

 

YouTube
Video


Enthaltene Themen:
RAPBTPRecycling-HeroesContact App
Kommentare (0)



Und weiter ...

Bist du zufrieden mit dem Inhalt des Artikels? Wir posten jeden Dienstag und Freitag neuen Content im Bereich ABAP und unregelmäßig in allen anderen Bereichen. Schaue bei unseren Tools und Apps vorbei, diese stellen wir kostenlos zur Verfügung.


RAP - Augmentation

Kategorie - ABAP

In diesem Artikel stellen wir unser Datenmodell der RAP Anwendung um und ändern die Form wie wir mit den Texten umgehen. Dabei verwenden wir Augmentation, um unser Datenmodell trotzdem vollständig zu halten.

03.02.2026

034: Recycling-Heroes - Object and RAP Generator (Document)

Kategorie - YouTube

In dieser Episode erstellen wir unsere neue Dokumenten-App mit Hilfe von Generatoren zur Erstellung des Datenmodells und anschließend zur Erstellung des RAP Objekts.

02.02.2026

CAP oder RAP - Eine Sicht aus dem Business

Kategorie - ABAP

Immer wieder wird über RAP, CAP oder Beides diskutiert, doch wie sieht es eigentlich mit dem Business aus? Welche Anforderungen und Punkte solltest du neben den Features eigentlich noch bedenken?

27.01.2026

RAP - Virtuelle Felder sortieren

Kategorie - ABAP

Haben wir virtuelle Felder in einer Entität im ABAP RESTful Application Programming Model implementiert, wie können wir dann eigentlich eine Sortierung verwenden? Schauen wir uns einmal den Prozess dazu an.

23.01.2026

RAP - Multi-Input Field

Kategorie - ABAP

Eine ganze Entität in einem Feld darstellen? Mit dem Multi-Input Field möglich. Heute schauen wir uns den Punkt in ABAP für die RAP Entwicklung an und schauen uns die Szenarien an.

20.01.2026