如何实现合计字段分单位合计 (alv)
来源:互联网 发布:python exit code 139 编辑:程序博客网 时间:2024/05/22 00:15
1、增加一个参量 在你所要合计的FIELD 中添加一个 CFIELDNAME或者qfieldname = 你的单位的FIELD
2、Here is a simple example.
1) Add a unit field "UNIT" for PCS and TON
2) Refer to the unit measure field to the number field
REPORT ztest NO STANDARD PAGE HEADING LINE-SIZE 170.
* ALV
TYPE-POOLS: slis.
TYPES: BEGIN OF typ_data,
key(10),
num TYPE i,
unit TYPE lvc_quan,
END OF typ_data.
*--------------------------------------------------------------------
* g l o b a l d a t a
*--------------------------------------------------------------------
DATA gt_outtab TYPE TABLE OF typ_data WITH HEADER LINE.
DATA gt_fieldcat TYPE slis_t_fieldcat_alv.
DATA gt_sort TYPE slis_t_sortinfo_alv.
DATA gs_variant TYPE disvariant.
*--------------------------------------------------------------------
* Program constructor.
*--------------------------------------------------------------------
LOAD-OF-PROGRAM.
** For Display Variant
gs_variant-report = sy-repid.
PERFORM layout_sort_build CHANGING gt_sort.
PERFORM prepare_field_catalog changing gt_fieldcat.
*--------------------------------------------------------------------
* s t a r t - o f - s e l e c t i o n.
*--------------------------------------------------------------------
START-OF-SELECTION.
PERFORM selection.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = gs_variant-report
it_fieldcat = gt_fieldcat[]
it_sort = gt_sort[]
is_variant = gs_variant
TABLES
t_outtab = gt_outtab[]
EXCEPTIONS
program_error = 1
OTHERS = 2.
*&---------------------------------------------------------------------*
*& Form prepare_field_catalog
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM prepare_field_catalog changing lt_fieldcat TYPE slis_t_fieldcat_alv..
DATA ls_fieldcat TYPE slis_fieldcat_alv.
* Key
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'KEY'. "#EC *
ls_fieldcat-tabname = 'gt_outtab'.
ls_fieldcat-reptext_ddic = 'Key'(020). "#EC *
ls_fieldcat-outputlen = 10.
ls_fieldcat-no_sum = 'X'.
ls_fieldcat-key = 'X'.
APPEND ls_fieldcat TO lt_fieldcat.
* Num
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'NUM'. "#EC *
ls_fieldcat-tabname = 'gt_outtab'.
ls_fieldcat-reptext_ddic = 'Field Num'(021). "#EC *
* QFIELDNAME - unit measure field
ls_fieldcat-qfieldname = 'UNIT'. "关键所在
ls_fieldcat-outputlen = 10.
ls_fieldcat-do_sum = 'X'.
APPEND ls_fieldcat TO lt_fieldcat.
* UNIT
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'UNIT'. "#EC *
ls_fieldcat-tabname = 'gt_outtab'.
ls_fieldcat-reptext_ddic = 'Field Unit'(022). "#EC *
ls_fieldcat-outputlen = 10.
ls_fieldcat-do_sum = 'X'.
APPEND ls_fieldcat TO lt_fieldcat.
ENDFORM. "prepare_field_catalog
*---------------------------------------------------------------------*
* FORM LAYOUT_SORT_BUILD *
*---------------------------------------------------------------------*
* Sorting *
*---------------------------------------------------------------------*
* --> LT_SORT *
*---------------------------------------------------------------------*
FORM layout_sort_build CHANGING lt_sort TYPE slis_t_sortinfo_alv.
DATA ls_sort TYPE slis_sortinfo_alv.
* Key
CLEAR ls_sort.
ls_sort-fieldname = 'KEY'. "#EC *
ls_sort-spos = 1.
ls_sort-up = 'X'.
ls_sort-subtot = 'X'.
APPEND ls_sort TO lt_sort.
ENDFORM. " LAYOUT_sort_build
*&---------------------------------------------------------------------*
*& Form selection
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM selection .
* load the testing data
gt_outtab-key = 'Group 1'. gt_outtab-num = 10. gt_outtab-unit = 'PCS'.
APPEND gt_outtab.
gt_outtab-key = 'Group 1'. gt_outtab-num = 10. gt_outtab-unit = 'TON'.
APPEND gt_outtab.
gt_outtab-key = 'Group 1'. gt_outtab-num = 20. gt_outtab-unit = 'PCS'.
APPEND gt_outtab.
gt_outtab-key = 'Group 2'. gt_outtab-num = 20. gt_outtab-unit = 'TON'.
APPEND gt_outtab.
gt_outtab-key = 'Group 2'. gt_outtab-num = 40. gt_outtab-unit = 'PCS'.
APPEND gt_outtab.
gt_outtab-key = 'Group 2'. gt_outtab-num = 10. gt_outtab-unit = 'TON'.
APPEND gt_outtab.
ENDFORM. " selection
- 如何实现合计字段分单位合计 (alv)
- ABAP--如何实现合计字段分单位合计
- ABAP--如何实现合计字段分单位合计
- ALV分类合计功能实现
- ALV合计 -- 期待有用
- ALV合计或小计实现subtotal添加自定义文本描述
- 手工给alv添加合计
- ALV最后一行写合计
- 如何对dbgrideh中特定的字段求和或者合计
- gridview中实现合计
- 在Gridview中实现合计
- 在DataGrid中添加一个合计字段
- 在DataGrid中添加一个合计字段
- 在DataGrid中添加一个合计字段
- 在DataGrid中添加一个合计字段
- 在DataGrid中添加一个合计字段
- 在DataGrid中添加一个合计字段
- 在DataGrid中添加一个合计字段
- 常州闲话——豆斋饼 素火腿
- asp如何实现真正的动态包含(include)
- [转] left join/right join/inner join操作演示
- 图灵机杂思
- 怎样成为优秀的软件模型设计者?
- 如何实现合计字段分单位合计 (alv)
- VB中用第三方控件打造QQ菜单
- 软件开发成功12法则
- 软件开发与测试管理
- 七夕情人节
- 软件开发与团队
- VB应用程序中实现“查找和替换”功能
- 每天学一点flash(11) as3.0 与asp 通信 (1)
- 性能分析工具NMON_Analyser