原创 无峰 [ ABAP 技巧与实战 ](javascript:void\(0\);)
SAP小技巧系列主要是记录一些项目中碰到的问题及解决思路与方式.这些问题可能你也碰到过,希望能给你一些帮助.
有朋友在群里面提出一个很有意思的问题, 怎么跳过SAPGUI 登录时的重复登录提示,如下图
很快就有厉害的朋友给出了一个解决方案: 通过GUI脚本自动选择
> 脚本工具解决方案
>
> 海哥爱跑步,公众号:企业信息化思考 [ 用脚本工具自动执行GUI“多次登录许可信息”
> ](http://mp.weixin.qq.com/s?__biz=MzAxMzgzMTYzMw==&mid=2247483811&idx=1&sn=aeaf43a7ab24c537b1eba897f6e8ac00&chksm=9b9ddd1dacea540b34e64d0f7ad3f9c16a8fadd1e2c91b46b5851b306fa7c904cccc7d4b4c25#rd)
佩服.
. 这个方案中详细介绍了GUIXT的脚本功能实现方式, 值得大家去学习一下.
这里呢,我给出一个开发的解决方案. 也可以实现这个功能.
• 分析系统识别重复登录的方式, 具体的逻辑包含在程序 SAPMSYST 中(这个程序无法显示代码,但是可以通过HANA SQL语句复制到自定义代码中,这个小技巧另行发公众号文章)
• 系统识别用户已经登录的方式有两个: 1. 表USR41 2. 函数TH_USER_LIST 返回的用户列表
• 这两个结果互相印证, 以USR41为主.
• 实施增强 SUSR0001 . (这个增强在登录后执行,需要用CMOD创建一个项目,项目中引用并激活这个增强)
•
• 增强中按当前用户删除USR41中的内容(这里也可以考虑通过配置表限定一下删除的范围:只针对特定用户删除,也可以考虑一些其他的业务逻辑限定删除的场景:比如通过函数TH_USER_LIST获取登录用户的终端信息, 根据终端版本号确定是否删除. )
• DELETE FROM USR41 WHERE BNAME = SY \- UNAME .
这样用户登录后,如果符合删除条件, 会清除USR41中的登录信息, 再次登录时, 就没有重复登录提示了. 以上过程在S4 1709版本中测试通过.
其它版本待验证.
如果你 对这篇文章感兴趣,请帮忙转发分享, 并且勾选微信 <看一看>.文章右上角的按钮点击后,点击<在看>(或者文章末尾的右下角<在看>),即可.
(如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.
毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)
扫码关注公众号,获取更多好用的SAP应用程序