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

996

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 Praxis - String Verarbeitung

Kategorie - ABAP

In diesem praktischen Beispiel schauen wir uns die String Verarbeitung zur Ermittlung der CDS Namen in CamelCase an und wie du das mit ABAP umsetzen kannst.

15.10.2024

ABAP in der Praxis - Test Driven Development

Kategorie - ABAP

Wie funktioniert eigentlich TDD in der Praxis und gibt es einfache Beispiele zum Lernen in ABAP? In dieser Übung gehen wir auf den praktischen Teil ein.

24.09.2024

ABAP in der Praxis - Datenmenge zusammenführen

Kategorie - ABAP

Wir führen wir zwei unterschiedliche Datenmengen in ABAP zusammen, vor allem im Hinblick auf das Moderne ABAP? Eine praktische Aufgabe zum Thema.

17.09.2024

ABAP in der Praxis - Modern ABAP

Kategorie - ABAP

In dieser kleinen Aufgabe schauen wir uns bestehenden klassischen ABAP Quellcode an und versuchen diesen nach Modern ABAP zu optimieren.

27.08.2024

ABAP Tipp - Performance Datenfilterung

Kategorie - ABAP

Welche Anweisung verwendest du in ABAP zur Filterung von internen Tabellen und ist diese performant? In diesem Artikel mehr dazu.

13.08.2024