XTT - XML Template Toolkit
XTT формирует бизнес-документы из нативных шаблонов Microsoft Office и Adobe без OLE-автоматизации на сервере приложений SAP.
- Возьмите реальный документ, согласованный с пользователями.
- Откройте его в Excel, Word или Adobe LiveCycle Designer и замените переменные данные маркерами в фигурных скобках.
- Настройте формулы, диаграммы, сводные таблицы, стили и печать в исходном редакторе.
- Передайте структуру, объект, таблицу, вложенную таблицу или дерево через
MERGE( ). - Выдайте результат методом
DOWNLOAD( ),SHOW( )илиSEND( ).
Шаблон отвечает за представление, ABAP - за данные и бизнес-правила. Это основная граница ответственности в XTT.
| № | Демо |
|---|---|
| 010 | |
| 020 | |
| 021 | |
| 022 | |
| 030 | |
| 040 | |
| 050 | |
| 051 | |
| 052 | |
| 060 | |
| 070 | |
| 080 | |
| 090 | |
| 091 | |
| 092 | |
| 100 | |
| 110 | |
| 120 | |
| 130 | |
| 131 | |
| 140 | |
| 150 | |
| 160 |
Excel шаблон

Код
" Класс хранения шаблонов
" tr OAOR -> zcl_xtt_file_oaor, внешние источники -> ZCL_XTT_FILE_RAW
DATA(lo_file) = NEW zcl_xtt_file_smw0( 'Z_TEMPLATE_ID.XLSX' ).
" Excel (ZCL_XTT_WORD_DOCX, ZCL_XTT_PDF для word или pdf соответственно)
DATA(lo_xtt) = NEW zcl_xtt_excel_xlsx( io_file = lo_file ).
" R является маркером в IV_TEMPLATE
lo_xtt->merge( iv_block_name = 'R'
is_block = VALUE ts_root(
begda = pn-begda
endda = pn-endda
" Передача таблицы (или дерева)
t = lt_alv
) ).
" Выгрузка в sap_tmp. Можно указать путь или показать диалог SaveAs
" Вызовете метод SHOW( ) для показа внутри Sap gui
lo_xtt->download( ).
Различные классы для разных целей:
ZCL_XTT_EXCEL_XLSX– Книга Excel (.xlsx), Книга Excel с поддержкой макросов (.xlsm)ZCL_XTT_EXCEL_XML- XML-таблица 2003 (.xml)ZCL_XTT_WORD_DOCX- Документ Word (.docx), Документ Word с поддержкой макросов (.docm)ZCL_XTT_WORD_XML- Документ Word 2003 XML (.xml), Документ Word XML (.xml)ZCL_XTT_PDF- Adobe XML Form (.xdp)
Генерация отчетов без OLE:
- Сервер приложений SAP предоставляет готовый файл
- Никаких макросов и проблем безопасности
- Доступность фонового выполнения
Использование шаблонов:
- Отделение данных от ABAP кода (нет методов как cell-> set_bold (true) итд)
- Использование знакомого редактора как MS Word, MS Excel и Adobe LiveCycle Designer
- Не нужно быть гуру XML и генерировать XML самостоятельно
- Полное сохранение исходного форматирования документа
- Формирование сложных объектов отчетности, таких как сводные таблицы и диаграммы