其他分享
首页 > 其他分享> > ABAP FieldCat 合计小计

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