Хранение шаблонов
SMW0
SMW0 прост и удобен, транзакция OAOR слишком сложная. Зачем вообще нужна версионность шаблонов выгрузки?
Да с этими утверждениями можно согласиться отчасти.
Когда шаблон довольно прост
Достаточно взглянуть на него чтобы понять:
- на стороне SAP имеем структуру R у которой есть поле-таблица T
- кроме этого в структуре есть поля HEADER, DATE и TIME
Или прочитав код ABAP, сразу становиться понятно что получим на выходе.
" Load a template
DATA(lo_xtt) = NEW zcl_xtt_word_docx(
NEW zcl_xtt_file_smw0( iv_template_name ) ).
lo_xtt->merge( VALUE #(
" For printing
footer = 'Footer'
header = 'Header'
" Date and time in header and footer
date = sy-datum
time = sy-uzeit
" Main table
t = mt_alv[]
) ).
" download & open in sap_tmp folder (For inplace mode use ->show( ) method)
lo_xtt->download( ).
Даже не имеет значение куда выводим данные word, excel или pdf (соответственно ZCL_XTT_WORD_DOCX, ZCL_XTT_EXCEL_XLSX или ZCL_XTT_PDF).
Главное становится понятна сама структура выходного документа. Остальное можно будет понять запустив программу на выполнение.
Подробнее тут Пример №02 Вывод простой таблицы
OAOR
Но такие случаи бывают не всегда
Когда в шаблон передаются множество таблиц c группировками(level=0,1,2), с функциями агрегации(func=SUM|AVG|COUNT|FIRST) и с выводом по условию (show_if & hide_if)
Просто взглянуть на шаблон, и понять отчет, уже наверное не получится
Подробнее начиная с Пример №05_co Вывод уровня по условию
tr. ZAQO_EDITOR_OLD
Для этой цели в меню редактора появилась новая группа кнопок для просмотра и выгрузки шаблонов
При загрузки новой версии шаблона можно добавить небольшое примечание (поле Description)
Если имя файла не совпадает его можно выбрать в раскрывающемся списке (Component name)
Как и в случае с обычными настройками после достижения максимального количества версий (пу 5), предыдущие версии будут удаляться
Результат можно увидеть в самой транзакции OAOR
OAOR проверяет полномочия на конкретный Class name (package в AQO),TODO игнорировать полномочия?