即使在导入TR之后,PyRFC的旧ABAP代码仍然处于活动状态.为什么



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

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

我使用PyRFC作为客户端库。

我们的一个RFC FM也遇到了同样的问题。原因是该连接在建立后仍然处于打开状态。在这种情况下,二进制文件不会在RFC上下文中刷新。只需重新启动连接,一切都会按需工作。

这是一个已知的问题:https://github.com/SAP/PyRFC/issues/89

引用问题:

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

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

我希望将来能使用一个对开发人员友好的解决方案。

不需要激活任何东西。你运输的时候应该没问题。你可以试试这些;

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

相关内容

  • 没有找到相关文章

最新更新