Code: Alles auswählen.
assign (<fieldnamestructure>) to <field>.
Code: Alles auswählen.
assign component <fieldname> of structure struc to <field>.
grundsätzlich funktioniert das Zuweisen eines dynamisch definierten Feldsymbols genauso, wie auch bei 'normalen' Variablen.ST22 hat geschrieben:Hallo Forum,
Ich habe folgendes Problem:
Über Customizing bekomme ich in einer Formroutine zur Laufzeit den Namen einer Programmstruktur und den Namen eines Feldsymbols z.B. CUSTOMIZING-Programmstruktur = 'GS_PROG_STTRUCTURE' CUSTOMIZING-Feldsymbol = '<FS_FIELD_SYMBOL>.
wie bekomme ich den assign hin?
assign (CUSTOMIZING-Programmstruktur) to ?.
Wie kann ich den Namen des Feldsymbols dynamisch angeben, geht das überhaupt oder muss ich irgendwelche Umwege über weitere Feldsymbole machen?
Danke für eure Hilfe!
Code: Alles auswählen.
data:
fs_value type i value 5,
fs_name type char8 value '<FS_VAL>',
fs_text type char40.
field-symbols:
<fs_val> type any,
<fs> type any.
assign fs_value to <fs_val>.
assign (fs_name) to <fs>.
write <fs> to fs_text left-justified.
concatenate
'Der Wert ist ='
fs_text
into fs_text
separated by space.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
* TITLEBAR = ' '
* DIAGNOSE_OBJECT = ' '
text_question = fs_text
* TEXT_BUTTON_1 = 'Ja'(001)
* ICON_BUTTON_1 = ' '
* TEXT_BUTTON_2 = 'Nein'(002)
* ICON_BUTTON_2 = ' '
* DEFAULT_BUTTON = '1'
* DISPLAY_CANCEL_BUTTON = 'X'
* USERDEFINED_F1_HELP = ' '
* START_COLUMN = 25
* START_ROW = 6
* POPUP_TYPE =
* IV_QUICKINFO_BUTTON_1 = ' '
* IV_QUICKINFO_BUTTON_2 = ' '
* IMPORTING
* ANSWER =
* TABLES
* PARAMETER =
* EXCEPTIONS
* TEXT_NOT_FOUND = 1
* OTHERS = 2
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Code: Alles auswählen.
ASSIGN (customizing-prog_structure) TO (customizing-field_symbol).