.netsap-dotnet-connectoridocsap-erp

Parsing SAP IDOC files


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.


Solution

  • There is a C++ library from SAP that handles IDocs, but it's quite old: Here's a PDF describing it. Not sure if you can still get the software and if that's going to help you today.

    Most newer libraries seem to be developed for Java (one example can be found here) .. I guess that won't help you much if you're looking for a .Net solution.

    However, as I suggested in my comment to your question, you may be able to get the XI (Exchange Integration) / PI (Process Integration)-infrastructure (which is Java based) to send out the IDocs in an XML format. That should be much easier to handle than "plain text" ...