Lars Sommer
25. Januar 2015

ALV Varianten

ALV Beispiel

Mittlerweile bietet ABAP drei verschiedene Möglichkeiten einen SAP List Viewer (ALV) zu erstellen. Doch warum diese 3 Möglichkeiten? Was unterscheidet sie? Diese Fragen werden in diesem Blog Beitrag beantwortet.

Beitragsbild-Wie Sie Ihre SAP-Systemlandschaft optimal auf S_4HANA vorbereiten
In diesem Webinar erfahren Sie, welche Technologien der SAP für der Umstieg auf S/4HANA wirklich wichtig sind und wie Sie das volle Potenzial von S/4HANA ausschöpfen.

 

Für Besucher von Erlebe Software können wir unseren Kurs SAP ABAP für Anfänger: Programmieren lernen mit SAP mit kräftigem Rabatt anbieten.

SAP ABAP für Anfänger: Programmieren lernen mit SAP

Warum REUSE_ALV_GRID_DISPLAY, CL_GUI_ALV_GRID und CL_SALV_TABLE?

Im Grunde sind die drei verschiedenen Möglichkeiten Weiterentwicklungen voneinander. Am Anfang waren die Funktionsbausteine. Die Funktionsgruppe SLVC_FULLSCREEN beinhaltet den Funktionsbaustein REUSE_ALV_GRID_DISPLAY. Diese Variante ist die älteste und gibt es seit Release 4.0. Nach den Funktionsbausteinen kam ABAP Objects und damit auch die objektorientierte Variante des ALV Grids: CL_GUI_ALV_GRID. Diese Variante gibt es seit Release 4.6. Mit dem Release 6.4 kam dann noch eine objektorientierte Variante: CL_SALV_TABLE. Diese neue Variante soll für Entwickler einfacher handzuhaben sein.

ALV Varianten
Wir sind Ihr Dienstleister für die Entwicklung, die Ihr SAP noch besser macht.
Schon in der Ideenphase unterstützen wir Sie bei der Definition der Anforderungen. Die Konzeption und Umsetzung erfolgt durch unsere SAP Experten.

Sie erhalten die Komplettlösung – Ihr Projekt machen wir zu unserem Projekt. Mit professionellem Projektmanagement sicheren wir den Projekterfolg.

Gerne spreche ich mit Ihnen über Ihre Ausgangslage und zeige Lösungsmöglichkeiten auf. Auf Wunsch unterbreite ich Ihnen im Anschluss ein unverbindliches Angebot.

Kontaktieren Sie mich: Telefon 0211.9462 8572-16 oder per E-Mail info@erlebe-software.de

Ingo Biermann, Fachbereichsleiter

Unterschiede zwischen den Varianten

Der auffälligste Unterschied ist wohl vorerst, dass REUSE_ALV_GRID_DISPLAY auf einem Funktionsbaustein basiert und die anderen beiden objektorientiert umgesetzt wurden. Daneben gibt es aber noch weitere Unterschiede. Sowohl bei dem Funktionsbaustein als auch bei CL_GUI_ALV_GRID müssen zu einem die Daten als auch die Beschreibung der Daten (Meta Daten) geliefert werden. D.h. dem Programm müssen die Daten, die angezeigt werden sollen, mit einer internen Tabelle übergeben werden. Gleichzeitig muss aber auch beschrieben werden, was für Daten das sind. Die Beschreibung der Daten kann entweder über den sogenannten Feldkatalog oder über den Strukturnamen übergeben werden und bestimmt z.B. die Spaltennamen im ALV. Das nächste Bild soll das verdeutlichen:

REUSE_ALV_GRID_DISPLAY

Parameter für REUSE_ALV_GRID_DISPLAY

Das nächste Bild zeigt den Unterschied zu CL_SALV_TABLE. Hier werden lediglich die Daten benötigt mit denen ein Objekt vom Typ CL_SALV_TABLE erzeugt wird. Die Klasse erstellt die Datenbeschreibung dann automatisch anhand der übergebenen Daten.

CL_SALV_TABLE

Parameter für CL_SALV_TABLE

Die getrennte Übergabe von Daten und Meta-Daten bei REUSE_ALV_GRID_DISPLAY und CL_GUI_ALV_GRID ist sehr fehleranfällig. Wenn die Meta-Daten nicht zu den übergebenen Daten passen kommt es zu Fehlern und das ALV wird nicht angezeigt. Diese Schwachstelle wurde unter anderem bei CL_SALV_TABLE behoben.

REUSE_ALV_GRID_DISPLAY ist die älteste Variante, wodurch auch die Funktionalität geringer ist. Z.B. wird von den beiden objektorientierten Varianten die Drag & Drop Funktionalität im ALV unterstützt. REUSE_ALV_GRID_DISPLAY unterstützt diese Funktionalität nicht.

Bei der Entscheidung, welche Variante für welchen Anwendungsfall genutzt werden sollte, empfehle ich eindeutig die aktuellste Variante, die vom jeweiligen SAP Release zur Verfügung gestellt wird. Gerade die neuste Variante CL_SALV_TABLE ist durch den oben beschriebenen Aufbau wesentlich robuster. Des Weiteren sind die beiden Varianten CL_GUI_ALV_GRID und CL_SALV_TABLE für Entwickler durch den objektorientierten Ansatz einfacher zu handhaben und bieten mehr Funktionalität.

 

Fazit

Dieser Blog Beitrag gibt einen Überblick über die verschiedenen ALV Varianten. Zukünftige Blog Beiträge werden näher auf den Umgang mit den einzelnen Varianten eingehen.

Welche Variante nutzen Sie am liebsten und warum? Welche Probleme haben Sie mit ALVs? Ich freue mich auf Ihre Kommentare.

Lars Sommer

Lars Sommer

Mein Name ist Lars Sommer und ich bin begeisterter SAP Consultant bei mindsquare. Wie meine Kollegen habe ich mein Hobby zum Beruf gemacht.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren

Jeder kennt sie: Die REUSE-Funktionsbausteine für die ALV-Generierung in einem klassischen ABAP-Report. Oft benutzt, wenn schnell ein kleiner Report benötigt wird, um Daten auszulesen, aber auch bei komplexeren Programmen mit […]

weiterlesen

Vermissen Sie auch regelmäßig die Möglichkeit in SAP schnell eine SQL-Abfrage zu basteln? Ohne die SE80, aber mit mehr Möglichkeiten als die SE16N? Dann sollten Sie sich die Transaktion SQVI […]

weiterlesen

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Alexander Koessner-Maier
Alexander Kössner-Maier Kundenservice