Klasse CL_SALV_TABLE

Dies ist der erste Beitrag zu einer neuen Beitragsreihe mit einer Sammlung diverser Methoden und Lösungen zu der neuen ALV Grid Klasse CL_SALV_TABLE. Überweigend werden die Themen der Ausgabegestaltung angesprochen, aber auch das Verarbeiten von Events. Die gezeigten Beispiele werden als Methoden definiert mit dem Ziel, schnell zu implementierende Kopiervorlagen zu bieten.

CL_SALV_TABLE

Die Klasse CL_SALV_TABLE dient zur Ausgabe von Tabellen als Grid.

In dieser Klasse hat SAP die REUSE_ALV_GRID* Funktionsbausteine sowie die Klasse CL_ALV_GRID zusammen gefasst. Die so entstandene Klasse CL_SALV_TABLE bildet nur die Schnittmenge der bisherigen Grid Arten ab. Sie bietet folglich weniger Funktionen als die bisherigen Grids, vereinfacht dafür aber die Handhabung enorm. Der gebotene Funktionsumfang ist für die meisten Anwendungsfälle ausreichend.

 

Der Vorteil der Klasse ist, dass zur einfachen Ausgabe weder ein Feldkatalog, noch ein Dynpro definiert werden muss. Die Klasse bietet eine statische FACTORY Methode. Wie jede FACTORY Methode erzeugt auch diese eine neue Instanz der Klasse CL_SALV_TABLE und liefert das neue Objekt an den Aufrufer zurück. Die Methode kümmert sich um das anlegen evtl. notwendiger Container, das Bereitstellen der Daten, Feldkataloge usw.

 

Beispiel

Das folgende Beispiel zeigt die Verwendung der FACTORY Methode. Außerdem zeigt das Beispiel, wie die Range Tabellen von SELECT-OPTIONS an eine Methode übergeben werden können. Die Datenbeschaffung findet in einer separaten (lokalen) Klasse Z_TEST_MODEL statt (in Anlehnung an das Model-View-Controller Design Pattern, MVC). Die Klasse beinhaltet die gesamte Business Logik und somit auch (in diesem Beispiel ausschließlich) eine Methode zur Datenbeschaffung (GET_FLIGHTS). Dieser Methode werden die SELECT-OPTIONS übergeben.

 

Ergebnis

SALV Factory
Ausgabe per ALV