помогите мне с отчетом Abap. У меня 2 стол.
я должен создать файл только с полями itab2 (обязательное поле itab), но со значением заголовка itab.
Файл будет:
вкладка файл
Itab2 говорит мне, какие поля itab1 обязательны для создания файла itab.
Itab2 - это таблица с именем поля itab1, обязательным для создания файла. В примере поле было 1, но может иметь какое-то имя поля itab1. Итак, я сопоставляю 2 таблицы для создания файла, но я понятия не имею
Итак, itab2 может иметь несколько строк, т.е. несколько имен полей? И вы хотите, чтобы все эти поля были в файле?
Да, itab2 может иметь все имена полей или некоторые имена полей itab1.. поэтому моя проблема заключается в том, как я получаю значение itab1, начинающееся с имени поля itab2.
Это дает вам представление о том, что делать с использованием ASSIGN
для динамического выбора поля.
LOOP AT itab_a INTO DATA(wa_itab_a). " your data tab
LOOP AT itab_b INTO DATA(wa_itab_b). " your obligatory field list
TRANSLATE wa_itab_b-fieldname TO UPPER CASE. " important if they are not already in uppercase
ASSIGN COMPONENT wa_itab_b-fieldname OF STRUCTURE wa_itab_a TO FIELD-SYMBOL(<fs_field>).
" ... in <FS_FIELD> you will have the values of the obligatory fields
" so you can concatenate, par example, to file line
CONCATENATE wa_file-line <fs_field> INTO wa_file-line SEPARATED BY c_separator.
ENDLOOP.
" append file line here, something like this:
APPEND wa_file TO itab_file.
CLEAR wa_file.
ENDLOOP.
Это можно сделать с помощью FIELD-SYMBOL, просто мне пока не ясно, является ли "2. Обязательное поле" одним полем, это структура или таблица? Вы пишете, что это таблица, но тогда в ней может быть несколько строк, и все это не имеет никакого смысла (по крайней мере, для меня...)