ABAP FieldCat 合计小计
作者:互联网
OO ALV总计和小计相关分享实例OO ALV的总计和小计功能可以通过Fieldcat里面设置DO_SUM来设置某一列的总计,在Sort中标记subtot参数来根据某一列进行小计。
示例代码如下:
"Fieldcat
ls_fieldcat-fieldname = c_DMBTRS.
ls_fieldcat-seltext_l = p_text.
IF p_field = 'DMBTRS'.
ls_fieldcat-do_sum = 'X'.
ENDIF.
APPEND ls_fieldcat TO gt_fieldcat .
CLEAR ls_fieldcat .
"sort
gt_sort[] = VALUE #( ( spos = 1 fieldname = c_bukrs up = c_x
subtot = c_x )
( spos = 2 fieldname = c_zflag13_t up = c_x )
( spos = 3 fieldname = c_hkont up = c_x )
CALL METHOD grv_grid->set_table_for_first_display
EXPORTING
i_bypassing_buffer = abap_true
is_layout = gs_layout
CHANGING
it_outtab = gt_out_alv[]
it_fieldcatalog = gt_fieldcat
it_sort = gt_sort[]
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
在此基础上,可能针对小计和总计有其他要求,此时需要设置layout中的部分参数,layout中与总计和小计相关的参数如下:
TOTALS_BEF:将总计放在第一行
NO_TOTARR:在总计一行和小计行中显示箭头,这些箭头还表示总计区域。 设置此参数以抑制这些箭头
NO_TOTEXP:一个图标显示在一个(子)总计的开始线表示是否已展开的行。 设置此参数以抑制此图标。
NO_TOTLINE:不显示总计
NUMC_TOTAL:允许NUMC类型字段总计
NO_UTSPLIT:是否根据单位拆分总计
标签:gt,layout,FieldCat,总计,小计,fieldcat,ABAP,ls 来源: https://www.cnblogs.com/bgsr/p/15690954.html