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

RAP - Popup Defaultwerte

65

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

Werbung


Im letzten Artikel hatten wir das Popup in unserer Anwendung um Pflichtfelder erweitert, die im UI geprüft werden. In diesem Artikel schauen wir, dass wir Defaultwerte im Popup definieren.

 

Einleitung

Wenn ein Anwender im Fiori Elements UI eine Aktion auslöst, möchtest du meist noch einige Informationen vom Anwender haben. Um dem Anwender das Leben zu erleichtern, kannst du in vielen Situationen aber auch schon Standardwerte mitgeben, sodass der Anwender Vorschläge für die Eingabe erhält und somit schneller wird. Dazu erweitern wir unsere Report Pattern App um eine weitere Funktion.

 

Erweiterung

In diesem Abschnitt erweitern wir unsere bestehende Aktion und implementieren die Logik für die Werte. Zum Abschluss führen wir einen Test durch, um das Ergebnis zu validieren.

 

Verhaltensdefinition

Dazu erweitern wir unsere aktuelle Definition der Aktion "LoadExcelContent" in der Verhaltensdefinition. Aktuell verwenden wir hier eine einfache Aktion mit Parameter, dieser sorgt dafür, dass ein Popup beim Auslösen angezeigt wird.

action LoadExcelContent parameter ZBS_S_DRPExcelPopup;

 

Dazu ergänzen wir in geschweiften Klammern mit DEFAULT FUNCTION, um eine neue Funktion zu definieren, in der wie die Standardwerte setzen können.

action LoadExcelContent parameter ZBS_S_DRPExcelPopup { default function GetDefaultsForExcelPopup; }

 

Dabei muss der Name der Funktion mit "GetDefaultsFor" oder "GetDfltsFor" beginnen. Hier bekommst du aber bereits die Informationen

 

Verhaltensimplementierung

Wenn du den Cursor auf den Namen der Funktion setzt, kannst du über STRG + 1 die Methode in der Verhaltensimplementierung generieren lassen. Schauen wir uns dazu einmal die Signatur der neuen Methode an.

 

Wir erhalten die Schlüssel der aktuell ausgewählten Einträge und können über RESULT unsere Werte zurückgeben. Dort findest du neben dem Schlüssel wieder das Feld %PARAM, wo unsere Parameterstruktur definiert ist. Dazu definieren wir eine kleine Logik, die für den Kommentar einen Standard mit der aktuellen Währung definiert. Zusätzlich soll bei der Währung EUR immer das Testlauf Flag gesetzt sein.

LOOP AT keys INTO DATA(key).
  INSERT VALUE #( %tky = key-%tky ) INTO TABLE result REFERENCE INTO DATA(new_line).

  new_line->%param-EventComment = |Default event for { key-Currency }|.
  new_line->%param-TestRun      = SWITCH #( key-Currency
                                            WHEN 'EUR'
                                            THEN abap_true
                                            ELSE abap_false ).
ENDLOOP.

 

Projektion

Nun kommt noch der wichtigste Schritt. Damit die Funktion von Frontend aufgerufen werden kann, müssen wir diese in der Projektion unseres RAP Objekts nach Außen freigeben. In diesem Fall handelt es sich nicht um eine Aktion, sondern eine Funktion. Entsprechend sie die Implementierung wie folgt aus:

use function GetDefaultsForExcelPopup;

 

Test

Da wir nun alles vorbereitet haben, können wir in unserer Anwendung den Test durchführen. Dazu öffnen wir die Währung EUR und lösen die Aktion aus. Das Ergebnis kannst du dir hier anschauen.

 

Vollständiges Beispiel

Die vollständige Anwendung findest du bei uns im GitHub Repository, die Änderungen dieses Artikels haben wir im folgenden Commit durchgeführt. Dort findest du alle Änderungen und geänderten Objekte auf einem Blick.

 

Fazit

Das Setzen der Defaultwerte ist mit der Funktion einfach und flexibel möglich, allerdings musst du auch etwas Logik implementieren als eine reine Zuweisung. Der Anwender wird nun entsprechend in seiner Arbeit mit deiner Anwendung beschleunigt.

 

Quelle:
SAP Help - Defaulting Input Parameters for Operations
SAP Community - Defaulting action parameters


Enthaltene Themen:
RAPBTPPopupDefaultwerte
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 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 - Side Effects

Kategorie - ABAP

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.

27.12.2024

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