美文网首页
动态报表D-Query 关联多个查询-补充

动态报表D-Query 关联多个查询-补充

作者: syjf1976_abap | 来源:发表于2021-09-10 14:46 被阅读0次

    点击蓝字 关注我们

    前言

    动态报表D-Query 是一个用于取代标准QUERY的程序.使用动态报表无需写代码,非开发人员也可生成专业的报表程序.

    详见动态报表简介无峰,公众号:ABAP 技巧与实战动态报表D-Query简介

    本文主要讲解关联多个查询的补充内容.

    本文内容是对前文内容的补充

    动态报表D-Query 关联多个查询无峰,公众号:ABAP 技巧与实战动态报表D-Query 关联多个查询

    传递选择条件

    关联的多个查询都有各自的选择条件,一般情况下.允许把主查询的选择条件传递到关联的子查询.特殊情况下,也可以禁止查询条件的传递

    选择条件传递规则

    选择条件传递规则

    1. 字段名相同的选择条件自动传递

    2. 保留目标查询的默认选择条件,如果默认选择条件与传递的选择条件冲突,替换成传递的选择条件

    3. 关于日期选择条件的传递,如果主次查询都有日期的查询条件.且日期查询条件的字段不同(字段名相同的按规则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

    相关文章

      网友评论

          本文标题:动态报表D-Query 关联多个查询-补充

          本文链接:https://www.haomeiwen.com/subject/rhhywltx.html