Link Search Menu Expand Document

Simple structure

Самый простой способ отправить простые данные в отчет - передать их в структуре (или в атрибутах объекта)

    " Document structure
    BEGIN OF ts_root,
      title  TYPE char15,
      text   TYPE string,
      int    TYPE i,
      bottom TYPE string, " Any field could be REF TO, STRUCTURE or TABLE
    END OF ts_root.

Данные могут выглядеть так:

    ls_root-title   = 'Document title'.
    ls_root-text    = 'Just string'.
    ls_root-int     = 3.
    ls_root-bottom  = 'bottom'.

Шаблон в Excel, Word или pdf может выглядеть так:


Basic example

Title: {R-TITLE}

Just put markers where you want

Just string {R-TEXT}

Integer {R-INT}

Bottom: {R-BOTTOM}


Если объединить структуру с данными ls_root отчет может выглядеть так


Basic example

Title: Document title

Just put markers where you want

Just string Just string

Integer 3

Bottom: bottom ***

Библиотека XTT

Код для вывода данной структуры в шаблон может выглядеть так:

    NEW zcl_xtt_excel_xlsx( NEW zcl_xtt_file_smw0( ) )->merge( ls_root )->download( ).

* Код библиотеки совместим с версией ABAP 7.02. Новый синтаксис используется в демонстративных целях

1) ZCL_XTT_EXCEL_XLSX можно заменить на 1 из классов потомков ZCL_XTT

image

2) Вместо ZCL_XTT_FILE_SMW0 на любой из следующих

image

3) Метод MERGE( ) можно вызывать не сколько раз, для разных меток. По умолчанию ‘R’

4) Метод DOWNLOAD( ) имеет опциональные параметры для выгрузки отчета. Для прочих действий можно воспользоваться одним из методов:

image


Все форматирование текста внутри {} остается неизменным.

В word зачастую, блок который выглядит одинаково может состоять из нескольких с одинаковым форматированием.

Обязательно проверьте всю орфографию в WORD нажав F7, так как некоторые символы {};= приводят к орфографическим ошибкам и соответственно к разным XML блокам внутри документа. image

Для исключение подобного случая нужно скопировать блок с {} в notepad, скопировать в нем и вставить обратно

Теперь если в Word будет подобное фоматирование (Классы ZCL_XTT_WORD_DOCX и ZCL_XTT_WORD_XML)

форматирование будет аналогично 1-й части текста