Search code examples
.netsap-dotnet-connectoridoc

SAP .Net Connector 3.0 - How can I send an IDoc from a non-SAP system?


I am trying to use the .NET connector to send data to an SAP system. I have been able to send calls to RFC function module quite easily but there doesn't seem to be any way to send a standard IDoc directly. This is quite weird because IDocs are supposed to be the standard communication tool to talk with SAP.

Has anyone found if/how it's possible to do it?


Solution

  • As far as I know there is currently no development library offered by SAP for the .NET Connector (NCo) for dealing with IDocs. If you would like to use the NCo, you have to code this IDoc handling stuff on your own. It's possible because also IDocs are usually transferred by calling special Remote Function Modules (e.g. IDOC_INBOUND_ASYNCHRONOUS). But this can become really cumbersome and difficult, especially if it should also work with non-unicode ABAP systems and multi-byte code pages like Chinese, Japanese or Korean.

    But if you do not need to stick to NCo, I think the easiest way to do own development with using IDocs, is to switch to Java and use the SAP Java Connector (JCo) in conjunction with the SAP Java IDoc Class Library add-on. NCo and JCo have a very similar API, but this Java IDoc Class Library add-on is what is unfortunately missing for the .NET environment - at least it is not offered by SAP and I also do not know any other .NET library for this.