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

RAP - Importance

251

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.

Werbung


In diesem Artikel schauen wir uns das Thema Wichtigkeit bzw. Importance an und wie du damit Elemente im UI priorisieren kannst.

 

Einleitung

SAP Fiori Apps können auf verschiedenen Devices (PC, Tablet, Smartphone) dargestellt werden. So unterschiedlich wie die Geräte sind, so unterschiedlich sind auch die dargestellten Auflösungen und damit auch am Ende die UIs. Daher ist es umso entscheidender, dass wir uns Gedanken über die Wichtigkeit von Informationen machen. Welche Informationen sind wichtig und welche weniger, wenn es um die Anzeige in einem begrenzten Raum geht. Dafür verwenden wir Importance, also die Wichtigkeit, um verschiedene Elemente unterschiedlich zu gewichten. Damit geben wir dem UI die Möglichkeit zu entscheiden, welche Elemente bis zum Schluss angezeigt werden und welche als Erstes aus dem UI verschwinden können. Dazu verwenden wir als Beispiel wieder unsere Sales App und erweitern diese um die entsprechenden Bestandteile.

 

Grundlagen

Schauen wir uns erst einmal im ersten Blick einige Grundlagen zur Wichtigkeit an.

 

Verfügbarkeit

Da die Importance vor allem im UI greift, schauen wir uns die verschiedenen UI Annotationen an, wo uns die Eigenschaft zur Verfügung steht. Dazu rufen wir in Eclipse per STRG + SHIFT + A die Suche auf und suchen nach "UI". Damit können wir uns die UI Annotationen anschauen.

 

Gehen wir einmal durch die Liste der verschiedenen Elemente, wo Importance zum Einsatz kommt:

  • Elemente - Verschiedene Elemente die mit "identification", "lineItem" oder "fieldGroup" beginnen können direkt beeinflusst werden.
  • Facet - Ebenso kann eine komplette "facet", welche eine Sammlung von Feldern definiert, beeinflusst werden.
  • Weitere Eigenschaften - Daneben steht das Attribut noch bei "statusInfo", "dataFieldDefault" und "connectedFields" zur Verfügung.

 

Werte

Grundsätzlich sind in dem ENUM aktuell drei Werte definiert:

  • LOW
  • MEDIUM
  • HIGH

 

Dabei ist der Standard in der Anwendung laut Definition NONE, welches MEDIUM entspricht. Das heißt im Endeffekt, dass alle Elemente erst einmal als MEDIUM definiert sind und wir eine entsprechende Abstufung nach oben oder unten durchführen können. Wollen wir ein Element lange sehen, dann setzen wir es auf HIGH. Ist die Information weniger wichtig, setzen wir das Element auf LOW und es verschwindet als erstes vom Bildschirm, wenn der Platz nicht mehr reicht.

 

Beispiele

Schauen wir uns in diesem Abschnitt einmal zwei Beispiele für die Verwendung und Funktionsweise an.

 

List Report

Im klassischen List Report können wir in der angezeigten Tabelle die verschiedenen Spalten mit einer Wichtigkeit ausstatten. Hier kommt es aber auch auf die verwendete Tabelle an. Verwenden wir eine "Grid Table", dann erhalten wir horizontales Scrollen und die Wichtigkeit spielt hier keine Rolle. Im Standard erhalten wir normalerweise aber die "Responsive Table", diese stellt so viele Spalten dar, wie Platz verfügbar ist. Daher definieren wir im Test drei Spalten mit einer Wichtigkeit. Das Verkaufsjahr und der Monat sind eigentlich redundante Informationen, die sich aus dem Verkaufsdatum ableiten lassen. Daher setzen wir die beiden Spalten über "lineItem" auf LOW. Das Material am Ende ist uns besonders wichtig und damit setzen wir es auf HIGH.

@UI.lineItem: [ { position: 32, importance: #LOW  } ]
SalesYear;

@UI.lineItem: [ { position: 33, criticality: 'DataCriticality', criticalityRepresentation: #WITH_ICON, importance: #LOW  } ]
SalesMonth;

@UI.lineItem: [ { position: 160, value: '_SASold.MaterialId', importance: #HIGH } ]
_SASold;

 

Im Browser verwenden wir das Feature, um uns eine Webseite im Responsive Design anzuzeigen (F12 - Entwicklertools). Nun verkleinern wir den vorhandenen Bildschirmbereich stückweise und beobachten das Verhalten des UI. Dabei werden die Spalten mit LOW direkt als erstes in der Liste ausgeblendet. Dann werden alle nicht definierten Spalten (NONE/MEDIUM) Spalte für Spalte ausgeblendet bis nur noch unsere wichtige Spalte sichtbar ist.

 

Schlüsselfeld

Wie sieht es eigentlich mit Schlüsselinformationen innerhalb der Tabelle aus? Laut Definition sollen die Schlüsselfelder ebenfalls sichtbar sein, da diese automatisch die Wichtigkeit HIGH bekommen. Schauen wir uns dazu einmal zwei Elemente an, die als Schlüssel gesehen werden können:

  • Semantischer Schlüssel - Der sematische Schlüssel ist ein eindeutiger Schlüssel, der meist lesbar ist, aber nicht unbedingt der auf der Datenbank definierte Schlüssel ist. Diesen definieren wir im Core Data Service im Header.
@ObjectModel.semanticKey: [ 'PartnerNumber', 'SalesDate' ]

 

  • Tabellenschlüssel - Der eigentliche Schlüssel auf der Datenbank. In RAP Anwendungen wird dafür in vielen Fällen eine nicht gut merkbare UUID verwendet. In den UI Annotationen aktivieren wir die Anzeige und setzen das Feld ans Ende.
@UI.lineItem: [
  { position: 300 }
]
UUID;

 

In diesem Fall führen wir das gleiche Experiment durch. Dabei fällt auf, dass der Tabellenschlüssel auch sehr schnell ausgeblendet wird. Die Regel gilt also für den semantischen Schlüssel und dieser bleibt bis zum Schluss bestehen. Am Ende werden weiterhin alle drei Felder angezeigt, das System bricht die Information allerdings auf die nächste Zeile um, einfach da nicht mehr genug Platz zur Verfügung steht.

 

Vollständiges Beispiel

Das vollständige Beispiel findest du in GitHub im entsprechenden Paket für die Sales App. Die Änderungen aus diesem Artikel findest du in diesem Commit und kannst damit die Änderungen, plus die Zusatzinformationen, nachvollziehen.

 

Fazit

Wie wichtig ist dir ein Feld? Mit dem heutigen Artikel solltest du einen Einblick in das Element bekommen haben und wie es dir dabei hilft dein UI noch besser zu steuern.


Enthaltene Themen:
RAPBTPImportanceREX7
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 - Navigation (App to App)

Kategorie - ABAP

Wie kannst du eigentlich innerhalb deiner Fiori Anwendung auf eine andere Anwendung navigieren, ohne das der User die App manuell wechseln muss? Schauen wir uns die Navigation zwischen Fiori Apps an.

01.09.2026

ABAP in der Praxis - Setup App erstellen

Kategorie - ABAP

Keine SAP GUI mehr? Wie erstellen wir dann eigentlich eine statische Setup App und bleiben auf ABAP Seite trotzdem flexibel für die weitere Implementierung? Hier ein praktisches Beispiel.

28.08.2026

RAP - Singleton Pattern

Kategorie - ABAP

Das Singleton Pattern in RAP gibt es schon länger, doch wie genau funktioniert es und wie kannst du es auch für andere Use-Cases nutzen? Schauen wir uns dazu die Details in diesem Artikel an.

25.08.2026

RAP - Nativer Datei-Upload

Kategorie - ABAP

Du willst eine Datei in deine RAP Application hochladen und im Anschluss verarbeiten? Die offizielle Lösung für Up- und Download lässt noch warten, mit einem kleinen Umweg ist es aber bereits Heute möglich.

18.08.2026

RAP - Feature Control (Teil 2)

Kategorie - ABAP

Wie sieht es eigentlich mit den Feature Controls in RAP aus und welche Änderungen gab es nun mittlerweile? Hier schauen wir noch einmal auf die Features für unsere Sales App und welche Updates sich ergeben haben.

14.08.2026