我们目前正计划与运行SAP的合作伙伴进行通信。问题是我们的ERP没有提供与SAP通信的方式,我们需要自己从IDOC文件中提取必要的信息。
在.NET中有一种简单的方法吗?就像一个图书馆(免费/商业)做所有的工作吗?
我只是在寻找类似于‘IDocLibrary.Parse(文件)’的东西,它将返回一个对象集合,这些对象可以直接转换到IDOC文件中的orders等。
我确实读过一些关于SAP .NET连接器的文章。这能做我想做的事吗?
编辑:
SAP .NET连接器似乎没有选择。根据http://www.dataxstream.com/2009/07/introduction-to-the-sap-net-connector/
特别是,没有内置到SAP .Net连接器中的功能来解析来自IDOC的各种数据字段。这取决于接收程序知道IDOC的格式,以及如何从IDOC中提取数据。
发布于 2009-12-04 13:34:20
SAP有一个C++库来处理IDocs,但它非常古老:这是一个PDF描述它。不确定您是否还能获得该软件,以及这是否会对您今天的工作有所帮助。
大多数较新的库似乎都是为Java开发的(例如可以找到这里)。我想,如果您正在寻找.Net解决方案,这不会对您有多大帮助。
但是,正如我在对您的问题的评论中所建议的那样,您可能能够获得XI (Exchange )/ PI (Process )-infrastructure(基于Java )以XML格式发送IDocs。应该比“纯文本”容易得多.
发布于 2009-12-02 08:39:45
我建议试试SAP网站,SAP .NET连接器。
是一个开发环境,支持.NET之间的通信。NET平台和SAP系统。此连接器支持RFCs和Web服务,并允许您在MicrosoftVisualStudio.Net中编写不同的应用程序,如Web、Windows或console应用程序。使用SAP .NET连接器,您可以使用所有常见的编程语言,例如Visual。NET、C#或托管C++。 使用SAP .NET连接器和SAP .NET代理向导的特性,您可以: ·编写.NET Windows和Web应用程序,这些应用程序可以访问(BAPI)。 ·为SAP服务器开发客户端应用程序。在这里,您可以使用RFCs或HTTP/SOAP/XML (外部)。 ·编写运行在.NET环境中的RFC服务器应用程序,这些应用程序可以从SAP系统开始安装(内置)。
作为Windows的IDoc接收器
发布于 2009-12-04 10:40:58
有一种方法可以从system中转储IDoc类型定义(类似于DTD)。然后用它作为发送给你的信息的元描述。AFAIK有不同的方式输出定义,HTML,C头,甚至可能是“真实的”DTD。
很长一段时间没有使用它了,但是看看IDocs类型是在哪里定义的(在楔形菜单中的某个位置,可能是we30)。
IDocs本身基本上是固定字段长度的纯文本,因此您必须知道字段/结构之间的“边界”在哪里。使用IDoc定义,这应该不会太困难。
https://stackoverflow.com/questions/1831464
复制相似问题