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

RAP - Analytical Table

202

Schauen wir uns einmal in RAP das letzten fehlende Puzzlestück zur Ablösung des ALVs an und wie wir die Analytical Table mit wenig Aufwand einrichten können.

Werbung


In diesem Artikel schauen wir uns die Analytical Table an und wie wir damit einige der fehlenden Funktionalitäten des ALVs erreichen können.

 

Einleitung

Der ALV war bisher das Standard Werkzeug eines ABAP Entwicklers, da damit alle Grundfunktionalitäten des Entwicklers dargestellt werden konnten ohne viel Aufwand in der Implementierung zu haben. Sortieren, Gruppieren, Filtern und Excelexport, waren bisher als Standard in der Anzeige verfügbar, welche auch im klassischen List Report in Fiori Elements zur Verfügung stehen. Allerdings fehlte bisher ein Feature, die Summen und Zwischensummen, die im ALV ebenfalls leicht erstellbar waren. Dazu werden wir heute unsere Sales App erweitern und den Table Type anpassen den der List Report im Moment verwendet.

 

Table Type

Generieren wir den klassischen List Report, dann ist dieser meist gleich aufgebaut. Im oberen Teil erhalten wir eine Filterbar, um die Daten im unteren Teil einzuschränken und damit zu arbeiten. Im unteren Teil wird eine Tabelle zur Ausgabe der Daten angezeigt und wenn wir auf ein Item klicken, gelangen wir zur Object Page, wo wir noch einmal mehr Informationen und Details bekommen.

 

Die Tabelle im unteren Teil kann allerdings durch Annotationen, Objekte oder beim Generieren verändert werden, um verschiedene Szenarien damit abzudecken. Daher gibt es für diesen Bereich bereits unterschiedliche Typen:

  • Responsive Table - Dieser Typ ist für unterschiedliche Größen von Displays gedacht. Es werden nur so viele Informationen angezeigt, wie auf das Bild passen. Die Spalten, die zu viel sind, werden ausgeblendet.
  • Grid Table - Es werden alle Spalten angezeigt, die zusätzlich eine fixe Breite haben. Informationen, die nicht auf das aktuelle Bild passen können per Scroll-Bar erreicht werden. Das Verhalten ist ähnlich einem zu großen ALV.
  • Tree Table - Die Informationen werden hierarchisch ausgegeben und als Baum in der Liste dargestellt (siehe Artikel). 
  • Analytical Table - Es sind analytische Funktionen wie Summen und Zwischensummen möglich (dieser Artikel).

 

Analytical Table

Mit dem letzten Release 2511 wurde im ABAP Environment das letzte fehlende Feature in Form der Analytical Table ausgeliefert. Damit können wir die Summen und Zwischensummen in der Ausgabe aktivieren, allerdings mit gewissen Einschränkungen, wie wir gleich sehen werden.

 

Aktivierung

Um die Analytical Table zu aktivieren, reichen uns im Grunde zwei Annotationen im Projection View ZBS_C_SASale. Auf Ebene des Header müssen wir zuerst die Aggregation aktivieren. Hier stehen uns verschiedene Optionen wie FULL oder RESTICTED zur Verfügung. Aktuell aktiviert nur das Attribut #FULL die neue Tabelle.

@OData.applySupportedForAggregation: #FULL

 

Dann müssen wir noch auf den jeweiligen Elementen im Core Data Service die Default Aggregation aktivieren. Über die Annotation "Aggregation.default" setzen wir den jeweiligen Modus. Für den Verkauf setzen wir die Summe und für die Unterschiede jeweils den durchschnittstellen Wert, da uns der durchschnittliche Verlust pro Vertrag oder Gruppierung interessiert. Damit wäre die eigentliche Aktivierung abgeschlossen und die Umstellung auf die Analytical Table.

@Aggregation.default: #SUM
SalesVolume,

@Aggregation.default: #AVG
DifferenceAmount,

@Aggregation.default: #AVG
DifferenceQuantity,

 

Einschränkung

Führen wir unsere Anwendung aus, erhalten wir allerdings im Moment einen Fehler und wenn wir uns das Service Binding näher anschauen eine Fehlermeldung. Aktuell werden Funktionen rund um virtuelle Felder nicht unterstützt, wie die Elemente allein oder die Sortierung der Elemente. Daher müssen wir zur Demonstration die verschiedenen Elemente auskommentieren.

  • Die Felddefinitionen auf Ebene des Projection Views (CDS ZBS_C_SASale)

 

  • Die virtuellen Felder in der Metadata Extension (Metdata ZBS_C_SASale)

 

  • Die gruppierten Felder in der Metadata Extension (Metdata ZBS_C_SASale)

 

Test

Schauen wir uns verschiedene Varianten der Analytical Table an und wie die Features auf unsere Daten reagieren.

 

Gesamtsumme

Nachdem wir die Anwendung gestartet haben, sind im Moment noch keine Zwischensummen definiert. Allerdings sehen wir, dass sich im unteren Bereich der Tabelle etwas geändert hat.

 

Da wir verschiedene Währungen in der Spalte verwenden, wird die Summe nicht sofort angezeigt. Um die Summe in diesem Fall zu sehen, müssen wir auf den Link "Show Details" klicken und bekommen dann die Auflistung der verschiedenen Summen in den verschiedenen Währungen.

 

Zwischensummen

Über die Eigenschaften der Tabelle können wir nun über die Gruppierung Zwischensummen erzeugen. Dazu wechseln wir auf den Reiter "Group" und definieren eine Gruppe Währung und eine zweite Gruppe Partner.

 

Es wird nun die Tabelle mit Summen und Zwischensummen geladen. In dem folgenden Beispiel haben wir auch einmal die Elemente geöffnet, um die verschiedenen Ebenen darzustellen. Da wir nur jeweils eine Währung haben, werden die Zwischensummen direkt ausgegeben und es entfällt die Anzeige per Link.

 

Möchtest du eine Gruppierung als Standard definieren, da kannst du eine entsprechende Variante anlegen und speichern oder direkt als Annotation am View hinterlegen. Weitere Informationen dazu in diesem Artikel.

 

Multi-Input Field

Auf der Ebene der Analytical Table funktioniert aktuell unser Multi-Input Field nur eingeschränkt. Die Spalte bleibt im Moment leer und das Feature ist nicht aktiv (nur Summe). Bilden wir dann Zwischensummen und öffnen die verschiedenen Zeilen, dann werden die gepflegten Elemente in der Anzahl angezeigt oder wenn nur ein Element vorhanden ist. Hier gibt es noch gewisse Unschärfen in der Darstellung des Feldes in der Spalte.

 

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

Die Analytical Table liefert die letzten Features für die Ablösung des ALVs, allerdings müssen wir uns im Moment zwischen verschiedenen Features entscheiden, die unser UI haben soll. Hoffentlich wird sich dieser Punkt noch einmal in Zukunft ändern und wir erhalten eine bessere Flexibilität bei der Nutzung der verschiedenen Table Types.

 

Quelle:
SAP Help - Developing Read-Only RAP Analytical Tables
ABAP Environment Roundtable #29


Enthaltene Themen:
RAPBTPAnalytical TableREX7
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 - 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

RAP - Icons

Kategorie - ABAP

Wie findest du eigentliche Icons im UI5 Umfeld und wie kannst du diese mit ABAP Mitteln in deine Fiori Elements Anwendung einbauen? Lass uns diese Frage im Artikel beantworten.

13.03.2026

RAP - Gruppierung von Aktionen

Kategorie - ABAP

Wie kannst du eigentlich deine verschiedenen Aktion in RAP unter einem Button gruppieren, vor allem wenn die Aktionen relativ ähnlich sind. In diesem Artikel schauen wir uns die Details zur Umsetzung mit ABAP an.

10.03.2026