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

RAP - Aktion (Verarbeitungsoptionen)

915

Wie aktivierst du eigentlich den Multi-Select in RAP und steuerst die verschiedenen Verarbeitungsoptionen? Hier schauen wir uns die verschiedenen Möglichkeiten im Framework an.

Werbung


Im Artikel letzte Woche hatten wir uns eine Aktion im Bereich der Custom Entity angeschaut, in diesem Artikel geben wir noch einige Details zur Verarbeitung und zur Generierung in BAS.

 

Einleitung

Nicht alle Optionen stehen als Annotationen bei der Modellierung zur Verfügung. So werden bestimmte Optionen erst bei der Generierung der Fiori Applikation eingestellt, wie zum Beispiel der Autoload, Erweiterungen oder UI Aktionen. Um die verschiedenen Verarbeitungsoptionen validieren zu können, müssen wir daher im ersten Schritt den Multi-Select in der Tabelle aktivieren und im Anschluss können wir uns das Verhalten der App anschauen.

 

Vorbereitung

Als Vorbereitungsschritt müssen wir zuerst die App generieren, um sie im Anschluss anpassen und testen zu können. Dabei verwenden wir das Business Application Studio als Standard in der Entwicklung, da es ohne weitere Konfiguration für uns Out-of-the-Box zur Verfügung steht. Hier generieren wir uns über die Tool Bridge das Projekt. Nun sollten wir die Übersichtsseite sehen:

 

Multi Select

Über den OData v2 erhalten wir nur Radiobuttons in der Liste, können aber über das BAS den Multi-Select aktivieren. Dazu können wir das Guided Development starten und suchen hier nach der Option "Configure Multiple Selection for a Table".

 

Im nächsten Schritt starten wir den Wizard und müssen im unteren Bereich die Option auf "True" setzen, um die Mehrfachauswahl zu aktivieren. Über den Button "Insert Snippet" wird die Einstellung in der App aktiviert.

 

Wurde die Datei nun erweitert, dann sollte im Preview nun eine Mehrfachauswahl von Einträgen möglich sein. Mit dieser kleinen Anpassung hat unsere App nun die volle Flexibilität, wenn wir mehrere Datensätze prozessieren wollen.

 

Verarbeitungsoptionen

In diesem Kapitel schauen wir uns einmal die Verarbeitungsoptionen an, die für Aktionen zur Verfügung stehen. Über den Zusatz "invocationGrouping" in der UI Annotation, können wir zwei verschiedene Zustände einer Aktion steuern.

 

ISOLATED

Hierbei handelt es sich um die Standard Einstellung, wenn du eine Aktion definierst, den Zusatz aber nicht angibst. Dieser bewirkt, dass jeder markierte Datensatz in der Liste eine eigene Abfrage generiert. Führen wir unsere "Custom Action" aus, dann wird diese so oft aufgerufen, wie Datensätze markiert sind. Mit jedem Durchlauf erhalten wir aber nur einen Schlüssel für die Verarbeitung.

 

Etwas merkwürdig wird es dann bei der statischen Aktion "Reset", die sich unterschiedlich verhält, wenn wir keine Datensätze markiert haben oder Datensätze in der Liste gewählt haben. Ist kein Datensatz gewählt, dann wir die Aktion genau einmal aufgerufen, so wie wir es erwarten. Wählen wir zum Beispiel zwei Datensätze aus, dann wird die Aktion zweimal ausgeführt, was zum Beispiel für den Reset keinen Sinn macht.

 

CHANGE_SET

Die zweite Option ist das Change-Set und wie der Name sagt, wird hier ein Set aus Änderungen gebildet. Dazu setzen wir bei beiden Aktionen einmal die Option und schauen uns das Verhalten im Detail an. Markieren wir in der Liste alle drei Einträge und rufen die "Custom Action" auf, dann wird unsere Implementierung genau einmal aufgerufen. Allerdings erhalten wir alle Schlüssel an die Methode geliefert.

 

Nun zur statischen Aktion. Auch hier erhalten wir genau einen Aufruf der Aktion, egal ob wir Datensätze markiert haben oder nicht. Dieses Verhalten würden wir eigentlich standardmäßig von der statischen Aktion erwarten, da die selektierten Datensätze eigentlich keine Relevanz haben.

 

Verwendung

Mit dem Wissen von oben können wir damit die beiden Aktionen für das UI definieren. Damit die statische Aktion wie gewünscht funktioniert, würden wir hier mit dem Change-Set arbeiten. Bei der Custom Action kannst du selbst entscheiden, ob die Datensätze als Gruppe verarbeitet werden sollen.

@UI.lineItem: [{ position: 10 }, 
  { type: #FOR_ACTION, dataAction: 'myCustomAction', label: 'Custom Action', invocationGrouping: #ISOLATED },
  { type: #FOR_ACTION, dataAction: 'resetAllIcons', label: 'Reset', invocationGrouping: #CHANGE_SET } ]

 

Hinweis: Grundsätzlich sollten Aktionen so implementiert werden, dass sie auch mit mehreren Datensätzen umgehen können.

 

Vollständiges Beispiel

Das vollständige Beispiel des Services und der App findest du im GitHub Repository im Paket ZBS_DEMO_RAP_CUSTOM_ACTION. Die kleinen Änderungen aus diesem Artikel wirst du dort allerdings nicht finden.

 

Fazit

Du weißt nun, wie du auch den Multi-Select über das Business Application Studio aktivieren kannst und wie du die Aktion in der richtigen Art und Wise konfigurierst, damit sie zu deiner Verarbeitung passt.

 

Quelle:
SAP Help - invocationGrouping


Enthaltene Themen:
RAPBTPCustom ActioninvocationGrouping
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 - Auxiliary Class

Kategorie - ABAP

Wenn die Implementierung in der Verhaltensimplementierung eines RAP Objekts wächst, welche Möglichkeiten hast du dann noch für eine saubere Kapselung? Schauen wir uns das einmal im Detail an.

17.04.2026

RAP - Änderungsbelege implementieren (Manuell)

Kategorie - ABAP

In diesem Artikel steigen wir in die manuelle Implementierung der Änderungsbelege in unser RAP Objekt ein und schauen uns die verschiedenen Schritte der Integration an. Am Ende sollen Änderungsbelege automatisch erzeugt werden.

14.04.2026

RAP - Draft Query

Kategorie - ABAP

In diesem Artikel schauen wir uns die Draft Query in RAP an und wie du damit die Einträge und ihre Sichtbarkeit steuern kannst. Dazu schauen wir uns die Praxis an einem Beispiel an.

03.04.2026

RAP - Importance

Kategorie - ABAP

Schauen wir einmal auf die Wichtigkeit von Informationen innerhalb einer SAP Fiori Anwendung und wie wir damit die Sichtbarkeit in der RAP Anwendung steuern können.

24.03.2026

RAP - Kritikalität

Kategorie - ABAP

Für was brauchst du eigentlich die Kritikalität in deiner Anwendung und was kannst du damit erreichen? Schauen wir uns verschiedene Formen und Szenarien an.

17.03.2026