Chinaunix首页 | 论坛 | 博客
  • 博客访问: 96980
  • 博文数量: 55
  • 博客积分: 530
  • 博客等级: 中士
  • 技术积分: 460
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-02 11:21
个人简介

大龄ABAP自由顾问

文章分类

全部博文(55)

文章存档

2016年(1)

2015年(4)

2014年(14)

2013年(2)

2012年(3)

2011年(31)

我的朋友

分类: 项目管理

2011-08-12 15:28:39

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


阅读(337) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~