ITPub博客

首页 > 数据库 > 数据库开发技术 > ALV求合计

ALV求合计

原创 数据库开发技术 作者:mmccking 时间:2008-02-24 17:07:29 0 删除 编辑
不是很完善。[@more@]

*&---------------------------------------------------------------------*
*& Report ZTEST_01_ZHANGWL *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT ZTEST_01_ZHANGWL NO STANDARD PAGE HEADING.

* ALV
TYPE-POOLS: SLIS.

* Data to be displayed
TYPES: BEGIN OF TY_HEADER,
KEY TYPE STRING,
TEXT TYPE STRING,
END OF TY_HEADER,

BEGIN OF TY_ITEM,
HD_KEY TYPE STRING,
ITM_KEY TYPE STRING,
AMT(5) TYPE P DECIMALS 2,
TEXT TYPE STRING,
END OF TY_ITEM.

DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
GT_SORT TYPE SLIS_T_SORTINFO_ALV,
GS_KEYINFO TYPE SLIS_KEYINFO_ALV.

* Data to be displayed
DATA: GT_HEADER TYPE STANDARD TABLE OF TY_HEADER WITH KEY KEY INITIAL
SIZE 10 WITH HEADER LINE,
GT_ITEM TYPE TABLE OF TY_ITEM WITH KEY HD_KEY ITM_KEY INITIAL
SIZE 100 WITH HEADER LINE.
*---------------------------------------------------------------------*
INITIALIZATION.
PERFORM E01_FIELDCAT_INIT CHANGING GT_FIELDCAT[].
PERFORM E02_SORT_BUILD CHANGING GT_SORT[].
PERFORM E03_KEYINFO CHANGING GS_KEYINFO.
*---------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM SELECTION.
*---------------------------------------------------------------------*
END-OF-SELECTION.
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IT_FIELDCAT = GT_FIELDCAT[]
IT_SORT = GT_SORT[]
I_TABNAME_HEADER = 'GT_HEADER'
I_TABNAME_ITEM = 'GT_ITEM'
IS_KEYINFO = GS_KEYINFO
TABLES
T_OUTTAB_HEADER = GT_HEADER
T_OUTTAB_ITEM = GT_ITEM.
*&---------------------------------------------------------------------*
*& Form e03_keyinfo
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->KEYINFO text
*----------------------------------------------------------------------*
FORM E03_KEYINFO CHANGING KEYINFO TYPE SLIS_KEYINFO_ALV.
KEYINFO-HEADER01 = 'KEY'.
KEYINFO-ITEM01 = 'HD_KEY'.
KEYINFO-HEADER02 = SPACE.
KEYINFO-ITEM02 = 'ITM_KEY'.
ENDFORM. "e03_keyinfo
*&---------------------------------------------------------------------*
*& Form e02_sort_build
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->LT_SORT text
*----------------------------------------------------------------------*
FORM E02_SORT_BUILD CHANGING LT_SORT TYPE SLIS_T_SORTINFO_ALV.
DATA LS_SORT TYPE SLIS_SORTINFO_ALV.

LS_SORT-FIELDNAME = 'KEY'.
LS_SORT-TABNAME = 'GT_HEADER'.
LS_SORT-SPOS = 1.
LS_SORT-UP = 'X'.
LS_SORT-SUBTOT = 'X'.
APPEND LS_SORT TO LT_SORT.
ENDFORM. "e02_sort_build

*&---------------------------------------------------------------------*
*& Form e01_fieldcat_init
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->E01_LT_FIELDCAT text
*----------------------------------------------------------------------*
FORM E01_FIELDCAT_INIT
CHANGING E01_LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
* Head key
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'KEY'.
LS_FIELDCAT-TABNAME = 'GT_HEADER'.
LS_FIELDCAT-REPTEXT_DDIC = 'Order'.
LS_FIELDCAT-NO_SUM = 'X'.
APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.

CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'TEXT'.
LS_FIELDCAT-TABNAME = 'GT_HEADER'.
LS_FIELDCAT-REPTEXT_DDIC = 'Description'.
LS_FIELDCAT-NO_SUM = 'X'.
APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.

CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'ITM_KEY'.
LS_FIELDCAT-TABNAME = 'GT_ITEM'.
LS_FIELDCAT-REPTEXT_DDIC = 'Line'.
LS_FIELDCAT-NO_SUM = 'X'.
APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.

CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'AMT'.
LS_FIELDCAT-TABNAME = 'GT_ITEM'.
LS_FIELDCAT-REPTEXT_DDIC = 'Amount'.
LS_FIELDCAT-DO_SUM = 'X'.
APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.

CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'TEXT'.
LS_FIELDCAT-TABNAME = 'GT_ITEM'.
LS_FIELDCAT-REPTEXT_DDIC = 'Text '.
LS_FIELDCAT-NO_SUM = 'X'.
APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
ENDFORM. "e01_fieldcat_init
*---------------------------------------------------------------------*
* FORM SELECTION *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM SELECTION.

GT_HEADER-KEY = '91135936'.
GT_HEADER-TEXT = 'Order 1'.
APPEND GT_HEADER.

GT_HEADER-KEY = '91135937'.
GT_HEADER-TEXT = 'Order 2'.
APPEND GT_HEADER.

GT_ITEM-HD_KEY = '91135936'.
GT_ITEM-ITM_KEY = 'ER10'.
GT_ITEM-AMT = '34.00-'.
GT_ITEM-TEXT = 'item 1'.

APPEND GT_ITEM.
GT_ITEM-ITM_KEY = 'ER20'.
GT_ITEM-AMT = '59.75-'.
GT_ITEM-TEXT = 'item 2'.
APPEND GT_ITEM.

GT_ITEM-ITM_KEY = 'ER20'.
GT_ITEM-AMT = '59.75-'.
GT_ITEM-TEXT = 'item 2'.
APPEND GT_ITEM.


GT_ITEM-ITM_KEY = 'ER30'.
GT_ITEM-AMT = '0.00'.
GT_ITEM-TEXT = 'item 3'.
APPEND GT_ITEM.

GT_ITEM-HD_KEY = '91135937'.
GT_ITEM-ITM_KEY = 'ER10'.
GT_ITEM-AMT = '3.73-'.
GT_ITEM-TEXT = 'item 1'.
APPEND GT_ITEM.

GT_ITEM-ITM_KEY = 'ER20'.
GT_ITEM-AMT = '5.98-'.
GT_ITEM-TEXT = 'item 2'.
APPEND GT_ITEM.

GT_ITEM-ITM_KEY = 'ER30'.
GT_ITEM-AMT = 0.
GT_ITEM-TEXT = 'item 3'.
APPEND GT_ITEM.

ENDFORM. "selection

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8356764/viewspace-999889/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: SAP接口
请登录后发表评论 登录
全部评论
风太大,吹乱了我的头发~

注册时间:2008-03-11

  • 博文量
    94
  • 访问量
    403024