新手诚心求助高手

[复制链接]
查看11 | 回复3 | 2013-12-2 14:55:04 | 显示全部楼层 |阅读模式
我修改了一个报表,有几列如“合格数量”“总价”等几项需要求和,请问应该加入什么代码啊?谢谢了
就是最后显示了打印出来最后要有一列合计
回复

使用道具 举报

千问 | 2013-12-2 14:55:04 | 显示全部楼层
不知您做的是普通的LIST还是ALV
回复

使用道具 举报

千问 | 2013-12-2 14:55:04 | 显示全部楼层
求和有至少有2种方法。
一种是语法支持的Sum语句,配合AT END OF ... 和 AT LAST语句使用。不过对内表格式有要求。内表必须按照求和的规则去排序,而且求和规则必须在内表结构的最前列。
代码例子如下:
SORT P_TAB_OUTPUT1 BY STR_BM ASCENDING AS TEXT PERNR ASCENDING.
LOOP AT P_TAB_OUTPUT1 INTO L_REC_OUTPUT1.
APPEND L_REC_OUTPUT1 TO L_TAB_OUTPUT1.
* 计算小计行
AT END OF STR_BM.
SUM.
L_REC_OUTPUT1-STR_BM = '小计'.
CLEAR L_REC_OUTPUT1-PERNR.
CLEAR L_REC_OUTPUT1-NACHN_NORNV.
APPEND L_REC_OUTPUT1 TO L_TAB_OUTPUT1.
ENDAT.
* 计算总计行
AT LAST.
SUM.
L_REC_OUTPUT1-STR_BM = '总计'.
CLEAR L_REC_OUTPUT1-PERNR.
CLEAR L_REC_OUTPUT1-NACHN_NORNV.
APPEND L_REC_OUTPUT1 TO L_TAB_OUTPUT1.
ENDAT.
ENDLOOP.
另一种方法就是自己定义临时变量。在循环输出的时候,手工累加求和字段然后输出即可。
以上是针对普通LIST的求和方法。
回复

使用道具 举报

千问 | 2013-12-2 14:55:04 | 显示全部楼层
万分感谢,不过第一种方法好象不行,大哥可否根据第二个方法写一个例子,小弟努力学习中,感谢您!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行