xtt->MERGE( IV_BLOCK_NAME = ‘R’ IS_BLOCK =
{"A"=>[{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}], "DATE"=>"2020-10-21", "DATETIME"=>"20201021121212", "T"=>[{"GROUP"=>"GRP A", "CAPTION"=>"<Caption 1 />", "DATE"=>"2020-10-21", "SUM1"=>5971.44, "SUM2"=>5021.46}, {"GROUP"=>"GRP C", "CAPTION"=>"<Caption 2 />", "DATE"=>"2020-10-19", "SUM1"=>2276.75, "SUM2"=>7717.2}, {"GROUP"=>"GRP B", "CAPTION"=>"<Caption 3 />", "DATE"=>"2020-10-20", "SUM1"=>3031.38, "SUM2"=>445.22}, {"GROUP"=>"GRP A", "CAPTION"=>"<Caption 4 />", "DATE"=>"2020-10-21", "SUM1"=>9476.79, "SUM2"=>3683.27}, {"GROUP"=>"GRP A", "CAPTION"=>"<Caption 5 />", "DATE"=>"2020-10-21", "SUM1"=>4604.0, "SUM2"=>5525.85}, {"GROUP"=>"GRP C", "CAPTION"=>"<Caption 6 />", "DATE"=>"2020-10-19", "SUM1"=>2159.71, "SUM2"=>2260.94}, {"GROUP"=>"GRP B", "CAPTION"=>"<Caption 7 />", "DATE"=>"2020-10-20", "SUM1"=>2490.3, "SUM2"=>6388.81}, {"GROUP"=>"GRP A", "CAPTION"=>"<Caption 8 />", "DATE"=>"2020-10-21", "SUM1"=>5476.81, "SUM2"=>406.18}, {"GROUP"=>"GRP D", "CAPTION"=>"<Caption 9 />", "DATE"=>"2020-10-18", "SUM1"=>689.66, "SUM2"=>518.6}, {"GROUP"=>"GRP C", "CAPTION"=>"<Caption 10 />", "DATE"=>"2020-10-19", "SUM1"=>5451.87, "SUM2"=>4061.85}, {"GROUP"=>"GRP D", "CAPTION"=>"<Caption 11 />", "DATE"=>"2020-10-18", "SUM1"=>4573.55, "SUM2"=>5436.0}, {"GROUP"=>"GRP C", "CAPTION"=>"<Caption 12 />", "DATE"=>"2020-10-19", "SUM1"=>1196.35, "SUM2"=>522.46}, {"GROUP"=>"GRP C", "CAPTION"=>"<Caption 13 />", "DATE"=>"2020-10-19", "SUM1"=>7686.95, "SUM2"=>2727.98}, {"GROUP"=>"GRP D", "CAPTION"=>"<Caption 14 />", "DATE"=>"2020-10-18", "SUM1"=>978.18, "SUM2"=>295.55}, {"GROUP"=>"GRP D", "CAPTION"=>"<Caption 15 />", "DATE"=>"2020-10-18", "SUM1"=>71.12, "SUM2"=>8878.56}], "TIME"=>"12:12:12", "TITLE"=>"Title", "V_DESC"=>"Class attributes"}
).
Using classes
Usually a special structure is created for reports, which contains simple fields and tables for output.
But if the data is already contained in the class attributes, there is no need for an additional structure.
An object of this class can be passed to the MERGE () method
Example in orders (IT 0298)
This feature is useful if you have already existing class and you just want to use it in reports.
The template can use:
- simple fields {R-MV_MASSN} & {R-MS_P0000-STAT2}.
- display the table {R-MT_P0000}.
- and even read a single value from the table {R;cond=value-MT_P0001[ 1 ]-ENAME} by using the ;cond= addition
- ‘;cond=’ will also help you to conditionally output something {R;cond=WHEN value-mv_massn eq ‘01’ THEN |Hiring at { value-ms_p0000-begda DATE = ENVIRONMENT }| WHEN value-mv_massn eq ‘02’ …
without creating an additional root structure and manipulating class attributes
Private and protected data
Public data is always available for output
if you add ZCL_XTT_REPLACE_BLOCK class to friends you can use all the attributes of this class