动态报表 DQuery 关联多个查询补充

作者:ABAP技巧与实战 约 6 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, 开发

原创 无峰 [ ABAP 技巧与实战 ](javascript:void\(0\);)

**点击蓝字** 关注我们

前言

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

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

> ](http://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247486429&idx=1&sn=8cbab08040255baa4c7495e6e106230d&chksm=cf5dd6ebf82a5ffdf6cd2cca5ef3b3a298dcb7e3aac2b4cae5073af9c6720bf57b5544c57a49#rd)

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

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

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

> ](https://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247485934&idx=1&sn=a7cdf4910ca237bbdac4ae2eec8d69a6&chksm=cf5dd4d8f82a5dce1a0a33646ab8b0a82b54f3b761cf21b76b7fe737372a8ad0a67410f252cc&token=1560906077&lang=zh_CN#rd)

传递选择条件

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

动态报表 DQuery 关联多个查询补充 - 封面图
动态报表 DQuery 关联多个查询补充 - 封面图

选择条件传递规则

选择条件传递规则

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

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

3. 关于日期选择条件的传递,如果主次查询都有日期的查询条件.且日期查询条件的字段不同(字段名相同的按规则1处理)

主查询传递日期条件到后续查询(日期字段无需同名).如果主查询有多个日期条件,以第一个为准. 如果次查询有多个日期条件,都填写为传递的日期条件.

特例: 如果既有同名的日期选择条件, 又有不同名的日期选择条件. 则以选择条件的顺序确定,后面的选择条件传递会覆盖前面的选择条件传递.

_备注 通过不传递查询条件的字段帮助可以查看到查询条件传递规则_

动态报表 DQuery 关联多个查询补充 - 封面图
动态报表 DQuery 关联多个查询补充 - 封面图

新增字段

对于两个关联的查询. 允许补充带有运算表达式的字段,用于对相关查询的多个字段进行计算.比如可以通过补充一个字段. 给该字段设置计算公式

FOR:0.KWMENG - 1.LFIMG

该计算公式用主查询中的订单数量-关联查询的交货单数量. 获取一个差值.

_备注 FOR:开头的计算公式时数据获取之后, 在ALV内表中计算的. 所以可以用于关联的查询._

动态报表 DQuery 关联多个查询补充 - 封面图
动态报表 DQuery 关联多个查询补充 - 封面图

示例

业务需求描述:把ZOR1类型的订单按地点统计后,关联LF类型的交货单,查看指定日期的地点的订单数量与交货单数量的差异.

按如下步骤完成

_备注_

_示例中使用的视图 ZVQ_SO 关联VBAK VBAP 使用部分常用字段_

_ 示例中使用的视图 ZVQ_DN 关联LIKP LIPS 使用 部分常用字段 _

_**01** _

**订单查询**

• ZOR1 类型设置为默认选择内容

• 添加日期选择条件

• 输出地点,数量(订单类型最好不输出)

• 新增了一个数量字段, 用于计算两个数量的差值. 字段的表达式使用了FOR: 开头,表示计算公式. 非SQL表达式

动态报表 DQuery 关联多个查询补充 - 封面图
动态报表 DQuery 关联多个查询补充 - 封面图

_**02** _

**交货单查询**

• 交货单类型设置默认选择内容 NL

• 交货日期设置作为选择条件

• 输出地点,交货数量

动态报表 DQuery 关联多个查询补充 - 封面图
动态报表 DQuery 关联多个查询补充 - 封面图

_**03** _

**关联两个查询**

在订单查询中关联交货单查询

动态报表 DQuery 关联多个查询补充 - 封面图
动态报表 DQuery 关联多个查询补充 - 封面图

_**04** _

**执行结果**

执行结果中订单查询条件传递到了关联的交货单查询条件中.并且新增了一个字段,用订单查询中的数量-交货单查询中的数量(字段颜色标记成黄色). 获取一个差异数量.

动态报表 DQuery 关联多个查询补充 - 封面图
动态报表 DQuery 关联多个查询补充 - 封面图

总结

进一步优化了动态报表关联多个查询的功能,让动态报表能够支持更多的报表查询场景.

实际应用中, 对于此类的比较报表(根据关键字统计后比较统计结果),都可用使用动态报表通过简单配置后实现.

** THE **

** END **

**约定**

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

( **如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程.

越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.** )

动态报表 DQuery 关联多个查询补充 - 封面图
动态报表 DQuery 关联多个查询补充 - 封面图

**公众号 : syjf1976_abap**

**ABAP开发技巧**

**微信号 : 392077**

请微信联系管理员

syjf1976

sharry_xlp

Yannick_Duan 申请进入公众号讨论群

ABAP技巧与实战

关于作者:ABAP技巧与实战

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「动态报表DQuery关联多个查询补充.md」整理生成,仅用于内部技术分享与学习交流。