动态报表 DQuery 双击跳转

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

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

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

前言

动态报表(D-Query)是我花了很多心思开发的一个报表工具,主要用于无代码快速生成查询报表,想尝试的朋友可以联系微信392077.

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

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

**本文主要介绍D-Query中的双击跳转到事务代码显示主数据或单据的功能**

双击跳转

通过动态报表查询的数据,默认会跳转到常用主数据或者常用单据的显示.这个跳转基本上是基于SAP常用字段名来识别确认的.

比如

• MATNR 是商品主数据, 双击MATNR字段就会跳转到MATNR对应的显示事务代码MM43(因为是零售项目,所以跳转到MM43,没有跳转到MM03,可以通过配置实现跳转MM03). 图一

• VBELN 是销售订单号的字段名. 双击VBELN就会跳转到VA03 去显示销售订单. 图二

动态报表 DQuery 双击跳转 - 封面图
动态报表 DQuery 双击跳转 - 封面图

图一

动态报表 DQuery 双击跳转 - 封面图
动态报表 DQuery 双击跳转 - 封面图

图二

识别方式

双击跳转通过如下几种方式识别双击的对象,进而跳转到对应的事务代码显示对象.

_**01** _

**字段名识别**

通过特定的字段名称识别数据对象.这种方式大致可以识别70%左右的数据对象.

查询如果关联了多个表都有相应的字段名:比如VBAK,VBAP 都有字段VBELN. 显示清单中的字段会附加表名 VBELN_VBAK VBELN_VBAP.

字段名修复去除掉附加的_VBAK . 识别字段名VBELN.

_**02** _

**域名识别**

通过字段名识别的跳转只能解决大部分情况的常规单据调整,比如有些字段都表示客户:比如KUNNR 售达方 KUNWE 送达方. 穷尽此类字段是一种方式,

但是也可以用这类字段的共同属性: 域名KUNNR来识别客户字段, 进而跳转到BP显示客户信息.

_**03** _

**特殊字段识别**

SHOWP 用于显示商品图片

ICON / ERRNO 用于显示BAPI调用的错误信息

VBELN / AUBEL / VGBEL 优先识别为销售订单, 再次为交货单,再次为发票

_**04** _

**配置表识别**

上述三种方式都需要预制特定的字段名或域名,识别后跳转. 无法处理一些特殊的情况,比如

• 字段AUFNR,因为受预制对象的局限,无法识别为内部订单或生产订单.

• 发票校验和会计凭证字段名都是BELNR,有可能识别错误.

• MBLNRCR 这种自定义的字段无法识别.

• ......

此时需要通过配置表识别方式解决跳转问题 . 理论上配置表识别可以99%解决双击跳转问题(剩下的1%是无法通过CALL TRANSACTION

跳转的数据对象).

配置表识别

配置表识别方式可以解决数据对象识别不了或者识别错误的情况.

_**01** _

**配置表识别原理**

大部分TCODE的跳转都可以通过如下方式执行

• 传递参数ID的值

• 调用事务代码跳过第一屏

(个别事务通过这个方式会有瑕疵,比如商品凭证,通过MIGO 跳转会依赖于上次MIGO是显示商品凭证,需要通过特定的函数 MIGO_DIALOG 跳转)

动态报表 DQuery 双击跳转 - 封面图
动态报表 DQuery 双击跳转 - 封面图
动态报表 DQuery 双击跳转 - 封面图
动态报表 DQuery 双击跳转 - 封面图

_**02** _

**配置表字段**

• ZCXID 查询ID

• CALLGP 调用组 (用于区分一次调用的相关字段,之所以没有TCODE. 是因为一个报表中可能有多组字段跳转到一个TCODE)

• POSNR 序号

• TCODE 事务代码(一个调用组中使用相同的事务代码)

• FNAME 字段名

• PARAMID 设置/获取参数标识 (字段内容传递到特定的参数ID),一般情况下,通过界面的F1帮助可以查询到这个参数ID 如图四

动态报表 DQuery 双击跳转 - 封面图
动态报表 DQuery 双击跳转 - 封面图

图三

动态报表 DQuery 双击跳转 - 封面图
动态报表 DQuery 双击跳转 - 封面图

图四

_**03** _

**配置示例**

如下图的配置: 配置了三组字段都跳转到会计凭证显示.

动态报表 DQuery 双击跳转 - 封面图
动态报表 DQuery 双击跳转 - 封面图

总结

双击跳转是报表中一个常见的功能. 动态报表D-Query 整合项目中的常用主数据,单据的识别.

(函数 Z_BC_REP_CALL_TRANSACTION).

可以直接跳转到目标对象.对于一些不常用的数据对象,则可以通过配置来实现双击跳转.

** THE **

** END **

**约定**

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

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

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

动态报表 DQuery 双击跳转 - 封面图
动态报表 DQuery 双击跳转 - 封面图

**公众号 : syjf1976_abap**

**ABAP开发技巧**

**微信号 : 392077**

**请微信联系管理员:**

**syjf1976**

**sharry_xlp**

**Yannick_Duan 申请进入公众号讨论群**

ABAP技巧与实战

关于作者:ABAP技巧与实战

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

来源说明:本文内容由「动态报表DQuery双击跳转.md」整理生成,仅用于内部技术分享与学习交流。