SAP ABAP 报表分析分组显示

*描述:定义一个报表,通过用户输入的物料凭证号码的范围
* 一条物料号对应多条记录,用物料号来进行分组输出。
* 每一组下面输出一条横线。把不同的组隔开。[@more@]

REPORT ZTEST_LEANRED8233 .

TABLES: MSEG ,
SPFLI.

DATA: ITAB LIKE SPFLI OCCURS 0 WITH HEADER LINE,
JTAB LIKE MSEG OCCURS 0 WITH HEADER LINE.

*定义画面输入对象.
SELECTION-SCREEN BEGIN OF BLOCK QUERY_CAR WITH FRAME TITLE
TEXT-000.
SELECT-OPTIONS INPUT FOR MSEG-MBLNR OBLIGATORY.
SELECTION-SCREEN END OF BLOCK QUERY_CAR.

*
INITIALIZATION.

******************************
*AT SELECTION-SCREEN
******************************
AT SELECTION-SCREEN.

******************************
*START-OF-SELECTION.
******************************
START-OF-SELECTION.
* 调用读取数据的子函数.
PERFORM FILL TABLES JTAB.
* 调用显示数据的子函数.
PERFORM OUT TABLES JTAB.


******************************
* 从数据表中抽出符合条件的的数据
* 然后插如内表。
* 以CARRID为分组对象,然后选择出
* 这些分组中的CONNID最小的数据.
******************************
FORM FILL TABLES JTAB_TMP LIKE JTAB[].
SELECT MBLNR MJAHR
FROM MSEG
INTO CORRESPONDING FIELDS OF TABLE JTAB_TMP
WHERE MBLNR IN INPUT
ORDER BY MBLNR.
ENDFORM.


******************************
* 显示内表中的数据.
******************************
FORM OUT TABLES JTAB_TMP LIKE JTAB[].
* 打印报表头
PERFORM PRINT_REPORT_HEADER.

*开始打印内表的数据.
LOOP AT JTAB_TMP.
WRITE: /0 SY-VLINE, JTAB_TMP-MBLNR,
30 SY-VLINE, JTAB_TMP-MJAHR,
80 SY-VLINE.
*打印出一条横线,并且下跳一行.
AT END OF MJAHR.
SKIP.
WRITE:/ SY-ULINE(80).
ENDAT.
ENDLOOP.
ENDFORM.

******************************
* 输出表头
******************************
FORM PRINT_REPORT_HEADER.
WRITE:/ SY-ULINE(80),
/0 SY-VLINE, '物料凭证编号' COLOR COL_POSITIVE,
30 SY-VLINE, '物料IDOC 年' COLOR COL_POSITIVE,
80 SY-VLINE,
/ SY-ULINE(80).
ENDFORM.

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

转载于:http://blog.itpub.net/581999/viewspace-899580/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值