当SAP重复登陆时,或者之前登陆异常退出后,会提示,登陆重复,而“由于企业想要节省账号费用,于是多人共享账号,但是最终用户又嫌每次操作“多次登录许可信息”麻烦,因此想知道是否能将“多次登录许可信息”的默认选项设置为- 继续此登录,但是不结束系统中其他任何登录。”,
在网上有两种解决方案;
1.一、使用GUIXT的脚本功能实现
此方法,总感觉不那么好,他还在启用GUIXT,这不是SAP GUI默认就启用的,还得每个GUI都去设置,所以不建议使用此方法,如要了解此方法点击这里查看,
2.二、使用ABAP代码增加实现
- 分析系统识别重复登录的方式, 具体的逻辑包含在程序 SAPMSYST 中(这个程序无法显示代码,但是可以通过HANA SQL语句复制到自定义代码中,这个小技巧另行发公众号文章)
- 系统识别用户已经登录的方式有两个: 1. 表USR41 2. 函数TH_USER_LIST 返回的用户列表
- 这两个结果互相印证, 以USR41为主.
- 实施增强 SUSR0001 . (这个增强在登录后执行,需要用CMOD创建一个项目,项目中引用并激活这个增强)
- 增强中按当前用户删除USR41中的内容(这里也可以考虑通过配置表限定一下删除的范围:只针对特定用户删除,也可以考虑一些其他的业务逻辑限定删除的场景:比如通过函数TH_USER_LIST获取登录用户的终端信息, 根据终端版本号确定是否删除. )
1 2 3 4 5 |
DELETE FROM USR41 WHERE BNAME = SY-UNAME. |
这样用户登录后,如果符合删除条件, 会清除USR41中的登录信息, 再次登录时, 就没有重复登录提示了. 以上过程在S4 1709版本中测试通过. 其它版本待验证.
本文摘录入公众号:syjf1976_abap