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

时间:2017-11-17 09:47:45

标签: c sap rfc netweaver idoc

早上好。

我们使用SAP RFC SDK的“Classic”API为SAP提供了一个工作的Idoc接口。由于不再支持此功能,我们需要迁移到新API附带的新Netweaver RFC SDK。我现在在理解哪些调用new取代旧调用时遇到了一些麻烦。

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

1 个答案:

答案 0 :(得分: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使用)。