Type Template Report
Excel Download template Download report

xtt->merge( iv_block_name = 'R' is_block =

JSON
[{"CITYFROM":"FRANKFURT","LANDXFROM":"Germany","CITYTO":"BERLIN","LANDXTO":"Germany","CARRNAME":"Lufthansa","CONNID":"2402","FLDATE":"2023-11-03","DEPTIME":"10:30:00","ARRTIME":"11:35:00","PRICE":242.0,"CURRENCY":"EUR","SEATSMAX":475,"SEATSOCC":451,"_GROUP1":"FRANKFURT-Germany-BERLIN-Germany","T_COLOR":[]},{"CITYFROM":"FRANKFURT","LANDXFROM":"Germany","CITYTO":"BERLIN","LANDXTO":"Germany","CARRNAME":"Lufthansa","CONNID":"2402","FLDATE":"2024-01-22","DEPTIME":"10:30:00","ARRTIME":"11:35:00","PRICE":242.0,"CURRENCY":"EUR","SEATSMAX":475,"SEATSOCC":452,"_GROUP1":"FRANKFURT-Germany-BERLIN-Germany","T_COLOR":[]},{"CITYFROM":"FRANKFURT","LANDXFROM":"Germany","CITYTO":"BERLIN","LANDXTO":"Germany","CARRNAME":"Lufthansa","CONNID":"2402","FLDATE":"2024-04-11","DEPTIME":"10:30:00","ARRTIME":"11:35:00","PRICE":242.0,"CURRENCY":"EUR","SEATSMAX":475,"SEATSOCC":461,"_GROUP1":"FRANKFURT-Germany-BERLIN-Germany","T_COLOR":[{"FNAME":"PRICE","COLOR":{"COL":5,"INT":"0 ","INV":0},"NOKEYCOL":""}]},{"CITYFROM":"FRANKFURT","LANDXFROM":"Germany","CITYTO":"BERLIN","LANDXTO":"Germany","CARRNAME":"Lufthansa","CONNID":"2402","FLDATE":"2024-04-28","DEPTIME":"10:30:00","ARRTIME":"11:35:00","PRICE":242.0,"CURRENCY":"EUR","SEATSMAX":475,"SEATSOCC":461,"_GROUP1":"FRANKFURT-Germany-BERLIN-Germany","T_COLOR":[]},{"CITYFROM":"FRANKFURT","LANDXFROM":"Germany","CITYTO":"BERLIN","LANDXTO":"Germany","CARRNAME":"Lufthansa","CONNID":"2402","FLDATE":"2024-05-28","DEPTIME":"10:30:00","ARRTIME":"11:35:00","PRICE":242.0,"CURRENCY":"EUR","SEATSMAX":475,"SEATSOCC":460,"_GROUP1":"FRANKFURT-Germany-BERLIN-Germany","T_COLOR":[{"FNAME":"SEATSMAX","COLOR":{"COL":6,"INT":"0 ","INV":0},"NOKEYCOL":""}]},{"CITYFROM":"FRANKFURT","LANDXFROM":"Germany","CITYTO":"BERLIN","LANDXTO":"Germany","CARRNAME":"Lufthansa","CONNID":"2402","FLDATE":"2024-06-30","DEPTIME":"10:30:00","ARRTIME":"11:35:00","PRICE":242.0,"CURRENCY":"EUR","SEATSMAX":475,"SEATSOCC":459,"_GROUP1":"FRANKFURT-Germany-BERLIN-Germany","T_COLOR":[{"FNAME":"PRICE","COLOR":{"COL":5,"INT":"0 ","INV":0},"NOKEYCOL":""}]},{"CITYFROM":"FRANKFURT","LANDXFROM":"Germany","CITYTO":"BERLIN","LANDXTO":"Germany","CARRNAME":"Lufthansa","CONNID":"2402","FLDATE":"2024-09-18","DEPTIME":"10:30:00","ARRTIME":"11:35:00","PRICE":242.0,"CURRENCY":"EUR","SEATSMAX":475,"SEATSOCC":189,"_GROUP1":"FRANKFURT-Germany-BERLIN-Germany","T_COLOR":[{"FNAME":"SEATSMAX","COLOR":{"COL":3,"INT":"0 ","INV":0},"NOKEYCOL":""}]},{"CITYFROM":"FRANKFURT","LANDXFROM":"Germany","CITYTO":"BERLIN","LANDXTO":"Germany","CARRNAME":"Lufthansa","CONNID":"2402","FLDATE":"2024-12-07","DEPTIME":"10:30:00","ARRTIME":"11:35:00","PRICE":242.0,"CURRENCY":"EUR","SEATSMAX":475,"SEATSOCC":32,"_GROUP1":"FRANKFURT-Germany-BERLIN-Germany","T_COLOR":[]},{"CITYFROM":"FRANKFURT","LANDXFROM":"Germany","CITYTO":"TOKYO","LANDXTO":"Japan","CARRNAME":"Japan Airlines","CONNID":"0408","FLDATE":"2023-11-03","DEPTIME":"20:25:00","ARRTIME":"15:40:00","PRICE":1061.36,"CURRENCY":"JPY","SEATSMAX":385,"SEATSOCC":367,"_GROUP1":"FRANKFURT-Germany-TOKYO-Japan","T_COLOR":[{"FNAME":"PRICE","COLOR":{"COL":5,"INT":"0 ","INV":0},"NOKEYCOL":""}]},{"CITYFROM":"FRANKFURT","LANDXFROM":"Germany","CITYTO":"TOKYO","LANDXTO":"Japan","CARRNAME":"Japan Airlines","CONNID":"0408","FLDATE":"2024-01-22","DEPTIME":"20:25:00","ARRTIME":"15:40:00","PRICE":1061.36,"CURRENCY":"JPY","SEATSMAX":385,"SEATSOCC":373,"_GROUP1":"FRANKFURT-Germany-TOKYO-Japan","T_COLOR":[{"FNAME":"SEATSMAX","COLOR":{"COL":6,"INT":"0 ","INV":0},"NOKEYCOL":""}]},{"CITYFROM":"FRANKFURT","LANDXFROM":"Germany","CITYTO":"TOKYO","LANDXTO":"Japan","CARRNAME":"Japan Airlines","CONNID":"0408","FLDATE":"2024-04-11","DEPTIME":"20:25:00","ARRTIME":"15:40:00","PRICE":1061.36,"CURRENCY":"JPY","SEATSMAX":385,"SEATSOCC":373,"_GROUP1":"FRANKFURT-Germany-TOKYO-Japan","T_COLOR":[]},{"CITYFROM":"FRANKFURT","LANDXFROM":"Germany","CITYTO":"TOKYO","LANDXTO":"Japan","CARRNAME":"Japan Airlines","CONNID":"0408","FLDATE":"2024-06-30","DEPTIME":"20:25:00","ARRTIME":"15:40:00","PRICE":1061.36,"CURRENCY":"JPY","SEATSMAX":385,"SEATSOCC":364,"_GROUP1":"FRANKFURT-Germany-TOKYO-Japan","T_COLOR":[{"FNAME":"PRICE","COLOR":{"COL":5,"INT":"0 ","INV":0},"NOKEYCOL":""}]},{"CITYFROM":"FRANKFURT","LANDXFROM":"Germany","CITYTO":"TOKYO","LANDXTO":"Japan","CARRNAME":"Japan Airlines","CONNID":"0408","FLDATE":"2024-09-18","DEPTIME":"20:25:00","ARRTIME":"15:40:00","PRICE":1061.36,"CURRENCY":"JPY","SEATSMAX":385,"SEATSOCC":51,"_GROUP1":"FRANKFURT-Germany-TOKYO-Japan","T_COLOR":[]},{"CITYFROM":"FRANKFURT","LANDXFROM":"Germany","CITYTO":"TOKYO","LANDXTO":"Japan","CARRNAME":"Japan Airlines","CONNID":"0408","FLDATE":"2024-12-07","DEPTIME":"20:25:00","ARRTIME":"15:40:00","PRICE":1061.36,"CURRENCY":"JPY","SEATSMAX":385,"SEATSOCC":15,"_GROUP1":"FRANKFURT-Germany-TOKYO-Japan","T_COLOR":[{"FNAME":"SEATSMAX","COLOR":{"COL":3,"INT":"0 ","INV":0},"NOKEYCOL":""}]},{"CITYFROM":"FRANKFURT","LANDXFROM":"Germany","CITYTO":"NEW YORK","LANDXTO":"USA","CARRNAME":"Lufthansa","CONNID":"0400","FLDATE":"2023-11-03","DEPTIME":"10:10:00","ARRTIME":"11:34:00","PRICE":666.0,"CURRENCY":"EUR","SEATSMAX":330,"SEATSOCC":321,"_GROUP1":"FRANKFURT-Germany-NEW YORK-USA","T_COLOR":[{"FNAME":"PRICE","COLOR":{"COL":5,"INT":"0 ","INV":0},"NOKEYCOL":""},{"FNAME":"SEATSMAX","COLOR":{"COL":6,"INT":"0 ","INV":0},"NOKEYCOL":""}]}]

).


Purpose

ZCL_XTT_FILE_GRID creates an XLSX template from an existing ALV grid. Use it when a separate workbook template would merely duplicate the ALV columns, grouping, totals, and colors.

Template sources

For a designed report, choose the storage adapter that matches the template source:

image

  • ZCL_XTT_FILE_SMW0 for templates stored in transaction SMW0.
  • ZCL_XTT_FILE_OAOR for OAOR/BDS storage with versioning.
  • ZCL_XTT_FILE_RAW for templates already available as STRING or XSTRING, often with ZCL_XTT_HTML.

Generate from ALV

For reports based on CL_SALV_TABLE or CL_GUI_ALV_GRID, ZCL_XTT_FILE_GRID builds the initial template and retains ALV grouping and subtotals.

The generated workbook uses modern formatting and supports richer XTT post-processing than the standard spreadsheet export.

image

Different colors for subtotals (line 20) and modern Calibri font

image


If subtotals are grouped

image

In the final report, the data will also be grouped

image


ALV colors

The adapter maps COL_POSITIVE to green, COL_NEGATIVE to red, and COL_TOTAL to yellow through conditional formatting. image

Technically this feature is implemented by conditional formatting


If the report starts with CL_SALV_TABLE, use ZCL_EUI_CONV=>GET_GRID_FROM_SALV( ) to obtain the CL_GUI_ALV_GRID reference required by the ZCL_XTT_FILE_GRID constructor.