动态报表D-Query 双击跳转

点击蓝字 关注我们

前言

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

详见链接

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

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


双击跳转

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

比如 

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

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

图一

图二

识别方式

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

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 跳转)

02

配置表字段

  • ZCXID        查询ID

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

  • POSNR        序号

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

  • FNAME        字段名

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

图三

图四

03

配置示例

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

总结

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

(函数 Z_BC_REP_CALL_TRANSACTION). 

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

THE

END

约定

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

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

公众号 : syjf1976_abap

          ABAP开发技巧

微信号 : 392077

请微信联系管理员: 

syjf1976 

sharry_xlp  

Yannick_Duan 申请进入公众号讨论群

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值