点击蓝字 关注我们
一
前言
动态报表D-Query 是一个用于取代标准QUERY的程序.使用动态报表无需写代码,非开发人员也可生成专业的报表程序.
详见动态报表简介
无峰,公众号:ABAP 技巧与实战动态报表D-Query简介
本文主要讲解关联多个查询的补充内容.
本文内容是对前文内容的补充
动态报表D-Query 关联多个查询
无峰,公众号:ABAP 技巧与实战动态报表D-Query 关联多个查询
二
传递选择条件
关联的多个查询都有各自的选择条件,一般情况下.允许把主查询的选择条件传递到关联的子查询.特殊情况下,也可以禁止查询条件的传递
三
选择条件传递规则
选择条件传递规则
字段名相同的选择条件自动传递
保留目标查询的默认选择条件,如果默认选择条件与传递的选择条件冲突,替换成传递的选择条件
关于日期选择条件的传递,如果主次查询都有日期的查询条件.且日期查询条件的字段不同(字段名相同的按规则1处理)
主查询传递日期条件到后续查询(日期字段无需同名).如果主查询有多个日期条件,以第一个为准. 如果次查询有多个日期条件,都填写为传递的日期条件.
特例: 如果既有同名的日期选择条件, 又有不同名的日期选择条件. 则以选择条件的顺序确定,后面的选择条件传递会覆盖前面的选择条件传递.
备注 通过不传递查询条件的字段帮助可以查看到查询条件传递规则
四
新增字段
对于两个关联的查询. 允许补充带有运算表达式的字段,用于对相关查询的多个字段进行计算.比如可以通过补充一个字段. 给该字段设置计算公式
FOR:0.KWMENG - 1.LFIMG
该计算公式用主查询中的订单数量-关联查询的交货单数量. 获取一个差值.
备注 FOR:开头的计算公式时数据获取之后, 在ALV内表中计算的. 所以可以用于关联的查询.
五
示例
业务需求描述:把ZOR1类型的订单按地点统计后,关联LF类型的交货单,查看指定日期的地点的订单数量与交货单数量的差异.
按如下步骤完成
备注
示例中使用的视图 ZVQ_SO 关联VBAK VBAP 使用部分常用字段
示例中使用的视图 ZVQ_DN 关联LIKP LIPS 使用部分常用字段
01
订单查询
ZOR1 类型设置为默认选择内容
添加日期选择条件
输出地点,数量(订单类型最好不输出)
新增了一个数量字段, 用于计算两个数量的差值. 字段的表达式使用了FOR: 开头,表示计算公式. 非SQL表达式
02
交货单查询
交货单类型设置默认选择内容 NL
交货日期设置作为选择条件
输出地点,交货数量
03
关联两个查询
在订单查询中关联交货单查询
04
执行结果
执行结果中订单查询条件传递到了关联的交货单查询条件中.并且新增了一个字段,用订单查询中的数量-交货单查询中的数量(字段颜色标记成黄色). 获取一个差异数量.
六
总结
进一步优化了动态报表关联多个查询的功能,让动态报表能够支持更多的报表查询场景.
实际应用中, 对于此类的比较报表(根据关键字统计后比较统计结果),都可用使用动态报表通过简单配置后实现.
THE
END
约定
如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.
(如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)
公众号 : syjf1976_abap
ABAP开发技巧
微信号 : 392077
请微信联系管理员:
syjf1976
sharry_xlp
Yannick_Duan 申请进入公众号讨论群