点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
前言:
SAP小技巧系列主要是记录一些项目中碰到的问题及解决思路与方式.这些问题可能你也碰到过,希望能给你一些帮助.
正文:
最近解决一个问题时需要查看SAP登录的处理代码, (程序名 SAPMSYST 中整合了SAP的登录处理逻辑). 但是发现这个程序无法用SE38查看.
跟踪SE38的过程发现, REPORT SOURCE 语句无法获取这个程序的内容. 估计SAP在底层通过特殊方式屏蔽了这个程序代码的读取.
解决办法.如下:
创建一个程序 ZSAPMSYST
通过DB02 的SQL语句把SAPMSYST的代码写入到 ZSAPMSYST .
UPDATE REPOSRC SET DATA = ( SELECT DATA FROM REPOSRC WHERE PROGNAME = 'SAPMSYST' )
WHERE PROGNAME = 'ZSAPMSYST'
这样用SE38 查看ZSAPMSYST 代码就可以看到标准程序SAPMSYST的代码了.
这个技巧也可以解决一些因为SAPMSYST代码丢失(可以是因为使用了 READ REPORT 'SAPMSYST' INTO INT_TAB.INSERT REPORT 'SAPMSYST' FROM INT_TAB.之类的语句,因为之前的READ REPORT 语句读取不到这个程序的内容, 所以导致写入了一个空代码到SAPMSYST中.) 这样导致的后果是整个系统无法登陆了.
此时可以登录HANA数据库, 用SQL语句把另外一个SAP系统的SAPMSYST代码内容 REPOSRC-DATA 写入到无法登录的SAP系统. 从而解决这个问题.
最后慎重提示一下: SAPMSYST是系统很核心的程序,所以SAP要隐藏该代码,避免用户编辑. 大家可以通过这个技巧查看它的内容. 理解一些SAP的标准登录逻辑. 但一定不要尝试修改它. 因为你可能面对无法登录系统的风险.
如果你对这篇文章感兴趣,请帮忙转发分享, 并且勾选微信 <看一看>.文章右上角的按钮点击后,点击<在看>(或者文章末尾的右下角<在看>),即可. (如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利. 毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)
扫码关注公众号,获取更多好用的SAP应用程序