可以在 RFC 用户下调试吗?

Debugging under RFC user possible?

我写了一个ABAP功能模块,用我的开发者账号执行就可以了

如果另一个用户执行它,他得到一个空的结果。另一个用户是无法使用 SAP GUI 登录的 RFC 帐户。

我不知道如何调试它。如何execute/debug一个功能模块冒充其他用户?

我正在使用 Windows- 本机 SAP GUI 和事务代码 SE80

如果 SAP 用户定义为 "Dialog" 或 "Service" 类型(事务代码 SU01),那么使用 SAP GUI 在技术上是可行的(使用该用户登录并调试).

如果 SAP 用户定义为 "Communication" 或 "System" 类型,则根本不可能。

您可以将其视为一种安全措施:如果您有一个在给定 SAP 用户下运行的 Web 服务,则该用户不可能用于直接使用 SAP GUI,以限制可能的攻击。

因此,我认为唯一合理的解决方案是在调试期间临时使用另一个 "Service" 类型的 SAP 用户,或者更改 SAP 用户的类型。

可以通过选择要调试的用户来调试另一个用户,方法是通过 Eclipse ADT 调试属性,或通过 ABAP Workbench ABAP 调试设置,具体取决于您使用的集成开发环境。

另一个解决方案是,如果你有可能临时更改你的代码,添加一个无限循环(DO. ENDDO.),通过事务SM50调试运行程序,菜单 Administration -> Program -> Debugging,这应该会打开一个指向循环的调试对话框,将光标放在循环之后的行上,然后按 F12 从那里继续。