Hello
Let me present to your judgment yet one more template engine for Excel, Word and Pdf. All you need to do to is combine the data with a template.
The easiest way to send data to a report is to pass them by a structure (or an object with attributes)
" 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.
The data could look like
ls_root-title = 'Document title'.
ls_root-text = 'Just string'.
ls_root-int = 3.
ls_root-bottom = 'bottom'.
The template in Excel, Word or pdf could be like:
Basic example
Title:
{R-TITLE}
Just put markers where you want
Just string
{R-TEXT}
Integer
{R-INT}
Bottom:
{R-BOTTOM}
If you combine the structure with the
ls_root data, the report may look like this
Basic example
Title:
Document title
Just put markers where you want
Just string
Just string
Integer
3
Bottom:
bottom
XTT Library
The code for outputting this structure to the template may look like this:
NEW zcl_xtt_excel_xlsx( NEW zcl_xtt_file_smw0( ) )->merge( ls_root )->download( ).
* The library code is compatible with ABAP 7.02. New syntax is used for demonstration purposes
- ZCL_XTT_EXCEL_XLSX can be replaced with 1 of the ZCL_XTT descendant classes
- Instead of ZCL_XTT_FILE_SMW0 to any of the following
- The MERGE( ) method can be called several times, for different labels. Default name is 'R'
- The DOWNLOAD( ) method has optional parameters for downloading the report. For other actions, you can use one of the methods:
Documentation and example files available here
Templates and reports
In conclusion:
As you can see the general idea is very simple: As other template engines XTT allows you to separate a model (ABAP data) from a view (a template). This separation gives the ability to change a view without changing a model.
PS:
For those who decided to try the opus in a sandbox
Installation guide
Archives: