Gibt es eine Möglichkeit, Textfelder in einem Dynpro dynamisch anzusprechen und zu befüllen?
Als Beispiel wäre:
Mehrere Textfelder mit Namen:
100_TEXT_1
100_TEXT_2
100_TEXT_3
usw.
*Im Report selbst sind diese global deklariert:
DATA: 100_TEXT_1 TYPE char50.
100_TEXT_2 TYPE char20,
100_TEXT_3 TYPE char20.
* Je nach einer vorherigeen Selektion sind im ITAB_TEXT mehrere Felder befüllt
* Jeder einzelne Wert soll nun in jedem einzelnen Dynprotextfeld
LOOP AT ITAB_TEXTASSIGNING <fs_text> .
zaehler = sy-tabix.
IF <fs_text> IS ASSIGNED.
CONCATENATE '100_TEXT_' zaehler INTO dynprofeld_text.
LOOP AT SCREEN.
IF screen-name = dynprofeld_text. " <-- Abfrage funktioniert !
dynprofeld_text = <fs_text>-kurztext. " <-- Wie kann ich hier das richtige Textfeld beschreiben ?
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
Ich hoffe es ist verständlich beschrieben. Im Endeffekt handelt es sich um dieses:
Im Dynpro gibt es ein Feld mit den Namen: TEXTFELDNAME
Im Report wird dieser 'TEXTFELDNAME' in einer Variable dynprofeld_text gespeichert.
dynprofeld_text = 'TEXTFELDNAME'.
Später soll ein Wert mit Hilfe der Variable mitgegeben werden.
dynprofeld_text = <fs_text>-kurztext. " <-- Wie kann ich hier das richtige Textfeld beschreiben ?
FIELD-SYMBOLS: <la_field> TYPE ANY.
ASSIGN ('100_TEXT_1') TO <la_field>.
*oder
ASSIGN (dynprofeld_text) TO <la_field>.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.