Um eine bessere Lesbarkeit in einem ALV Grid zu erreichen, kann es sinnvoll sein, die Farben (Hintergrund und Schrift) einer Spalte zu verändern. ... weiterlesen
SAP
ALV Filter setzen
Um einen Filter in der ALV Ausgabe per Code zu setzen, gibt es zwei Möglichkeiten.
- Vorherige Definition eines Benutzerlayouts und anschließendes Setzen des Layouts im Code (siehe diesen Beitrag)
- Setzen des Filters per Code
Hier wird beschrieben, wie der Filter per Code vorbelegt werden kann. Der Benutzer kann anschließend wie gewohnt den Filter verändern und löschen. Das Setzen des Filters erfolgt in der Methode SET_ALV_FILTER der Klasse Z_TEST_VIEW.
ALV Layout vorbelegen
Damit ein ALV Grid direkt mit einem bestimmten Layout ausgegeben wird muss das Initiale Layout des Grid vor der Ausgabe gesetzt werden. Der folgende Code Abschnitt beschreibt die Vorgehensweise. ... weiterlesen
Datenbankänderungen mit SE16N
Es gibt Situationen im Leben eines SAP Entwicklers (oder -Beraters, -Basis Admins), in denen man einen einzelnen Datensatz aus einer Datenbanktabelle direkt ändern muss. Dies tritt freilich nur in wirklichen Ausnahmesituationen ein und stellt den letzten Rettungsanker dar. In diesem Beitrag beschreibe ich, welche wirklich gute Lösung SAP dafür bietet.
... weiterlesen
ALV Matchcode für benutzerspezifische Layouts
Der Benutzer kann das gewünschte Anzeigelayout eines ALV Grid (Spalten, Filter etc.) auswählen, sobald das ALV Grid in der Standardansicht angezeigt wird. Mit wenigen Codezeilen kann man die Auswahl des Layouts bereits auf dem Selektionsbild des Reports ermöglichen. Auf dieser Seite ist beschrieben, wie ein Matchcode auf das Layout realisiert werden kann. ... weiterlesen
ALV benutzerspezifische Layouts aktivieren
Damit ein Benutzer die erstellen Layouts (Spalten, Filter etc.) sichern kann, muss dies im ALV aktiviert werden. Der folgende Code Abschnitt beschreibt die Vorgehensweise. Die Layout Funktion wird in der Methode ENABLE_USER_LAYOUT der Klasse Z_TEST_VIEW implementiert. ... weiterlesen
Messages als Popup: Sammeln und Ausgeben von Nachrichten
In einigen SAP Standard Reports findet man einen Popup Dialog, in dem alle Meldungen des Reports gesammelt angezeigt werden. Mit den hier beschriebenen Funktionsbausteinen lässt sich diese Funktion einfach in eigene Reports integrieren.
... weiterlesen
ALV Spaltenbreite optimieren
Bei der Ausgabe einer ALV Tabelle ist die Spaltenbreite oftmals sehr ungünstig (zu breit oder zu schmal), so dass die Daten beispielsweise abgeschnitten werden. Die Spaltenbreite kann per Code auf ein optimales Maß gebracht werden. Dabei werden die Spalten so breit dargestellt, dass der längste vorhandene Wert einer Spalte optimal dargestellt wird (vergleichbar mit einem Doppelklilck zwischen zwei Spalten in Excel).
In diesem Beispiel wird das Anpassen der Spaltenbreite in der Methode SET_COLUMN_OPTIMIZE der Klasse Z_TEST_VIEW implementiert.
Zeichenkettenvergleich in ABAP
Eine der häufigsten Anforderung in nahezu jeder Programmiersprache ist der Vergleich zweier Zeichenketten. ABAP bietet dazu eine Reihe von Vergleichsoperatoren an. Die Verwendung kann jedoch tückisch sein, wie ich neulich wieder einmal feststellen musste. Das hat mich dazu angeregt, ein kleines Programm zu schreiben, welches die Verwendung und natürlich die Ergebnisse der vielen Vergleichsoperatoren aufzeigt.
... weiterlesen
ALV Funktionen aktivieren
Um alle oder die Standard ALV Funktionen zu aktivieren (Filter, Sortieren, Export etc.), kann folgender Code Abschnitt verwendet werden.
In dem Beispiel wird das Aktivieren der ALV Funktionen von der Methode SET_ALL_FUNCTIONS der Klasse Z_TEST_VIEW übernommen
Deklaration
CLASS z_test_view DEFINITION. PUBLIC SECTION. methods set_all_functions IMPORTING icl_alv type ref to cl_salv_table iv_default_only type boolean. ENDCLASS.
Implementation
CLASS z_test_view IMPLEMENTATION. *&--------------------------------------------------------------------* * ALV Funktionen aktivieren *---------------------------------------------------------------------* METHOD set_all_functions. DATA: lcl_alv_functions TYPE REF TO cl_salv_functions_list. IF icl_alv IS NOT INITIAL. lcl_alv_functions = icl_alv->get_functions( ). IF iv_default_only = abap_true. lcl_alv_functions->set_default( abap_true ). ELSE. lcl_alv_functions->set_all( abap_true ). ENDIF. ENDIF. ENDMETHOD. ENDCLASS.
Aufruf
DATA: gcl_alv TYPE REF TO cl_salv_table, " Objektreferenz für ALV Grid gcl_view type ref to z_test_view, " Objektreferenz auf View Objekt ... create OBJECT gcl_view. ... " erzeugen des ALV Objekts cl_salv_table=>factory( IMPORTING r_salv_table = gcl_alv " Referenz auf ALV Grid CHANGING t_table = gcl_model->gt_flights ). " Tabelle mit Daten für Ausgabe ... " Aktivieren der Funktionen gcl_view>set_all_functions( icl_alv = gcl_alv iv_default_only = abap_true ). " Ausgabe der Tabelle gcl_alv->display( ).
Ergebnis


