原理:通过配置表来配置每个账号希望查询到的工资项目,根据工资项生成动态的列表的表头,报表含有固定部分列+动态部分列;
FORM frm_build_vars .
DATA:ls_wagtab LIKE LINE OF gt_wagtab .
DATA: lo_structdescr TYPE REF TO cl_abap_structdescr,
lo_tabdescr TYPE REF TO cl_abap_tabledescr,
lo_elem TYPE REF TO cl_abap_elemdescr.
DATA:ls_comp LIKE LINE OF gt_comp.
DATA: lo_tab TYPE REF TO data,
lo_struct TYPE REF TO data.
DATA: l_tab TYPE string,
l_fname TYPE string.
* Get descriptor of String.
lo_elem ?= cl_abap_typedescr=>describe_by_name( 'string' ).
* lo_elem2 ?= cl_abap_typedescr=>describe_by_name( 'string' ).
* 清空ALV列表
CLEAR: gt_fieldcat.
**添加固定部分表头
ls_comp-name = 'XH'.
ls_comp-type = lo_elem.
APPEND ls_comp TO gt_comp.
mcr_append_field 'XH' '序号' 'L' space.
** 添加部门
ls_comp-name = 'BM'.
ls_comp-type = lo_elem.
APPEND ls_comp TO gt_