ABAP / SAP:传输后执行旧的RFC代码。需要刷新吗?

时间:2018-11-05 13:22:23

标签: sap abap pyrfc

我在称为TE1的SAP系统中更改了abap代码(RFC功能)。

我运送了TQ1系统的变更。

现在我称之为RFC,但是看来sap stills执行旧代码。

我复制并粘贴了TE1和TQ1的两个代码版本,并将它们与差异工具进行比较。

他们都是平等的。我的更改从TE1传输到TQ1。

激活我的新abap rfc代码是否需要采取特殊步骤?

我使用PyRFC作为客户端库

3 个答案:

答案 0 :(得分:1)

我们的一个RFC FM存在相同的问题。原因是该连接一旦建立便保持打开状态。在这种情况下,二进制文件不会在RFC上下文中刷新。只需重新启动连接,一切就可以按需工作。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

报价问题:

  

Python脚本结束后,连接应自动   关闭并初始化SAP NW RFC SDK。在这里发生了什么   集线器。

     

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

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