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的标准登录逻辑. 但一定不要尝试修改它. 因为你可能面对无法登录系统的风险.
如果你对这篇文章感兴趣,请帮忙转发分享, 并且勾选微信 <看一看>.文章右上角的按钮点击后,点击<在看>(或者文章末尾的右下角<在看>),即可.