C# 如何使用SAP.Net Connector 3创建IDoc并将其发送到SAP

C# 如何使用SAP.Net Connector 3创建IDoc并将其发送到SAP,c#,sap,sap-dotnet-connector,C#,Sap,Sap Dotnet Connector,我想使用SAP创建idocs并将其发送到SAP。网络连接器3.x 我在应用程序中配置了一个RFC目标: _rfcDestination = RfcDestinationManager.GetDestination(_destinationName); 但是我找不到任何关于如何创建和发送idoc的示例 有人能给出一些关于如何创建和发送idoc的示例代码吗?使用NCo将idoc提交到SAP系统的一种方法是功能模块idoc\u INBOUND\u ASYNCHRONOUS。功能模块有几个包含ido

我想使用SAP创建idocs并将其发送到SAP。网络连接器3.x

我在应用程序中配置了一个RFC目标:

 _rfcDestination = RfcDestinationManager.GetDestination(_destinationName);
但是我找不到任何关于如何创建和发送idoc的示例


有人能给出一些关于如何创建和发送idoc的示例代码吗?

使用NCo将idoc提交到SAP系统的一种方法是功能模块
idoc\u INBOUND\u ASYNCHRONOUS
。功能模块有几个包含idoc数据的表参数。表
IDOC\u CONTROL\u REC\u 40
包含控制记录,
IDOC\u DATA\u REC\u 40
包含IDOC数据段

IDOC\u DATA\u REC\u 40
包含一个名为
SDATA
的字段。该字段包含idoc段数据,作为具有固定字段长度的单个串联字符串


idoc_data_REC_40-SDATA
的idoc数据构造必须在代码中手动完成-您需要知道字段长度,包括数字字段的数字。可能有一种方法可以从SAP系统获取这些信息并在代码中使用,但我从未尝试过。

SAP NCo 3.0没有任何内置的IDOC处理功能集,如Java版本或一些api(如ERP connect)所构建的。不需要SAP NCo的帮助就可以做到这一点的一种方法是通过HTTP,您可以在本文中看到这一点,您需要您的基础来帮助您创建合作伙伴概要文件等,但您可以将真正的XML发布到web服务并生成和IDOC。
var fnc = destination.Repository.CreateFunction("IDOC_INBOUND_ASYNCHRONOUS");
var controlTable = fnc.GetTable("IDOC_CONTROL_REC_40");
var dataTable = fnc.GetTable("IDOC_DATA_REC_40");

// control segment
controlTable.Append();
controlTable.CurrentRow.SetValue("TABNAM", "EDI_DC40  ");
...


// here you add the data segments
dataTable.Append();
dataTable.CurrentRow.SetValue(...);

fnc.Invoke(destination);