我已经编写了一个ABAP功能模块,如果使用我的开发人员帐户执行该模块,该模块可以正常工作。
如果另一个用户执行它,他将得到一个空结果。另一个用户是无法使用sap gui登录的RFC帐户。
我不知道如何调试它。如何执行/调试功能模块并假装为其他用户?
我正在使用Windows原生的sap gui和se80。
答案 0 :(得分:9)
如果将SAP用户定义为“对话框”或“服务”类型(交易代码for y in range(28):
for x in range(28):
if myarray[y,x] < 50:
myarray[y,x] = random.randint(80,100)
),则使用SAP GUI(以该用户身份登录并进行调试)在技术上是可行的。
如果将SAP用户定义为“通讯”或“系统”类型,则根本不可能。
您可以看到,这是一项安全措施:如果您有一个在给定的SAP用户下运行的Web服务,则该用户不能直接用于SAP GUI,以限制可能的攻击。</ p >
因此,我认为唯一合理的解决方案是在调试期间临时使用另一个“服务”类型的SAP用户,或更改SAP用户的类型。
可以通过选择要调试的用户来调试其他用户,这可以通过Eclipse ADT调试属性,也可以通过ABAP Workbench ABAP调试设置来完成,具体取决于您使用的集成开发环境。
另一种解决方案是,如果您可以临时更改代码,添加无限循环(SU01
),请通过事务DO. ENDDO.
菜单管理->程序-调试正在运行的程序。 >调试,应打开一个指向循环的调试对话框,将光标放在循环后的行上,然后按F12键从该处继续。