部分用户要求进入报表的时候就实现自动小计求和,如下代码标识了相关字段的作用。
FORM do_sum_for_vendor CHANGING gt_sort TYPE slis_t_sortinfo_alv.
DATA gs_fields TYPE slis_sortinfo_alv .*key
* CLEAR gs_fields.
* gs_fields-fieldname = 'Z'. "排序关键字段
* gs_fields-spos = 1."排序顺序
* gs_fields-up = 'X'."默认按升序排列
* gs_fields-down = 'X'. "默认按降序排列
* gs_fields-subtot = 'X'."输出小计
* APPEND gs_fields TO gt_sort.
CLEAR gs_fields .
gs_fields -fieldname = 'LIFNR' .
gs_fields -spos = 1 .
gs_fields - up = 'X' .
gs_fields -subtot = 'X' .
APPEND gs_fields TO gt_sort .
CLEAR gs_fields .
gs_fields -fieldname = 'WAERS' .
gs_fields -spos = 1 .
gs_fields - up = 'X' .
* gs_fields-subtot = 'X'.
APPEND gs_fields TO gt_sort .
ENDFORM. "do_sum_for_vendor
设计排序以及按哪些字段求和后,在显示处写入
*PERFORM do_sum_for_vendor CHANGING gt_sort.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_pf_status_set = 'SET_PF9'"设置菜单按钮
i_callback_user_command = 'USER_COM9'"触发事件设置
i_grid_title = '手工创建'"标题
is_layout = gs_layout
it_fieldcat = gt_fields
it_events = gs_events
i_save = 'X'
it_sort = gt_sort “求和关键在于该部位
TABLES
t_outtab = zallow_data01"临时内表
EXCEPTIONS
program_error = 1
OTHERS = 2.