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

2021-10-29 23:06发布


          点击此处--->   EasySAP.com 群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)

点击蓝字 关注我们

前言

动态报表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

约定

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.       

    (如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)



公众号 : syjf1976_abap

          ABAP开发技巧

微信号 : 392077


请微信联系管理员: 

syjf1976 

sharry_xlp  

Yannick_Duan 申请进入公众号讨论群

赞赏支持