*&---------------------------------------------------------------------*
*&ReportZTEST *
*&*
*&---------------------------------------------------------------------*
*&*
*&*
*&---------------------------------------------------------------------*
REPORTZTEST .
*原始结果数据table
data:beginoflineoccurs0,
col1typeivalue'11',
col2typeivalue'22',
col3typeivalue'33',
endofline.
*实际需求展示的table有个别字段和原始数据不同
data:beginofdisplayoccurs0,
col1typeivalue'9',
ytypeivalue'100',
xtypeivalue'10',
endofdisplay.
data:beginoftemp,
xtypei,
ytypei,
endoftemp.
*初始数据
line-col1='44'.line-col2='55'.line-col3='66'.appendline.
line-col1='4'.line-col2='5'.line-col3='6'.appendline.
field-symbols:<fs_line>likeline.
*指针并不和特定table类型绑定
*因此这里可以用同一段代码使不同类型的结构表从line中取值
field-symbols:<any>.
field-symbols:<t_any>typetable.
assigndisplayto<any>.
assigndisplay[]to<t_any>.
loopatlineassigning<fs_line>.
move-corresponding<fs_line>to<any>.
temp-y=<fs_line>-col3."line表中不同名称的列
temp-x='1000'."其它需求结果
move-correspondingtempto<any>.
append<any>to<t_any>.
endloop.
loopatdisplay.
write:/display-col1,display-y,display-x.
endloop.
output:
44 66 1000
4 5 3
1884

被折叠的 条评论
为什么被折叠?



