3

我正在为我们的一位客户开发 C# 应用程序。我们已经定义了一些 IDOC 结构。所有规格都在 Excel 表中。

所以问题是:有可能从“IDOCTYPE_READ_COMPLETE”函数中获取整个 IDOC 结构并以某种方式将其解析/加载到“RfcStructureMetadata”对象中吗?

附加信息:我只允许使用“IDOC_INBOUND_ASYNCHRONOUS”函数>“IDOC_DATA_REC_40”表>“SDATA”字段将 IDOC 发送到 ABAB 后端。但我无法创建任何结构,因为我还没有任何元数据。

希望有道理,谢谢指教

4

2 回答 2

1

您可能会对此线程感兴趣:
SAP .Net Connector 3.0 - How can I send an idoc from a non-SAP system?
那里讨论的内容仍然有效。

如果您有选择,我建议切换到 Java 并使用SAP Java 连接器和 IDoc 类库插件来处理 IDoc。有了这个,您不再需要处理所有的技术 IDoc 内容,并且可以直接开始实现用于处理 IDoc 的业务逻辑。

于 2019-01-09T15:52:07.847 回答
0

使用 SAP NCO 3 连接器没有简单的/内置方式来实现这一点。如果有人只想通过IDOC_INBOUND_ASYNCHRONOURFC 功能与 SAP 进行通信,这就是待办事项。

  1. IDOCTYPE_READ_COMPLETE获取带有函数的 IDoc 结构。
  2. 编写可以SDATA从表中的字段IDOC_DATA_REC_40转换为您自己的“业务”对象的函数。要“剪切”该SDATA字段,您将需要该EXTLEN字段(IDOCTYPE_READ_COMPLETE功能PT_FIELDS表)。这有点像 char 偏移量。
  3. 请注意,IDOC 可以包含多个段和/或段列表。细分(recrusion)也是如此。引用由SEGNUM和维护PARNO,您必须在IDOC_INBOUND_ASYNCHRONOUS函数IDOC_DATA_REC_40表中设置这些。IDOCTYPE_READ_COMPLETE您可以在函数和PT_SEGMENTS表中获取这些值。
于 2019-02-05T12:04:53.510 回答