ABAP RFC调试

时间:2009-02-02 13:02:24

标签: asp.net abap saprfc

我是ASP.NET和ABAP开发人员。多年来,我使用RFC使用SAP .NET Connector与ASP.NET进行通信。

在集成测试期间,有时我们需要调试从ASP.ENT调用的RFC,因为我们所遇到的错误不会发生在SE37上。

所以,每当我需要调试RFC时,我只是插入了:

IF <<CONDITION>>. WHILE 1 EQ 1. BREAK-POINT. ENDWHILE. ENDIF.

通过这样做,程序卡住了。然后我去SM50调试它。

我想知道是否有其他方法可以做到这一点,因为我不喜欢更改代码以便调试或实现某些调试控制功能的想法。

那么,当您需要调试RFC时,您会怎么做?

提前致谢!

3 个答案:

答案 0 :(得分:5)

我假设您使用的是最新版本的sap(4.7+) 执行以下操作:

  • 获取在ASP中使用RFC调用SAP的用户名
  • 启动SE37,转到RFC
  • 的代码部分
  • 查看顶部的菜单,点击“Utilities”
  • 点击“设置”
  • 转到“调试”选项卡
  • 填写将从ASP
  • 进行调用的用户名
  • 单击IP匹配(否则,每次任何用户拨打电话时都会显示调试会话)
  • 会话断点立即激活很好,也可以点击
  • 将您的外部断点放在您需要的位置(单击带有停止标志的图标和小人物)
  • 测试您的ASP连接器
  • 断点应该生效,弹出一个调试窗口
  • 您可能无权执行此操作,如果它不起作用,请使用SU53找出您缺少的内容。

这应该有用。

答案 1 :(得分:0)

整蛊..你能详细说明你的意思是“臭虫不会发生在第37号”吗?

这是否意味着您无法重现导致您的问题的数据,或者该问题是否特定于通过RFC调用功能模块的事实?

通常,您应该能够使用se37来启动功能模块,并且有一些方法可以将不同的数据星座记录到功能模块中。功能模块的行为应该是相同的,从se37或通过RFC调用...

答案 2 :(得分:0)

当您通过SE37拨打RFM时,您会在不知情的情况下使用SAP选择屏幕。 如果您有一个带标题行的表 从RFC调用时,它可能有标题行“填充”

如果您从RFC调用相同的FM,则在初始标题行。

PT_JNC上的循环。   出口。 ENDLOOP。 或READ TABLE PT_JNC INDEX 1.
将有助于填充标题行

这是一个微妙的区别。 其他简单的区别是SAP使用YYYYMMDD日期格式和HH24MISS时间

此致 jnc在加尔各答