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

RAP - Kritikalität

194

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.

Werbung


In diesem Artikel schauen wir uns die Möglichkeiten an, die du mit der Kritikalität in RAP steuern kannst und was du damit an UI Features umsetzen kannst.

 

Einleitung

Im letzten Artikel haben wir unsere Sales App mit Icons verschönert und etwas lebendiger gemacht. Daher wollen wir uns in diesem Artikel noch einmal die Kritikalität im Detail anschauen und was du damit noch anpassen kannst. Dabei ist das Ziel, einen gewissen Status per Farbe und/oder Icon zu symbolisieren.

 

Vorbereitung

In der Vorbereitung benötigen wir ein Feld, welches die Kritikalität abbildet. Dazu verwenden wir wie in den meisten Fällen bisher ein virtuelles Element. Wir möchten die Information direkt aus dem errechneten Monat ableiten, diese Information aber nicht auf der Datenbank oder im Draft ablegen. Vom Datentyp her benötigen wir nur ein INT1 Feld, da wir nur sehr wenige Werte damit abbilden müssen.

        @ObjectModel.virtualElementCalculatedBy: 'ABAP:ZCL_BS_DEMO_RAP_SALES_VE'
virtual DataCriticality : abap.int1,

 

Dazu erweitern wir die Methode CALCULATE. In diesem Fall ergänzen wir aber die Information, wenn wir auch den Monat ableiten, da wir über diesen die Farbe bestimmen wollen, um die möglichen Werte zu überprüfen. Dazu binden wir an die verschiedenen Monate die verschiedenen Werte und befüllen damit das neue Feld. Als Test verwenden wir hier die Werte von 0-6, die wir an die verschiedenen Zeiten hängen.

original->DataCriticality = SWITCH #( original->SalesMonth
    WHEN '01' THEN 0
    WHEN '02' THEN 1
    WHEN '03' THEN 2
    WHEN '10' THEN 3
    WHEN '11' THEN 4
    WHEN '12' THEN 5
    ELSE           6 ).

 

Feld

Um nun einem Feld die Kritikalität zuzuordnen, stehen dir zwei Annotationen zur Verfügung. Über "criticality" ordnest du das Feld zu, welches den Wert für die Farbe definiert. Über "criticalityRepresentation" kannst du bei einem Feld noch bestimmen, ob ein Icon zusätzlich angezeigt wird. Die Information können wir bei den gängigen Ausgaben mitgeben und so das Feld in der Ausgabe verändern.

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

 

Als Ergebnis erhalten wir dafür die Monate in verschiedenen Farben und zusammen mit Icons. Über "criticalityRepresentation" kannst du noch steuern, ob ein Icon angezeigt wird oder nur der Text farblich hervorgehoben wird.

 

Im Gegensatz zu einigen Quellen im Internet, hat sich die Farbskala im Laufe der Zeit etwas verändert. Null oder andere Werte ohne Bedeutung, werden nun ganz normal dargestellt und nicht mehr Grau. Neben den anderen Werten ist auch noch Blau dazugekommen. In der Tabelle findest du eine kurze Übersicht.

Kritikalität Farbe Icon (Text) Icon (Symbol)
0 Keine -  
1 Rot Kreuz
2 Orange Ausrufezeichen ⚠️
3 Grün Haken
5 Blau Info ℹ️

 

Zeile

Im List Report kannst du auch die Zeile markieren und bist nicht von einem Feld abhängig. Dies hilft, wenn du nicht sicher bist, ob die benötigte Information auch in der Liste angezeigt wird. Dazu definierst du auf Header Ebene des Core Data Service die Annotation für LineItem und setzt dort die Kritikalität.

@UI.lineItem: [{criticality: 'DataCriticality'}]

 

Damit wird im vorderen Teil der Zeile eine farbliche Markierung gesetzt. Diese folgt den gleichen Regeln wie bei den Feldern, wenn es um die verschiedenen Farben geht.

 

Button

Bereits in dem Artikel für die verschiedenen Positionen der Buttons, hatten wir die Farbe eines Buttons im UI verändert. Dazu kannst du ebenfalls die Kritikalität verwenden und in den Eigenschaften des Buttons angeben.

 

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

Sollte auf eine Position mehr geschaut werden, dann kannst du diese per Kritikalität hervorheben. Die Eigenschaft hilft deinem Anwender, wichtige Positionen oder Dringlichkeiten besser zu verstehen und zu erkennen. Die Umsetzung ist recht leicht gemacht und per UI-Annotation kann diese einfach eingebunden werden.

 

Quelle:
UI5 - Highlighting Line Items Based on Criticality


Enthaltene Themen:
RAPBTPCriticalityREX7
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 - Änderungsbelege implementieren (Nativ)

Kategorie - ABAP

Hast du das passende Release, dann kannst du Änderungsbelege auch mittlerweile nativ in RAP implementieren, ohne viel mnauelle Implementierung. Schauen wir uns dazu die verschiedenen Schritte an.

24.04.2026

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