Задача состоит в следующем:
Выгрузить данные стандартного отчёта REISCDCF в xml. При этом к этому отчёту создан пользовательский вариант вывода полей в alv.
То есть мне в xml нужно выгрузить не все поля отчёта, а только те, что указаны в пользовательском формате + в том же порядке.
В своей программе я знаю название варианта, который нужно вызвать.
Сейчас я с помощью такого кода вытягиваю данные из отчёта во временную таблицу:
Code:
cl_salv_bs_runtime_info=>set(
display = abap_false
metadata = abap_false
data = abap_true ).
SUBMIT rfreiscdcf WITH SELECTION-TABLE lt_seltab
WITH p_vari = p_vari " название формата, в котором хотим получить данные
AND RETURN.
TRY.
cl_salv_bs_runtime=>get_data_ref(
IMPORTING r_data = lr_data_ref_copy ).
CATCH cx_salv_bs_sc_runtime_info.
MESSAGE 'Не удалось выбрать данные из REISCDCF' TYPE 'E'.
ENDTRY.
cl_salv_runtime_info=>clear_all( ).
ASSIGN lr_data_ref->* TO <lt_table>. " <lt_table> TYPE STANDARD TABLE
То есть теперь в <lt_table> у меня лежат все данные из отчёта (~400 полей).
И есть p_vari - имя варианта (формата алв).
Насколько я понимаю, теперь мне нужно по имени отчёта+имени варианта получить филдкаталог с нужными полями. Создать таблицу с этими полями и перезаписать данные из исходной таблицы (полный отчёт) в эту новую таблицу с нужными полями.
Подскажите какими фмами это можно провернуть.