Доработка нужно делать на уровне инфонабора (sq02). Аdditional field в принципе даже не нужны.
Допустим ваш ИТ 9ХХХ, в котором есть поля field1,field2,..., field20, и которые нужно превратить из столбцов в строки.
1. В инфонабор включаем одно поле field1. Все значения будем записывать в него.
2. Делаем "разворот" столбцов в строки. Переходим в раздел кодировки, открываем "Обработка записей". В этот момент для нас будет доступен зачитанный ИТ9ХХХ. вставляем примерно такой код
Code:
clear: lt_P9XXX, lt_P9XXX[].
LOOP AT P9XXX.
l_count = 0.
DO 5 TIMES VARYING l_field FROM P9XXX-field01
NEXT P9XXX-field02.
check l_count > 0.
if l_field is initial. exit. endif.
lt_P9XXX = P9XXX.
lt_P9XXX-field01 = l_field.
APPEND lt_P9XXX.
l_count = l_count + 1.
ENDDO.
ENDLOOP.
LOOP AT lt_P9XXX.
APPEND lt_P9XXX TO P9XXX.
ENDLOOP.
необходимые объявления переменных можно сделать в разделе "DATA".
Смысл кода - для каждого значения поля fieldХ создаем новую запись в таблице ИТ, при этом переносим значения fieldХ в field1. Далее в инфонаборе работаем только с полем field1.