早上好。
我们使用 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 中看起来如何?