ALV-Control (ABAP): Unterschied zwischen den Versionen
Aus MattWiki
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Mit folgendem Listing wird eine Datenbanktabelle | Mit folgendem Listing wird eine definierte Datenbanktabelle in eine interne Tabelle gelesen und in einem ALV-Control ausgegeben. | ||
in eine interne Tabelle gelesen und in einem | |||
ALV-Control ausgegeben. | Für varianten mit zur Laufzeit bestimmten Tabellen siehe [[Dynamische Programmierung (ABAP)]] | ||
<syntaxhighlight lang="abap"> | <syntaxhighlight lang="abap"> | ||
Zeile 8: | Zeile 8: | ||
" Datenreferenz erstellen. Diese kann auf einen typisierten oder | " Datenreferenz erstellen. Diese kann auf einen typisierten oder | ||
" untypisierten Datenspeicher zeigen. Hier: untypisiert. | " untypisierten Datenspeicher zeigen. Hier: untypisiert. | ||
DATA: | DATA: gs_scarr TYPE scarr, | ||
gt_scarr TYPE TABLE OF scarr. | |||
" Feldsymbol für interne Tabelle | " Feldsymbol für interne Tabelle | ||
FIELD-SYMBOLS: < | FIELD-SYMBOLS: <gt_table> LIKE LINE OF gt_scarr. | ||
" Datenbanktabelle in interne Tabelle laden | " Datenbanktabelle in interne Tabelle laden | ||
SELECT * FROM scarr INTO TABLE | SELECT * FROM scarr INTO TABLE gt_scarr. | ||
" Interne Tabelle zeilenweise durchlaufen und eine Zeile der Feldreferenz | " Interne Tabelle zeilenweise durchlaufen und eine Zeile der Feldreferenz | ||
" zuordnen. Diese Feldreferenz bearbeiten. | " zuordnen. Diese Feldreferenz bearbeiten. | ||
LOOP AT | LOOP AT gt_scarr ASSIGNING <gt_table>. | ||
< | <gt_table>-url = <gt_table>-url && '/subpage/'. | ||
ENDLOOP. | ENDLOOP. | ||
" ALV-Control als Referenzvariable definieren | " ALV-Control als Referenzvariable definieren | ||
DATA: | DATA: gr_alv TYPE REF TO cl_salv_table. | ||
" ALV-Control erstellen und ausgeben | " ALV-Control erstellen und ausgeben | ||
cl_salv_table=>factory( | cl_salv_table=>factory( | ||
IMPORTING | IMPORTING | ||
r_salv_table = | r_salv_table = gr_alv | ||
CHANGING | CHANGING | ||
t_table = | t_table = gt_scarr ). | ||
gr_alv->display( ). | |||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Category:ABAP]] | [[Category:ABAP]] |
Aktuelle Version vom 2. April 2018, 21:54 Uhr
Mit folgendem Listing wird eine definierte Datenbanktabelle in eine interne Tabelle gelesen und in einem ALV-Control ausgegeben.
Für varianten mit zur Laufzeit bestimmten Tabellen siehe Dynamische Programmierung (ABAP)
REPORT zmattitabalv.
" Datenreferenz erstellen. Diese kann auf einen typisierten oder
" untypisierten Datenspeicher zeigen. Hier: untypisiert.
DATA: gs_scarr TYPE scarr,
gt_scarr TYPE TABLE OF scarr.
" Feldsymbol für interne Tabelle
FIELD-SYMBOLS: <gt_table> LIKE LINE OF gt_scarr.
" Datenbanktabelle in interne Tabelle laden
SELECT * FROM scarr INTO TABLE gt_scarr.
" Interne Tabelle zeilenweise durchlaufen und eine Zeile der Feldreferenz
" zuordnen. Diese Feldreferenz bearbeiten.
LOOP AT gt_scarr ASSIGNING <gt_table>.
<gt_table>-url = <gt_table>-url && '/subpage/'.
ENDLOOP.
" ALV-Control als Referenzvariable definieren
DATA: gr_alv TYPE REF TO cl_salv_table.
" ALV-Control erstellen und ausgeben
cl_salv_table=>factory(
IMPORTING
r_salv_table = gr_alv
CHANGING
t_table = gt_scarr ).
gr_alv->display( ).