其实并不难,关键就三点,如下:
一, 声明类型及用到的输出内表;
TYPE-POOLS: SLIS.
DATA: FC_HIER TYPE SLIS_FIELDCAT_ALV OCCURS 0 WITH HEADER LINE.
二, 将经过处理后的结果表(内表,例子中的 IT_SO ), 及对应的字段名和Column Name 放在对应的 FC_HIER 表的相应字段位置,逐个添加要显示的栏位;
FORM output_list .
refresh fc_hier.
clear fc_hier.
fc_hier-fieldname = 'BUTXT'.
fc_hier-tabname = 'IT_SO'.
fc_hier-seltext_l = 'Company'.
append fc_hier.
clear fc_hier.
fc_hier-fieldname = 'NAME1'.
fc_hier-tabname = 'IT_SO'.
fc_hier-seltext_l = 'Customer'.
append fc_hier.
* 在此用同样的方法添加更多要显示的 Column
......
三,最后调用一个系统功能: REUSE_ALV_GRID_DISPLAY 来进行输出。
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
IT_FIELDCAT = FC_HIER[]