SAPфорум.RU https://www.sapboard.ru/forum/ |
|
Цикл по определенному полю таблицы. https://www.sapboard.ru/forum/viewtopic.php?f=13&t=96537 |
Страница 1 из 1 |
Автор: | s.p.i.d. [ Пт, июн 22 2018, 11:24 ] |
Заголовок сообщения: | Цикл по определенному полю таблицы. |
Добрый день, уважаемые форумчане. Подскажите пожалуйста как можно сделать цикл или прочитать динамическую таблицу по определенному полю? Название полей получаю через describe field. |
Автор: | Besa [ Пт, июн 22 2018, 11:35 ] |
Заголовок сообщения: | Re: Цикл по определенному полю таблицы. |
operator assign + f1. ASSIGN - dynamic_dobj Также поиск, задача простая, много раз обсуждалось. |
Автор: | Igor_Beruk [ Пт, июн 22 2018, 11:35 ] |
Заголовок сообщения: | Re: Цикл по определенному полю таблицы. |
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. |
Автор: | author [ Пт, июн 22 2018, 11:51 ] |
Заголовок сообщения: | Re: Цикл по определенному полю таблицы. |
Code: data lt_dynamic type any table.
data lt_described type standard table of string with default key. loop at lt_dynamic assigning field-symbol(<ls_dynamic>). loop at lt_described assigning field-symbol(<ls_described>). assign component <ls_described> of <ls_dynamic> to field-simbol(<lv_field>). if sy-subrc = 0. write / <lv_field>. endif. endloop. endloop. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |