ALV Grid Control in SAP ERP

Das ALV Grid Control ist eines der am meisten verwendeten Elemente in der Benutzeroberfläche in SAP ERP bzw. SAP S/4HANA. Dadurch ist es möglich, große Datenmengen in einer Tabelle darzustellen. Vor allem werden im Standard diverse Funktionen bereitgestellt (z.B. Sortieren, Filtern, Exportieren).

In diesem Artikel möchte ich Dir einfach erläutern, was man unter dem ALV Grid Control in SAP ERP bzw. SAP S/4HANA versteht.

Was ist ein ALV Grid Control?

Die Abkürzung ALV steht für SAP List Viewer. Es ist ein flexibles Werkzeug zur Listendarstellung von Informationen. Das ALV Grid Control stellt einfache zweidimensionale Tabellen dar und enthält bereits generische Funktionen, die vom Benutzer genutzt werden können. Hierunter fallen beispielsweise das Sortieren, Suchen und Filtern der Datensätze. Außerdem bietet es umfangreiche Möglichkeiten des Datenexports nach beispielsweise Excel oder HTML.

ALV Grid Control - Beispiel mit Flugverbindungen

Darüber hinaus kann ein ABAP-Entwickler das ALV Grid Control um eigene Funktionen erweitern und das Navigationsprofil zur Verfügung stellen. Beispielsweise wird das ALV Grid Control im Data Browser (Transaktion SE16N) verwendet. Mit dem Programm BCALV_TEST_SUITE erhältst Du eine Vielzahl an nützlichen Beispielen, um ALV Grid Controls in ABAP zu programmieren.

Im Allgemeinen stehen im SAP List Viewer drei Darstellungsarten zur Verfügung:

  • einfache zweidimensionale Tabelle (ALV Grid Control)
  • hierarchisch sequenzielle Liste
  • Baumstruktur

Einfache zweidimensionale Tabelle

Am häufigsten wird die einfache, zweidimensionale Tabelle verwendet. Dabei kann man diese Datendarstellung zusammen mit anderen Elementen auf dem Bildschirm einbinden (Grid-Ansicht) oder alleine als Fullscreen-Ansicht nutzen. Technisch wird die ABAP-Klasse CL_SALV_TABLE verwendet. Man kann dabei auch die alte Basisklasse CL_GUI_ALV_GRID verwenden. Mit dem ABAP-Report SALV_DEMO_TABLE_SIMPLE kann man beispielsweise die Funktionsweise näher untersuchen.

ALV Grid Control - einfache, zweidimensionale Liste

Mit der älteren Technologie SAP List Viewer (Classic) ist es zudem möglich eine weitere einfache, zweidimensionale Tabelle zu nutzen. Diese Tabelle kann nur als Fullscreen-Ansicht genutzt werden.

Einfache zweidimensionale Liste mit SAP List Viewer (Classic)

Hierarchisch sequenzielle Liste

Hierarchisch sequenzielle Listen stellen Daten in zwei Hierarchiestufen dar. Dabei unterscheidet man zwischen Kopf- und Positionszeilen. Die Positionszeilen sind den Kopfzeilen untergeordnet. Es herrscht zwischen den Kopf- und Positionszeilen eine 1:N-Beziehung. Das bedeutet, dass zu jeder Kopfzeile eine beliebige Anzahl an Positionszeilen gibt.

Diese Art der Datendarstellung steht nur in der älteren Technologie SAP List Viewer (Classic) zur Verfügung. Dementsprechend ist eine Grid-Ansicht nicht möglich und man kann die hierarchisch sequenzielle Liste nur im Fullscreen verwenden. Technisch wird die ABAP-Klasse CL_SALV_HIERSEQ_TABLE verwendet.

Hierarchisch sequenzielle Liste - SALV_HIERSEQ_TABLE

Man kann sich die Funktionsweise der hierarchisch sequenziellen Listen in ABAP mit dem ABAP-Programm SALV_DEMO_HIERSEQ_SIMPLE näher anschauen.

Baumstruktur

Die Baumstruktur ermöglicht Dir, Daten in beliebigen Hierarchiestufen darzustellen. Diese Darstellungsart kann sowohl in der Grid-Ansicht als auch in der Fullscreen-Ansicht genutzt werden.

Technisch wird die Baumstruktur mit der ABAP-Klasse CL_SALV_TREE aufgerufen. Man kann dabei aber auch folgende ABAP-Klassen verwenden: CL_GUI_ALV_TREE, CL_GUI_SIMPLE_TREE, CL_GUI_COLUMN_TREE, CL_GUI_LIST_TREE.

Baumstruktur - CL_GUI_ALV_TREE

Man kann sich die Funktionsweise in ABAP einfach ansehen, indem man folgende ABAP-Programme näher analysiert:

  • BCALV_TREE_DEMO
  • BCALV_TREE_01
  • BCALV_TREE_02
  • BCALV_TREE_03
  • BCALV_TREE_04
  • BCALV_TREE_05
  • BCALV_TREE_06

Wie ist das ALV Grid Control aufgebaut?

Seit dem SAP-Release 4.6A wird das Control Framework im SAP-System eingesetzt. Das ALV Grid Control verwendet das Grid Control als verschaltes Control. Dadurch sind bestimmte Schritte in der Ereignisverwaltung bereits definiert und können vom ABAP-Entwickler direkt verwendet werden, ohne diese zu programmieren. Diese eigenständigen Softwarekomponenten werden als EnjoySAP-Controls bezeichnet.

Um ein ALV Grid Control auf dem Dynpro verwenden zu können, sind folgende Objekte notwendig:

  • Custom Control-Bereich
  • Container Control
  • EnjoySAP Control

Der Custom Control-Bereich wird auf dem Dynpro reserviert, wo schließlich das ALV Grid Control (EnjoySAP Control) erscheinen soll. Um das zu erreichen, wird ein Container Control im Custom Control-Bereich erscheinen. Das ALV Grid Control (EnjoySAP Control) widerrum wird dem Container Control zugeordnet.

ALV Grid Control Architektur

Die Daten werden über eine interne Tabelle an das ALV Grid Control übergeben und angezeigt. Hierfür gibt man neben den eigentlichen Daten auch die Informationen zur Darstellung dieser Daten an. Hierfür kann man den Namen einer Struktur angeben oder einen Feldkatalog (Tabelle mit Konfiguration der Spalten) angeben.

Es gibt auch die Möglichkeit, die neue API zu verwenden. Man findet die relevanten ABAP-Objekte im Paket SALV und dessen Unterpakte. Dabei verwendet man eine eindeutige, objekt-orientierte API. Für die neue API werden hauptsächlich folgende ABAP-Klassen verwendet:

  • CL_SALV_TABLE – einfache, zweidimensionale Tabelle
  • CL_SALV_HIERSEQ_TABLE – hierarchisch-sequenzielle Liste
  • CL_SALV_TREE – Baumstruktur

Dabei ruft man in jeder ABAP-Klasse über eindeutige Methoden die gewünschte Funktionalität auf. Folgende Aktionen sind dabei mindestens notwendig:

  • ALV-Klasse instanziieren
    • interne Datenbanktabelle für Struktur und Inhalt festlegen
    • Darstellungsart festlegen
  • ALV-Ausgabe

Über den Autor

Andreas Geiger

Mein Name ist Andreas Geiger und ich bin ein erfahrener Senior SAP Berater. Mit mehr als 10 Jahren Berufserfahrung habe ich mehrere SAP-Projekte erfolgreich abgeschlossen und umfangreiche Kenntnisse in verschiedenen Bereichen wie SAP FI, SAP MM und ABAP erworben. Nun möchte ich mein Wissen mit Dir teilen, um Dir einen Mehrwert zu bieten und Dich bei Deiner täglichen Arbeit mit dem SAP-System zu unterstützen.

Mehr zu ERP UP

ERP UP unterstützen

Wenn Du mit ERP UP zufrieden bist, kannst Du mich gerne unterstützen. Dabei gibt es unzählige Möglichkeiten, wie Du mich einfach und schnell unterstützen kannst. Wie Du genau ERP UP unterstützen kannst, erfährst Du hier. Vielen Dank.

Schreibe einen Kommentar