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

RAP - Side Effects

122

Wie kannst du Teile der Fiori UI aktualisieren, ohne einen kompletten Refresh zu machen? Mit Side Effects ist das in ABAP und RAP ganz leicht möglich.

Werbung


In diesem Artikel schauen wir uns die verschiedenen Arten von Seiteneffekten an und wie du sie sinnvoll in deinem Alltag einsetzen kannst.

 

Einleitung

Dazu werden wir unsere Anwendung aus der Reihe Report Pattern erweitern um zusätzliche Funktionalitäten. Wenn du bereits mit der Anwendung gearbeitet hast, wird dir sicherlich aufgefallen sein, dass bestimmte Bestandteil der Anwendung erst beim Aktualisieren geladen werden, wie nach der Verarbeitung der Excel Datei oder beim Hinzufügen eines neuen Landes.

Dazu können Side Effects erstellt werden. Diese definieren einen Auslöser, der dann wiederrum einen Effekt an einem Objekt auslöst. Dabei werden nur die beeinflussten Objekte neu geladen. Handelt es sich dabei zum Beispiel um ein Feld, dann wird nur dieses Feld neu geladen. Grundsätzlich war diese Funktion bereits in Fiori möglich, kannst du dies nun aus dem RAP Verhalten steuern.

 

Möglichkeiten

Aktuell können bestimmte Aktionen einen Side Effect auslösen, dazu zählen:

  • Felder - Ein bestimmtes Feld wird im UI geändert.
  • Aktionen - Eine Aktion wird ausgelöst, meist mit einem Button im UI verbunden.
  • Ermittlung - Eine Ermittlung wird angestoßen, die Inhalte von Feldern automatisch ändert.
  • SELF - Bezieht sich auf die eigene Entität.

 

Dabei können die folgenden Objekte im Anschluss beeinflusst werden:

  • Felder - Aktualisierung einzelner Felder im UI, aber auch einzelne Felder von Assoziationen.
  • Berechtigungen - Damit können zum Beispiel auch Buttons deaktiviert werden, wie eigene Aktionen und Standard Aktionen.
  • Entität - Damit können komplette Assoziationen noch einmal geladen werden, wenn sich Daten in ganzen Knoten verändert haben.
  • Nachrichten - Erzwingt das Neuladen der Nachrichten, die über REPORTED erzeugt wurden.
  • SELF - Bezieht sich auf die eigene Entität.

 

Grundsätzlich kannst du Seiteneffekte in den RAP Business Objekten (Managed und Unmanaged) verwenden, sowie in der Projektionsschicht der Objekte. Weitere Details kannst du auch der technischen Dokumentation entnehmen, die wir unten verlinkt haben. Dazu brauchst du On-Premise allerdings ein S/4HANA 2023 System.

 

Beispiel

In diesem Beispiel wollen wir den Upload Button mit einer Aktion ausstatten. Dazu soll nach der Ausführung der Aktion die Entität der Länder aktualisiert werden und das Feld der Excel Datei, da diese nach dem Upload gelöscht wird. Schauen wir uns dazu an, wie es vor der Aktion aussieht.

 

Dazu erweitern wir die Projektion der Verhaltensdefinition und fügen unter der Aktion "LoadExcelContent" das neue Statement ein. Mit SIDE EFFECTS öffnest du den Bereich, wo du alle Seiteneffekte definieren kannst. Dazu definieren wir uns für unsere Aktionen einen Effekt, der Auswirkungen auf die Entität Country und das Feld ExcelAttachment hat. Da das Objekt nur einmal aufgeführt werden kann, trennen wir die Effekte mit Komma im hinteren Teil.

side effects {
  action LoadExcelContent affects entity _Country, field ExcelAttachement;
}

 

Schauen wir uns nach dieser kleinen Änderung den Einfluss auf das UI an. Dabei fällt auf, dass nach Ausführung der Aktion bereits das Interface neu geladen wurde.

 

Änderungen

Alle in diesem Artikel durchgeführten Änderungen findest du im GitHub Repository unter dem entsprechenden Commit. Damit kannst du alle Änderungen besser nachvollziehen.

 

Fazit

Side Effects lassen sich mit sehr wenig Aufwand in die UI integrieren und erleichtern die Arbeit des Nutzers ungemein, da er sofort die aktualisierten Informationen visualisiert bekommt, ohne die Anwendung neu laden zu müssen.

 

Quelle:
SAP Help - Side Effects


Enthaltene Themen:
RAPBTPEvents
Kommentare (0)



Und weiter ...

Bist du zufrieden mit dem Inhalt des Artikels? Wir posten jeden 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 - Popup Defaultwerte

Kategorie - ABAP

Wie kannst du im Popup einer Aktion in RAP dem User Defaultwerte zur Verfügung stellen? In diesem Artikel erweitern wir unsere Anwendung.

21.01.2025

RAP - Popup Pflichtfelder

Kategorie - ABAP

Wie kannst du eigentlich Pflichtfelder für ein Popup in RAP definieren? In diesem Artikel werden wir etwas genauer auf die Details eingehen.

14.01.2025

RAP - Deep Table Action

Kategorie - ABAP

Ist die Übergabe von Tabellen an Aktionen in RAP aktuell möglich? Dieser Artikel soll einen besseren Einblick in das Thema gewähren.

07.01.2025

ABAP Cloud - Programmiermodell

Kategorie - ABAP

Welches Programmiermodell kommt mit ABAP Cloud zum Einsatz und was können wir aus dem Vorgänger lernen? Mehr Details im Artikel.

03.01.2025

RAP - Events

Kategorie - ABAP

Wie kannst du eigentlich Events in RAP erzeugen und mit ABAP verarbeiten? Hier erfährst du mehr zur eventgetriebenen Verarbeitung.

23.12.2024