我正在为我们的一位客户开发C#应用程序。我们已经定义了一些IDOC结构。所有规格都在Excel工作表中。
问题是:可以从'IDOCTYPE_READ_COMPLETE'函数获取整个IDOC结构,然后以某种方式解析/加载到'RfcStructureMetadata'对象吗?
其他信息:仅允许通过“ IDOC_INBOUND_ASYNCHRONOUS”功能>“ IDOC_DATA_REC_40”表>“ SDATA”字段将IDOC发送到ABAB后端。但是由于我还没有任何元数据,所以我无法创建任何结构。
希望很有意义,谢谢您的咨询
答案 0 :(得分:1)
您可能对此线程感兴趣:
SAP .Net Connector 3.0 - How can I send an idoc from a non-SAP system?
在那里讨论的内容仍然有效。
如果您有选择的话,建议您切换到Java,并使用SAP Java Connector加上IDoc类库插件来使用IDoc。这样,您就不再需要处理所有IDoc的技术问题,而可以直接从实现用于处理IDoc的业务逻辑开始。
答案 1 :(得分:0)
使用SAP NCO 3连接器无法轻松实现这一目标。如果有人想仅通过IDOC_INBOUND_ASYNCHRONOU
RFC函数与SAP通信,该怎么办?
IDOCTYPE_READ_COMPLETE
函数获取IDoc结构。SDATA
表的IDOC_DATA_REC_40
字段来回转换为您自己的“业务”对象。要“剪切” SDATA
字段,您将需要EXTLEN
字段(IDOCTYPE_READ_COMPLETE
函数PT_FIELDS
表)。这有点像char offset。SEGNUM
和PARNO
维护,您必须在IDOC_INBOUND_ASYNCHRONOUS
函数IDOC_DATA_REC_40
表中进行设置。您可以在IDOCTYPE_READ_COMPLETE
函数和PT_SEGMENTS
表中获取这些值。