ALV-Reports in SAP Tutorial – ABAP List Viewer

Die allgemein gewünschten Funktionen eines jeden Berichts sind „Spaltenausrichtung“, Sortierung, Filterung, Zwischensummen, Summen usw. Um diese von Grund auf zu implementieren, ist ein hoher Programmieraufwand erforderlich. Um dies zu vermeiden, können wir ein Konzept namens ABAP List Viewer (ALV) verwenden.

Jeder dieser Berichte bietet Funktionsbausteine die dazu beitragen, ohne großen Aufwand die gewünschte Ausgabe zu erzielen. Schauen wir sie uns im Detail an –

Einfacher Bericht

Wichtige Funktionsbausteine ​​darin berichten sind -

  • Reuse_alv_fieldcatalog_merge
  • Reuse_alv_list_display
  • Reuse_alv_events_get
  • Reuse_alv_grid_display
  • Reuse_alv_commentary_write

REUSE_ALV_FIELDCATALOG_MERGE

Mit diesem Funktionsbaustein wird ein Feldkatalog gefüllt, der für die Anzeige der Daten in ALV unerlässlich ist.

Wenn die Ausgabedaten aus einer einzelnen Wörterbuchtabelle stammen und alle Spalten ausgewählt sind, müssen wir nicht ausschließlich den Feldkatalog erstellen. Es reicht aus, den Tabellennamen als Parameter (I_structure_name) im REUSE_ALV_LIST_DISPLAY anzugeben. Aber in anderen Fällen müssen wir es erstellen.

Hinweis: Der Feldkatalog kann auch manuell ausgefüllt werden, indem alle erforderlichen Felder ausgefüllt werdentails in die interne Tabelle

Wichtige Parameter sind:

1. Exportieren:

  • I_Programmname: Berichts-ID
  • I_internal_tabname: die interne Ausgabetabelle
  • I_inclname: Include oder der Berichtsname, in dem alle dynamischen Formulare verarbeitet werden.

2. Ändern

  • ct_fieldcat: ein interne Tabelle mit dem Typ SLIS_T_FIELDCAT_ALV, der im Typpool SLIS deklariert ist.

REUSE_ALV_LIST_DISPLAY

Dies ist der Funktionsbaustein, der die Daten druckt.

Die wichtigen Parameter sind:

1. Exportieren:

  • I_callback_program: Berichts-ID
  • Ich_umgehe_buffer : 'X'
  • I_buffer_aktiv: ''
  • I_callback_pf_status_set: Routine, in der ein Benutzer seinen eigenen Pf-Status festlegen oder die Funktionalität des vorhandenen Pf-Status ändern kann.
  • I_callback_user_command: Routine, in der die Funktionscodes verarbeitet werden.
  • I_Strukturname: Name der Wörterbuchtabelle
  • Is_Layout: Struktur zum Festlegen des Layouts des Berichts
  • It_fieldcat : interne Tabelle mit der Liste aller Felder und deren Attribute, die gedruckt werden sollen (diese Tabelle kann durch die Funktion automatisch gefüllt werden)
  • It_events: Interne Tabelle mit einer Liste aller möglichen Ereignisse von ALV und ihren entsprechenden Formularnamen.

2. Tabellen:

  • A. t_outtab: interne Tabelle mit den auszugebenden Daten

REUSE_ALV_EVENTS_GET:

Gibt eine Tabelle möglicher Ereignisse für einen Listentyp zurück

1. Importieren:

Et_Events:Die Ereignistabelle wird mit allen möglichen CALLBACK-Ereignissen für den angegebenen Listentyp (Spalte „NAME“) zurückgegeben. Damit Ereignisse vom Callback verarbeitet werden können, muss deren Feld „FORM“ ausgefüllt sein. Wenn das Feld initialisiert ist, wird das Ereignis ignoriert. Der Eintrag kann aus der Ereignistabelle gelesen, das Feld 'FORM' gefüllt und der Eintrag mit Konstanten aus dem Typpool SLIS geändert werden.

2. Exportieren:

I_list_type: 0 = einfache Liste REUSE_ALV_LIST_DISPLAY

1 = hierarchiCal-sequentielle Liste REUSE_ALV_HIERSEQ_LIST_DISPLAY

2 = einfache Blockliste REUSE_ALV_BLOCK_LIST_APPEND

3 = hierarchiCal-sequentielle Blockliste REUSE_ALV_BLOCK_LIST_HS_APPEND

REUSE_ALV_GRID_DISPLAY

Eine neue Funktion aus der ABAP4.6-Version, um die Ergebnisse in einem Raster statt in einer Vorschau anzuzeigen.

Parameter: wie reuse_alv_list_display

Hinweis: Grid kann keine großen Volumina verarbeiten. Funktionen wie Sortieren, Scrollen nach unten verbrauchen viel Ressourcen/Zeit, wenn die Menge der anzuzeigenden Daten groß istyed ist hoch. Es gibt keine eindeutige Definition, dass bei einer Datenmenge von Wenn Sie sich nicht sicher sind, ist die Liste die bessere Option

REUSE_ALV_COMMENTARY_WRITE

Dies wird im Top-of-Page-Ereignis verwendet, um die Überschriften und andere Kommentare für die Liste zu drucken.

Wichtige Parameter

  • It_list_commentary: Interne Tabelle mit den Überschriften vom Typ slis_t_listheader.

Diese interne Tabelle hat drei Felder:

  1. Typ: „H“ – Header, „S“ – Auswahl, „A“ – Aktion
  2. Schlüssel: nur, wenn Typ „S“ ist.
  3. Info: der zu druckende Text

Bericht blockieren

Dies sieht aus wie ein einfacher Bericht, verfügt jedoch nur über Sortier- und Filterfunktionen. Dieser Bericht wird verwendet, wenn Sie mehr als einen Bericht in der Ausgabe anzeigen müssen. Technisch gesehen, wenn Sie mehrere interne Tabellen mit anzuzeigenden Daten habenyed Als separate Blöcke verwenden wir dann den Blockbericht von ALV.

Die wichtigen Funktionen zur Erstellung dieses Berichts sind:

  • REUSE_ALV_BLOCK_LIST_INIT
  • REUSE_ALV_BLOCK_LIST_APPEND
  • REUSE_ALV_BLOCK_LIST_DISPLAY

REUSE_ALV_BLOCK_LIST_INIT

Dieser Funktionsbaustein wird verwendet, um den Standard-GUI-Status usw. festzulegen. Die Parameter ähneln denen, die in reuse_alv_list_display oder reuse_alv_grid_display verwendet werden

REUSE_ALV_BLOCK_LIST_APPEND

Dieser Funktionsbaustein fügt die Daten dem Block hinzu.

Wichtige Parameter

1.Exportieren:

  • is_layout: Layouteinstellungen für Block
  • it_fieldcat: Feldkatalog
  • I_tabname: Interner Tabellenname mit allen möglichen Ereignissen

2. Tabellen:

  • t_outtab: interne Tabelle mit Ausgabedaten.

REUSE_ALV_BLOCK_LIST_DISPLAY

Dieser Funktionsbaustein zeigt die Liste mit den durch die obige Funktion angehängten Daten an.

Parameter: Alle Parameter sind optional.

HierarchiCal-Berichte

HierarchiDie Cal-Anzeige wird zum Anzeigen verwandter Daten verwendet. Wie Kundenauftrag und Artikeldetails. Hier Kundenauftrag details können die Kopfdaten sein, während die Artikel im Kundenauftrag die Artikeldaten sein können

Der hierfür verwendete Funktionsbaustein ist

REUSE_ALV_HIERSEQ_LIST_DISPLAY

Exporte:

  • I_CALLBACK_PROGRAM
  • I_CALLBACK_PF_STATUS_SET
  • I_CALLBACK_USER_COMMAND
  • IS_LAYOUT
  • It_fieldcat
  • It_events
  • I_tabname_header: Name der internen Tabelle im Programm, die die Ausgabedaten der höchsten Hierarchieebene enthält.
  • I_tabname_item: Name der internen Tabelle im Programm, die die Ausgabedaten der untersten Hierarchieebene enthält.
  • Is_keyinfo: Diese Struktur enthält die Feldnamen der Kopf- und Elementtabelle, die die beiden Tabellen verbinden (gemeinsamer Schlüssel).

Tische

  • t_outtab_header: Header-Tabelle mit auszugebenden Daten
  • t_outtab_item: Name der internen Tabelle im Programm, die die Ausgabedaten der untersten Hierarchieebene enthält.

Alle Definitionen interner Tabellen, Strukturen und Konstanten werden in einem Typpool namens deklariert SLIS. Diese interne Tabelle kann mithilfe von REUSE_ALV_FIELDCATALOG_MERGE automatisch gefüllt werden.

Varianten anzeigen

  • Mithilfe von Anzeigevarianten werden die Standardeigenschaften einer ALV-Ausgabe wie Sortierkriterien, Filterkriterien, Summierung und Zwischensumme usw. festgelegt
  • Anzeigevarianten können benutzerspezifisch und standardmäßig sein (Standardvarianten können von jedem Benutzer verwendet werden)
  • Welche Anzeigevarianten gespeichert werden können, wird durch den Parameter i_save gesteuert, der in den Funktionsbausteinen reuse_alv_list_display / reuse_alv_grid_display übergeben wird
  • Sie können auf dem Selektionsbild eine Option zur Auswahl der zu verwendenden Anzeigevariante bereitstellen

Die allgemeinen Funktionsmodule im Zusammenhang mit der Auswahl/Validierung von Anzeigevarianten sind:

  1. Reuse_alv_variant_default_get
  2. Reuse_alv_variant_f4
  3. Reuse_alv_variant_existence

Das ist alles ABAP – ALV-Programmierung!