Dynamische Programmierung (ABAP): Unterschied zwischen den Versionen
Aus MattWiki
Matt (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Programm mit Struktur == <syntaxhighlight lang="abap"> REPORT zmattdynprogwa. DATA: lv_table_name TYPE string VALUE 'SCARR'. " Datenreferenz erstellen. D…“) |
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 10: | Zeile 10: | ||
DATA: lr_table_line TYPE REF TO data. | DATA: lr_table_line TYPE REF TO data. | ||
" Generisches Feldsymbol | |||
FIELD-SYMBOLS: <ls_table_line> TYPE any. | FIELD-SYMBOLS: <ls_table_line> TYPE any. | ||
Version vom 31. März 2018, 18:14 Uhr
Programm mit Struktur
REPORT zmattdynprogwa.
DATA: lv_table_name TYPE string VALUE 'SCARR'.
" Datenreferenz erstellen. Diese kann auf einen typisierten oder
" untypisierten Datenspeicher zeigen. Hier: untypisiert.
DATA: lr_table_line TYPE REF TO data.
" Generisches Feldsymbol
FIELD-SYMBOLS: <ls_table_line> TYPE any.
" Reservieren von Hauptspeicher passend zum Typ der Datenreferenz.
CREATE DATA lr_table_line TYPE (lv_table_name).
" Da das Feldsymbol vom Type Any ist, muss im Assign der Zusatz
" Casting Type eingefügt werden, der das Feldsymbol typisiert.
ASSIGN lr_table_line->* TO <ls_table_line> CASTING TYPE (lv_table_name).
" SELECT SINGLE gibt genau eine Zeile für eine Struktur zurück
SELECT SINGLE * FROM (lv_table_name) INTO <ls_table_line>
WHERE mandt = '001' AND carrid = 'BA'.
WRITE <ls_table_line>.