поля not initial. Там только простые типы данных в полях.
Правильно я понимаю, что это получение списка компонент через RTTS, а потом цикл по ним и ASSIGN?
Или есть чего поумнее, а может вообще готовое?
Можно без rtti а sy-index юзать
можно assign component по индексу
Старьё же. Немодное. 🙂
ну делай как умеешь по новому и модно
Самый быстрый доступ к полю через индекс
ты невнимателен. перечитай условие задачи
Денис - поясни мне, чего не так через assign component по индексу? :) что там такого в условии? вот так работать не будет? LOOP AT itab ASSIGING <stab>. DO. ASSIGN COMPONENT sy-index OF STRUCTURE <stab> INTO <value>. IF sy-subrc <> 0. EXIT. ENDIF. IF <value> IS INITIAL. " в строке есть начальное значение exit. ENDIF. ENDDO. ENDLOOP.
все так. я ж написал - так быстрее, чем через ртти получить список полей и потом бегать по ним
А Денис прав: условие ты невнимательно прочитал. 😀
Если хочется чего-нибудь новенького, то можно поизвращаться так (: IF CORRESPONDING #( ls_data MAPPING fld1 EXCEPT * ) IS NOT INITIAL AND CORRESPONDING #( ls_data MAPPING fld2 EXCEPT * ) IS NOT INITIAL AND CORRESPONDING #( ls_data MAPPING fld2 EXCEPT * ) IS NOT INITIAL. " Все поля непустые! ENDIF.
Это крайне... необычно. 🙂 🤣
это же надо так постараться извратить corresponding 😂
Обсуждают сегодня