2

我是一名 ASP.NET 和 ABAP 开发人员。多年来,我使用 RFC 通过 SAP .NET 连接器与 ASP.NET 进行通信。

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

所以,每次我需要调试 RFC 时,我都插入了:

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

这样,程序就会卡住。然后我去SM50调试它。

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

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

提前致谢!

4

3 回答 3

5

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

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

这应该有效。

于 2009-02-03T19:53:03.353 回答
0

棘手..您能否详细说明“该错误不会在se37发生”是什么意思?

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

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

于 2009-02-02T17:39:09.693 回答
0

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

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

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

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

问候 jnc 在加尔各答

于 2009-11-21T16:04:50.840 回答