s.p.i.d. написал(а):
Добрый день, уважаемые форумчане.
Подскажите пожалуйста как можно сделать цикл или прочитать динамическую таблицу по определенному полю?
Название полей получаю через describe field.
Например:
DATA: BEGIN OF ls_text,
text1 TYPE bezei40,
text2 TYPE text40,
text3 TYPE text40,
text4 TYPE text40,
text5 TYPE text40,
text6 TYPE text40,
text7 TYPE text40,
END OF ls_text,
ct_fieldcat TYPE lvc_t_fcat.
FIELD-SYMBOLS: <ls_fieldcat> LIKE LINE OF ct_fieldcat,
<ls_goods_t> TYPE any.
DO 3 TIMES.
SELECT SINGLE text1 text2 text3 text4 text5 text6 text7 INTO CORRESPONDING FIELDS OF ls_text
FROM t604t
WHERE spras EQ sy-langu.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'T604T'
i_bypassing_buffer = abap_true
CHANGING
ct_fieldcat = ct_fieldcat.
CHECK <ls_fieldcat> IS ASSIGNED.
CASE <ls_fieldcat>-fieldname.
WHEN 'TEXT1' OR 'TEXT2' OR 'TEXT3' OR 'TEXT4' OR 'TEXT5' OR 'TEXT6' OR 'TEXT7'.
ASSIGN COMPONENT <ls_fieldcat>-fieldname OF STRUCTURE ls_text TO <ls_goods_t>.
ENDCASE.
ENDDO.