c - 如何从 SAP Classic RFC API 迁移到 Netweaver RFC API



早上好。

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

我们的接口构建了两个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中看起来如何?

作为起点,我推荐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 使用(。

最新更新