在很多 SAP GUI 报表里,用户并不满足于一行行明细,他们更想要一眼看清合计与分组小计:例如按公司代码汇总应收余额、按物料组统计库存金额、按供应商分组小计采购额。好消息是,经典函数模块式 ALV 本身就自带这套能力,你只要把两张关键的控制表填对:字段目录Field Catalog与排序表IT_SORT,总计与小计就会自动出现在输出里。
下面把这件事讲透:从原理、关键字段、常见坑,到真实业务案例的落地建议;同时保留一份可以直接运行的完整示例代码。
总计与小计,到底差在哪
- 总计(Grand Total):对整张输出表里指定的数值列做一次汇总,通常出现在列表末尾的
总计行。 - 小计(Subtotal):对某个分组维度(例如
公司代码、客户、航司、航线)下的明细做汇总,分组变化时就追加一行小计行。
在标准 ALV 里,这两件事分别由两类信息驱动:
要对哪些列求和:在字段目录里给对应列打标记。按哪个维度做小计:在排序表里声明分组字段,并标记该字段触发小计。