Parsing SAP IDOC files

SpoBo picture SpoBo · Dec 2, 2009 · Viewed 10.4k times · Source

We are currently planning on communicating with a partner that is running SAP. The problem is that our ERP offers no way of communicating with SAP and we will need to extract the necessary info out of the IDOC files ourselves.

Is there an easy way of doing this in .NET? Like a library (free/commercial) that does all the grunt work?

I'm just looking for something like 'IDocLibrary.Parse(file)' and it'll return me a collection of objects that translate directly to the orders etc in the IDOC file.

I did read about some sort of SAP .NET Connector. Is this capable of doing what I want it to do?

edit:

SAP .NET Connector is no option it seems. According to http://www.dataxstream.com/2009/07/introduction-to-the-sap-net-connector/

In particular, there is no functionality built-in to the SAP .Net Connector for parsing the various data fields from an IDOC. It is up to the receiving program to know what the format of the IDOC is, and how to extract the data from the IDOC.

Answer

Mitch Wheat picture Mitch Wheat · Dec 2, 2009

I would suggest trying the SAP web site, SAP .NET Connector:

The SAP .NET Connector is a development environment that enables communication between the Microsoft. NET platform and SAP systems. This connector supports RFCs and Web services, and allows you to write different applications such as Web form, Windows form, or console applications in the Microsoft Visual Studio.Net. With the SAP .NET Connector, you can use all common programming languages, such as Visual Basic. NET, C#, or Managed C++.

Features Using the SAP .NET Connector and SAP .NET Proxy Wizard, you can:

· Write .NET Windows and Web form applications that have access to SAP business objects (BAPIs).

· Develop client applications for the SAP Server. Here you can use either RFCs or HTTP/SOAP/XML (outside-in).

· Write RFC server applications that run in a .NET environment and can be installed starting from the SAP system (inside-out).

IDoc Receiver as a Windows Service