题
我们目前正计划与运行 SAP 的合作伙伴进行沟通。问题是我们的 ERP 无法与 SAP 进行通信,我们需要自己从 IDOC 文件中提取必要的信息。
在 .NET 中有一个简单的方法可以做到这一点吗?就像一个可以完成所有繁重工作的图书馆(免费/商业)?
我只是在寻找类似“IDocLibrary.Parse(file)”的内容,它会返回一个对象集合,这些对象直接转换为 IDOC 文件中的订单等。
我确实读过有关某种 SAP .NET Connector 的内容。这能够做我想做的事吗?
编辑:
SAP .NET Connector 似乎不是一个选择。根据 http://www.dataxstream.com/2009/07/introduction-to-the-sap-net-connector/
特别是,SAP .NET连接器内置没有用于从IDOC中解析各种数据字段的SAP .NET连接器。要知道IDOC的格式是什么,以及如何从IDOC中提取数据,取决于接收程序。
解决方案
SAP 有一个处理 IDoc 的 C++ 库,但它相当旧:这是一个描述它的 PDF 文件。 不确定您是否仍然可以获得该软件以及这是否会对您今天有所帮助。
大多数较新的库似乎都是为 Java 开发的(一个例子可以在 这里)..我想如果您正在寻找 .Net 解决方案,这对您没有多大帮助。
然而,正如我在对您的问题的评论中所建议的,您也许能够获得 XI(交换集成)/PI(流程集成)基础设施(基于 Java)以 XML 格式发送 IDoc。这应该比“纯文本”更容易处理......
其他提示
我会建议尝试的SAP网站, SAP。 NET连接:
在SAP .NET连接器是一个 开发环境,使 微软之间的通信。 NET平台和SAP系统。这个 连接器支持RFC和网络 服务,并且允许你写 不同的应用,如Web 形式,Windows窗体或控制台 在Microsoft Visual应用 Studio.Net。随着SAP .NET 连接器,你可以使用所有常见 编程语言,如Visual 基本。 NET,C#,或托管C ++。
功能使用SAP .NET连接器 和SAP .NET代理向导,可以:
·写.NET的Windows和Web 即有机会获得表单应用程序 SAP业务对象(的BAPI)。
·制定客户端应用程序 对于SAP服务器。在这里,您可以使用 任一的RFC或HTTP / SOAP / XML (外 - 内)。
·写入RFC服务器应用程序 在.NET环境中,并可以在运行 安装从SAP开始 系统(由内向外)。
有从SAP系统内倾倒IDoc类型定义(类似于DTD)的一个方式。然后用其作为什么是发送给您的元描述。 AFAIK有不同的方式来输出的定义,HTML,C-头,甚至“真正的” DTD。
有没有在相当长的一段用这个,但其中的IDoc类型定义环顾四周(某处WEDI菜单,可能we30)。
在的IDoc本身是具有固定字段长度几乎纯文本,所以你必须知道这里的“边界”的字段之间/结构。随着IDoc的定义,这应该不会太困难。
我的公司,DataXstream,谁提供了一个连接器(你引用它们的初始消息中)做的正是你想要的工作。通常,我们的连接器用于集成第三方应用程序到SAP。我不知道,你可以假设IDOC包含你总是想要的信息,因为大多数SAP实施是非常个性化的和独特的。无论如何,我们会很乐意帮助你要么充分利用连接器的,或者你正在寻找件你[执行寻求整合。只要让我知道。
吉姆
对于所有那些谁在这个老问题在这里绊脚石:
用的IDoc和IDoc的-XML,这是由SAP,无需额外费用提供给工作中最舒适的方式,是使用SAP的Java IDoc的类库添加为SAP Java连接器。 它可以从SAP Java连接器首页在 https://support.sap.com/jco 下载
不幸的是这样的IDoc的类库附加缺少的SAP连接器的Microsoft .NET环境 - 至少目前还因为据我所知,由SAP提供的无
另外一个还可以看看,并考虑使用 SAP Business Connector的的同时也提供了适当的API来处理的IDoc和IDoc的-XML。当然,这是一个集成平台产品,用于交换各种系统之间的业务数据,以及包括在自己的Java应用程序项目没有开发库。但它也免费提供给所有SAP客户拥有自己的NetWeaver的许可证。
由SAP提供的所有解决方案的前提是,你是SAP的客户或合作伙伴,并且拥有一个ABAP系统中的许可。