1

早上好。

我们使用 SAP RFC SDK 的“经典”API 有一个到 SAP 的有效 Idoc 接口。由于不再支持此功能,我们需要迁移到带有新 API 的新 Netweaver RFC SDK。我现在在理解哪些调用新替换旧调用时有点麻烦。

我们的接口构建了两个 C 程序,一个用于 SAP 入站(sapclient),一个用于 SAP 出站(sapserver),均使用 tRFC。

sapclient 当前使用以下 API 函数序列:

打开连接

RfcConnect

环形:

填充内部数据结构

ItCreate("IDOC_CONTROL_REC_40") 
ItCreate("IDOC_DATA_REC_40")
ItAppLine("IDOC_CONTROL_REC_40")
ItAppLine("IDOC_DATA_REC_40")

通过表

RfcIndirectCall("IDOC_INBOUND_ASYNCHRONOUS")

删除句柄

ItDelete(firstHandle)
ItDelete(secondHandle)

sapserver 程序执行以下操作:

打开连接

RfcAccept

设置错误处理程序

RfcEnvironment

事务控制

RfcInstallTransactionControl("RFC_ON_CHECK_TID", "RFC_ON_COMMIT", "RFC_ON_ROLLBACK", "RFC_ON_CONFIRM_TID")

安装功能

RfcInstallFunction("IDOC_INBOUND_ASYNCHRONOUS")

循环:处理传入数据

RfcDispatch

现在,这在新的 Netweaver API 中看起来如何?

4

1 回答 1

0

作为起点,我推荐 SAP 的这些文章。它们描述了 NetWeaver API,并且在每一章中都与旧的(经典)API 进行了简短的比较:

第一部分——RFC 客户端编程 https://wiki.scn.sap.com/wiki/x/zz27Gg

第二部分——RFC 服务器编程 https://wiki.scn.sap.com/wiki/x/9z27Gg

第三部分——高级主题 https://wiki.scn.sap.com/wiki/x/FD67Gg

您可能需要第一部分用于客户端通信,第三部分用于 tRFC 协议(由 IDocs 使用)。

于 2018-08-15T16:43:31.033 回答