2023 Nov 16 6:59 AM
Hi everyone,
I have an itab is name my_itab. This itab has stored a some variable names in fields0.
For example; my_itab-fields0 has fields name like my_itab2-field2.
I need a my_itab2-field2 values in loop.
I tried something but I can not access the field data.
DATA: my_itab TYPE OCCURS 0 WITH HEADER LINE.
FIELD-SYMBOLS: <field> TYPE ANY.
DATA: i_field TYPE REF TO DATA.
DATA: lv_sum TYPE p DECIMALS 2.
lv_sum = 0.
...
LOOP AT my_itab.
ASSIGN COMPONENT my_itab-fields0 TO <field>.
lv_sum = lv_sum + <field>.
ENDLOOP.
my_itab-fields0 stored my_itab2-fields2 name.
I want to get a data my_itab2-fields2 value in loop.
Thank you anyone who helps.
2023 Nov 16 1:13 PM
When I change the assign code it was solved my problem.
DATA: my_itab TYPE OCCURS 0 WITH HEADER LINE.
FIELD-SYMBOLS: <field> TYPE ANY.
DATA: i_field TYPE REF TO DATA.
DATA: lv_sum TYPE p DECIMALS 2.
lv_sum = 0.
...
LOOP AT my_itab.
ASSIGN (my_itab-fields0) TO <field>.
lv_sum = lv_sum + <field>.
ENDLOOP.
2023 Nov 16 7:29 AM
should be somethind like
loop at my_itab
reference into data(o_line_itab).
data(my_field) = conv fieldname( o_line_itab->fields0 ).
assign (my_field) into field-symbol(<my_field>).
check <my_field> is assigned and sy-subrc eq 0.
lv_sum = ..... <my_field>.
endloop.
2023 Nov 16 7:50 AM
Thanks your answer. But how can I write this? When I want to try this code block, I have many error about syntaxs.
2023 Nov 16 7:56 AM
2023 Nov 16 11:48 AM
Sorry I just wrote it without testing the code or using ABAP editor
2023 Nov 16 11:51 AM
2023 Nov 16 12:07 PM
2023 Nov 16 1:13 PM
When I change the assign code it was solved my problem.
DATA: my_itab TYPE OCCURS 0 WITH HEADER LINE.
FIELD-SYMBOLS: <field> TYPE ANY.
DATA: i_field TYPE REF TO DATA.
DATA: lv_sum TYPE p DECIMALS 2.
lv_sum = 0.
...
LOOP AT my_itab.
ASSIGN (my_itab-fields0) TO <field>.
lv_sum = lv_sum + <field>.
ENDLOOP.