ALV-Control (ABAP)

Aus MattWiki
Version vom 1. April 2018, 16:23 Uhr von Matt (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Mit folgendem Listing wird eine Datenbanktabelle in eine interne Tabelle gelesen und in einem ALV-Control ausgegeben. <syntaxhighlight lang="abap"> REPORT z…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Mit folgendem Listing wird eine Datenbanktabelle in eine interne Tabelle gelesen und in einem ALV-Control ausgegeben.

REPORT zmattitabalv.

" Datenreferenz erstellen. Diese kann auf einen typisierten oder
" untypisierten Datenspeicher zeigen. Hier: untypisiert.
DATA: ls_scarr TYPE scarr,
      lt_scarr TYPE TABLE OF scarr.

" Feldsymbol für interne Tabelle
FIELD-SYMBOLS: <lt_table> LIKE LINE OF lt_scarr.

" Datenbanktabelle in interne Tabelle laden
SELECT * FROM scarr INTO TABLE lt_scarr.

" Interne Tabelle zeilenweise durchlaufen und eine Zeile der Feldreferenz
" zuordnen. Diese Feldreferenz bearbeiten.
LOOP AT lt_scarr ASSIGNING <lt_table>.
  <lt_table>-url = <lt_table>-url && '/subpage/'.
ENDLOOP.

" ALV-Control als Referenzvariable definieren
DATA: lr_alv TYPE REF TO cl_salv_table.

" AVL-Control erstellen und ausgeben
cl_salv_table=>factory(
  IMPORTING
      r_salv_table = lr_alv
  CHANGING
    t_table = lt_scarr ).

lr_alv->display( ).