There are many ways in which SAP can be integrated with other applications. Prominent ones are BAPIs, ALE Distribution and IDOCs. In this article we will focus on understanding integration with IDOCs. In simple terms IDOCs are structured XMLs which can be pushed into and out of SAP. The IDOCs may represent one or more business events or master data; however one IDOC can have only one type of information. Thus a specific IDOC can be relate to orders or delivery but cannot be related to order and delivery both. IDOC’s basic Type contains the information on what kind of IDOC we are talking about.
Understanding IDOC further
As mentioned earlier IDOCs can be sent into SAP in which case it is termed as inbound IDOC. On the contrary, we have outbound IDOCs being triggered from SAP. Outbound IDOC can be triggered using techniques like Output Determination which will be discussed in a separate article.
As shown in the picture below, each IDOC has three kinds of segments.
I. Control Segment
This has information on the direction, sending partner, receiving partner, IDOC type and more technical information pertaining to the IDOC.
II. Data Segment
This has the actual business information which needs to be transferred between the systems. For example if the IDOC is related to Orders, this would have details like Customer, Material, and Quantity etc. The data segment is further subdivided into individual segments with proper qualifiers to indicate the relevance of the data contained in that segment.
III. Status Segment
This segment has the information on the status of the IDOC. An IDOC can have multiple status segments as and IDOC can be first collected then transmitted may fail and then eventually become successful.
Configuring IDOCs in simple steps
Configuring an IDOC is usually thought to be complex requiring high technical expertise to work on it. However it is easier than that, though you need to be aware of the basics and also aware of what is the business context under which you are configuring the solution.
The steps mentioned are as below
I. Configuring Partner Profile(WE20)
In this step you need to mention the partners with whom you want to communicate the information with. For example you may want to send invoice to customers. Hence the customer is partner in this case. In another instance, you want to send Invoice for printing to a third party solution provider; in this case you need to define a logical system for the service provider.
II. Configuring Inbound and Outbound Parameters(WE20)
In this step, you need to ask (i) Are you expecting information from the partner or are you going to send information to the partner or both (ii) In either of cases what kind of information are you going to exchange. Once you have these answers you can create the relevant entries in Outbound and Inbound parameters. Please note that you need to first save the partner profile in order to have this section enabled. Here you may also specify whether you want IDOCs to be in collect mode (generated but not sent) or transferred immediately.
III. Maintaining Output records
To trigger the IDOC you need to maintain the relevant condition records in the respective transaction. By doing this, system will automatically trigger the IDOC on completion of the business transaction. For example by maintaining records in transaction VV31, you can have IDOCs generated automatically on generation of Invoice.
Summary and further customization
SAP gives many IDOC types which can be configured out of the box to exchange information with other systems. If you have custom requirements, SAP gives the option of developing your own custom IDOCs or enhancing the standard ones with custom segments. By configuring the solution, you can get systems to talk to SAP within no time.