点击蓝字 关注我们
一
前言
动态报表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
网友评论