繁体   English   中英

ABAP RFC调试

[英]ABAP RFC Debugging

我是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时该怎么办?

提前致谢!

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

  • 获取在ASP中进行RFC调用SAP的用户名
  • 启动SE37,转到RFC的代码部分
  • 查看顶部的菜单,单击“实用程序”
  • 点击设置
  • 转到调试选项卡
  • 填写将通过ASP进行呼叫的用户名
  • 单击“ IP Matching”(IP匹配)(否则,每次有任何用户拨打电话时,都会出现一个调试会话)
  • 立即激活会话断点也很不错
  • 将外部断点放置在需要的位置(单击带有停车标志的图标和那个矮个子男人)
  • 测试您的ASP连接器
  • 断点将生效,将弹出一个调试窗口
  • 您可能没有执行此操作的权限,如果它不起作用,请使用SU53找出丢失的内容。

这应该工作。

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

如果您从RFC调用相同的FM,则标题行应以初始形式出现。

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

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

问候加尔各答的jnc

棘手的..您能详细说明“错误不会在se37发生”的意思吗?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM