报表整合数据的时候,常见的模式:

1.由明细数据找汇总(粒度粗的、主数据等)数据;(loop + read ) 
2.由汇总找明细,举一个例子 :(loop + loop )
假设:采购数据是这样的:
物料A,  供应商A,  2012-3-15,采购金额是100元;
物料A,  供应商B,  2012-3-15,采购金额是200元;
物料B,  供应商A,  2012-3-15,采购金额是100元;
物料C,  供应商A,  2012-3-15,采购金额是100元;
物料C,  供应商B,  2012-3-15,采购金额是200元;
物料C,  供应商A,  2012-3-15,采购金额是100元;

要得到的报表结果是:
供应商、月份、采购金额

具体做法是:
假设前面的采购数据是内表:git_result.
定义一个新的内表:git_vendor, 内表的字段包括:供应商、月份、采购金额。

Loop git_result
   把git_result中的供应商、月份赋值给git_vendor的结构(工作区)
  Append  git_vendor的结构 to git_vendor
Endloop.

Sort git_vendor by 供应商、月份。
 delete ADJACENT DUPLICATES FROM git_vendor comparing供应商月份
    
     得到git_vendor的结果是:
    供应商A   2012-3
    供应商B   2012-3

    Loop at git_vendor into wa_vendor
         Loop at git_result into wa_result 
                Where 供应商 = wa_vendor-供应商
                            月份 = wa_vendor-月份
                   git_vendor-金额 = git_vendor-金额+ wa_result -金额
          Endloop.
    Endloop.
http://blog.sina.com.cn/sapliumeng
原文地址:https://www.cnblogs.com/senlinmu110/p/3802253.html