SAP小技巧 改造SE16N(九 双击跳转及字段描述优化)

前言

SE16N 是ECC/S4中查看表内容的一个工具,方便实用. 前面写了一系列关于优化SE16N的文章.

详见链接

https://mp.weixin.qq.com/mp/homepage?__biz=Mzg4MjA1MjE4NQ==&hid=29&sn=6ea0f2777b31f2b633c2bcb74940ff4e

 最近又找出了两个优化点.

本文主要介绍SE16N的双击跳转及字段描述优化

双击跳转

很多报表包括SAP标准报表都有双击跳转功能.

比如 MB51(物料凭证查询),双击查询出来的物料凭证编号,跳转到MIGO 显示物料凭证

d8b3a17b17235c0458a562cf513cbf56.png

SE16N显示表内容的时候,双击单据相关的字段,跳转到相关主数据或单据显示. 岂不是也挺方便的.

找到SE16N 处理双击的方法 LSE16NLCL 287行左右 method handle_double_click.在方法的开头创建隐式增强

1cd95f1bc61828d6168b404c46800806.png

隐式增强中获取双击的单元格,调用通用函数跳转. 这里有个奇怪的知识点:

有些时候<all_table_cell>是ALV的内容, ALV排序会调整,而gd_dref->* 内表是初始查询的内容, ALV排序不会调整它.

有些时候<all_table_cell>没有assign. 此时 gd_dref->* 是ALV的内容, ALV排序会调整它.

暂时没有找到原因. 所以通过判断is assigned 来确定获取双击的行的数据内容

a89e592eb69147191f0eae8b09fad301.png

实现效果,显示VBAK表内容时, 双击销售凭证,跳转到VA03显示销售订单

9fd61c5c8e9972aaf001aa19f1256a75.png

关于通用跳转

暂时通过函数 Z_BC_REP_CALL_TRANSACTION 中列举出不同的字段名,根据字段名识别对象(单据,主数据)

调用函数 Z_BC_CALL_TRANSACTION 函数中根据传入的对象. 列举出不同对象的调用方式. 

这种办法有些欠缺灵活性. 可以作为基础方法,在此基础上可以考虑通过配置表来补充新的跳转方法.(其实代码中的枚举,可以理解为一种静态配置)

6873ad0ab8bbb41dcb95c222b13d3ca9.png

6f673eeafb05b367bde8308e296084fc.png

字段名的优化

定义表的时候,组名称的使用可以方便快速的定义一组重复递进含义的字段

详见链接中的第七章‍

无峰,公众号:ABAP 技巧与实战ABAP基础知识 数据字典(二 开发篇)

20f121cdd230b174be5d32932daffc1f.png

但是几组字段的描述无法分区, SE16N显示时没法区分具体是哪组字段.

9917d17a920d79718f8ec42ecd05f877.png

优化后

组名称附加在字段描述后,可以区分出这几组字段

04f068df26260975fdeb2ab98ff8989c.png

当然, 也可以在表ZTBC_ALV中维护字段描述来优化.

详见链接

无峰,公众号:ABAP 技巧与实战SAP小技巧之 改造SE16N(三)

优化方式

e4956f095ea864bb2d7bd9d6ed1ee045.png

总结

SE16N作为项目中使用非常多的一个功能. 为了它更加好用. 后面将持续寻找它的改进点.

如果你有好的改进建议,可以留言给我. 一起讨论一下实现的可行性. 

THE

END

约定

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

请微信联系管理员: 

syjf1976 

sharry_xlp  

Yannick_Duan 

申请进入公众号讨论群提问或者参与话题讨论

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值