即使在导入TR后,PyRFC的旧ABAP代码仍然有效。为什么?

即使在导入TR后,PyRFC的旧ABAP代码仍然有效。为什么?,abap,saprfc,pyrfc,Abap,Saprfc,Pyrfc,我在SAP系统X中更改了ABAP RFC模块,并将更改传输到Y。现在,当我调用RFC时,SAP仍然执行旧代码 我用diff工具比较了X和Y的两个版本,没有发现任何差异,所以看起来像是发生了变化。是否需要特殊步骤来激活我的ABAP RFC代码 我用作客户端库。无需激活任何内容。在你运输的时候应该没问题。 你可以试试这些 再次传输所有内容。(包括同一请求的其他任务) 检查通话中的destination(目的地)字段,查看您呼叫的系统是否正确 清除缓冲区=>TCode/$sync 无需激活任何内容。

我在SAP系统X中更改了ABAP RFC模块,并将更改传输到Y。现在,当我调用RFC时,SAP仍然执行旧代码

我用diff工具比较了X和Y的两个版本,没有发现任何差异,所以看起来像是发生了变化。是否需要特殊步骤来激活我的ABAP RFC代码


我用作客户端库。

无需激活任何内容。在你运输的时候应该没问题。 你可以试试这些

  • 再次传输所有内容。(包括同一请求的其他任务)
  • 检查通话中的destination(目的地)字段,查看您呼叫的系统是否正确
  • 清除缓冲区=>TCode/$sync

    • 无需激活任何内容。在你运输的时候应该没问题。 你可以试试这些

      • 再次传输所有内容。(包括同一请求的其他任务)
      • 检查通话中的destination(目的地)字段,查看您呼叫的系统是否正确
      • 清除缓冲区=>TCode/$sync

      我们的一个RFC FMs也有同样的问题。原因是,一旦建立连接,它就会保持打开状态。在这种情况下,不会在RFC上下文中刷新二进制文件。只需重新启动连接,一切都将按预期工作。

      我们的一个RFC FMs也有同样的问题。原因是,一旦建立连接,它就会保持打开状态。在这种情况下,不会在RFC上下文中刷新二进制文件。只需重新启动连接,一切都将正常工作。

      这是一个已知问题:

      引述问题:

      Python脚本结束后,应自动断开连接 关闭并初始化SAP NW RFC SDK。下面是在 枢纽

      Python解释器和PyRFC实例共享相同的SAP NW RFC SDK 当远程启用功能模块(RFM)处于 第一次调用时,RFM元数据缓存在SAP NW RFC中 SDK。当从Python/PyRFC请求相同RFM的第二次调用时, SAP NW RFC SDK从缓存返回元数据,而不是从 再次从ABAP系统读取,保存一个Python/ABAP往返和 某些性能,特别是在复杂RFM的情况下。如果RFM 同时签名已更改,缓存的RFM元数据不可用 改变了,Python“看到”了旧的ABAP代码

      我希望开发人员友好的解决方案将在未来得到应用。

      这是一个已知的问题:

      引述问题:

      Python脚本结束后,应自动断开连接 关闭并初始化SAP NW RFC SDK。下面是在 枢纽

      Python解释器和PyRFC实例共享相同的SAP NW RFC SDK 当远程启用功能模块(RFM)处于 第一次调用时,RFM元数据缓存在SAP NW RFC中 SDK。当从Python/PyRFC请求相同RFM的第二次调用时, SAP NW RFC SDK从缓存返回元数据,而不是从 再次从ABAP系统读取,保存一个Python/ABAP往返和 某些性能,特别是在复杂RFM的情况下。如果RFM 同时签名已更改,缓存的RFM元数据不可用 改变了,Python“看到”了旧的ABAP代码


      我希望开发人员友好的解决方案将在未来得到使用。

      您是否直接修改了功能模块,或者它是某种形式的例程,例如定价条件例程?在少数情况下,您需要在传输更改后重新激活这些更改。但是,如果您修改了具有远程功能的功能模块,则不需要重新激活任何内容。若要确保已调用更改的代码,请在FM中放置一个外部断点,并查看是否触发了该断点(注意:必须与设置断点的用户一起调用FM)。导入后,传输管理不会自动激活所有更改的对象吗?您如何知道旧代码已被执行?你能分享RFC新旧代码的详细信息吗?分享你通话中的一些代码。。。调用RFC时是否使用DESTINATION?@DirkTrilsbeek我直接修改了函数模块。我想我找到了解决方案,我把它贴在了下面。你是直接修改了功能模块还是某种形式的例程,比如定价条件例程?在少数情况下,您需要在传输更改后重新激活这些更改。但是,如果您修改了具有远程功能的功能模块,则不需要重新激活任何内容。若要确保已调用更改的代码,请在FM中放置一个外部断点,并查看是否触发了该断点(注意:必须与设置断点的用户一起调用FM)。导入后,传输管理不会自动激活所有更改的对象吗?您如何知道旧代码已被执行?你能分享RFC新旧代码的详细信息吗?分享你通话中的一些代码。。。调用RFC时是否使用DESTINATION?@DirkTrilsbeek我直接修改了函数模块。我想我找到了解决方案,我把它贴在下面。谢谢你的反馈。你的文字看起来更像是对我答案的评论。也许你还没有看到。尽管如此,还是要感谢你支持这个解决方案。我看到了你的帖子,但是没有什么名声可以发表评论。所以,我认为另一个答案是可以的…;-)我懂了。坚持下去,你很快就会有足够的声誉。我希望你能加入Votest谢谢你的反馈。你的文字看起来更像是对我答案的评论。也许你还没有看到。尽管如此,还是要感谢你支持这个解决方案。我看到了你的帖子,但是没有什么名声可以发表评论。所以,我认为另一个答案是可以的…;-)我懂了。坚持下去,你很快就会有足够的声誉。我希望你投更多的票