This is a test message to test the length of the message box.
Login
ABAP Tipp ALV Variante transportieren
Erstellt von Software-Heroes

ABAP Tipp - ALV Varianten transportieren

928

In diesem kleinen Artikel zeigen wir dir einige Tipps im Bezug auf ALVs, Varianten und die Verteilung im System.

Werbung


ALV oder auch SAP List Viewer wird für alle möglichen Ausgaben im System verwendet und hatte sich lange Zeit als neuer Standard nach den Drucklisten etabliert. Für die Entwicklung eines ALV gibt es mittlerweile viele verschiedene Methoden, die alle ihre Vor- und Nachteile haben.

 

Methoden

Heute existieren noch verschiedene Methoden um einen ALV zu erzeugen, dazu ein kurzer Überblick sortiert mit der ältesten Technologie zuerst.

  • Funktionsbaustein REUSE_ALV_GRID_DISPLAY
  • Klasse CL_GUI_ALV_GRID
  • Klasse CL_SALV_TABLE

 

Wieso eigentlich zwei Klassen im System wirst du dich fragen? Wenn du dir die ältere Klasse CL_GUI_ALV_GRID anschaust, wirst du schnell feststellen, dass hier ein Refactoring dringend nötig war. Die Klasse ist mit ca. 220 Methoden und über 25000 Zeilen Code riesig, nicht mehr richtig wartbar und unübersichtlich. Die neue Klasse CL_SALV_TABLE ist die Überarbeitung der alten Klasse nach modernen OO Prinzipen.

Ein Nachteil der neuen Klasse ist aber, dass damit keine Änderung an Daten im ALV durchgeführt werden können. Die Klassen bieten reine Anzeigefunktionalität. Damit solltest du auf jeden Fall beide Klassenvarianten beherrschen.

 

Aufbau

Hier ein kleines Beispiel, wie man mit wenig Code direkt eine ALV aufbaut und anzeigt. Dazu lesen wir im ersten Schritt die Buchungskreise, rufen die Factory auf, aktivieren noch ein paar Einstellungen und zeigen die Daten auf dem Bildschirm an. Dazu ist dann auch kein seperates Dynpro notwendig und man erhält auch die Funktionsleiste dazu.

SELECT *
 FROM t001
 INTO TABLE @DATA(lt_companies).

cl_salv_table=>factory(
 IMPORTING r_salv_table = DATA(lo_alv)
 CHANGING t_table = lt_companies ).

DATA(lo_functions) = lo_alv->get_functions( ).
lo_functions->set_all( ).

DATA(lo_layout) = lo_alv->get_layout( ).
lo_layout->set_default( abap_true ).
lo_layout->set_key( VALUE #( report = sy-repid handle = '0001' ) ).
lo_layout->set_save_restriction( ).

lo_alv->display( ).

 

Durch die Konfiguration der Funktionen und des Layout-Handlings erhältst du die gewohnte Funktionsleiste, mit der du dann das Layout des ALV ändern und sichern kannst.

 

Transport von Varianten

Für den Transport einer Variante musst du zuerst einmal deine Variante im System konfigurieren und anlegen. Dies kannst du den letzten drei Buttons der Funktionsleiste machen. Nachdem du die Variante angelegt hast und noch in der Anzeige deiner Daten bist, kannst du über das Menü unter dem Punkt "Einstellungen -> Layout -> Verwalten" abspringen.

 

Im Anschluss erhältst du eine Übersicht der Varianten zum aktuell ALV. Hier kannst du dir die zu transportierende Variante wählen und über das Menü unter dem Punkt "Layout -> Transportieren", die Variante in einen bestehenden Transport übernehmen oder einen Neuen anlegen.

 

Du benötigst einen Customizing Transport im System, um die Aufzeichnung durchzuführen. Der Eintrag im Transport sieht dann wie folgt aus.

 

Fazit

Wenn es um Darstellung und Änderung von Daten geht, haben sich mittlerweile viele anderen Technologien etabliert, die auch zumeist unabhängig von der SAP GUI sind. Webdynpro oder SAP Fiori basieren auf Webtechnologien, werden aber in Bezug auf Schnelligkeit in der Entwicklung wahrscheinlich die klassische Liste im System nicht so schnell einholen. Zumindest die nächsten Jahre wird damit der ALV ein wichtiger Bestandteil für den ABAP Entwickler bleiben.


Enthaltene Themen:
TippALVVarianten transportieren
Kommentare (0)



Und weiter ...

Bist du zufrieden mit dem Inhalt des Artikels? Wir posten jeden 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.


ABAP in der Praxis - Typkonvertierung

Kategorie - ABAP

Wie würdest du diese Typkonvertierung in ABAP durchführen? Ein Beispiel aus der Praxis und ein Lösungsvorschlag.

16.07.2024

ABAP Tipp - RFC Fehlerbehandlung

Kategorie - ABAP

Wie behandelt man eigentlich Fehler, wenn man über eine Destination im Funktionsbaustein kommuniziert? Mehr dazu in unserem Tipp.

05.03.2024

ABAP Tipp - CLEAR right

Kategorie - ABAP

Richtig löschen? In diesem Artikel wollen wir uns einmal anschauen, wann es Sinn macht zu löschen und wie du effektiv vorgehen kannst.

12.05.2023

ABAP Tipp - Performance Kettensätze

Kategorie - ABAP

Schauen wir uns hier einmal die Performance beim Bilden von Kettensätzen mit DATA und FIELD-SYMBOL an. Welche Variante wird bei der Performance vorn liegen?

28.04.2023

ABAP Tipp - Adobe Formulare zu groß

Kategorie - ABAP

In diesem kleinen Tipp wollen wir uns anschauen, wieso im schlechtesten Fall Adobe Formulare größer werden, als sie eigentlich sein sollten.

18.11.2022