Complete Notes On IDOCS
Complete Notes On IDOCS
Complete Notes On IDOCS
ABSTRACT
IDocs are used in most of the SAP applications for transfer of message from SAP to other systems and vice
versa. A lot of documentation is available on web for IDocs but most of them are technical in nature. This
document is written from perspective of a functional consultant and this will help in dealing with support issues
related to IDoc. An effort has been made to capture all the necessary information about IDocs that a functional
consultant needs to be aware of.
OVERVIEW
IDoc is an SAP object that carries data of a business transaction from one system to another in the form of
electronic message. IDoc is an acronym for Intermediate Document. The purpose of an IDoc is to transfer data
or information from SAP to other systems and vice versa. The transfer from SAP to non-SAP system is done
via EDI (Electronic Data Interchange) subsystems whereas for transfer between two SAP systems, ALE is
used.
IDoc can be triggered in SAP system or in EDI subsystem. This depends on the direction in which IDoc is sent
and is called as Inbound IDoc and Outbound IDoc accordingly. In case of outbound flow, IDoc is triggered in
SAP through document message control which is then sent to EDI subsystem. EDI converts the data from IDoc
into XML or equivalent format and then sends the data to partner system through Internet.
For inbound flow, EDI converts partner data and IDoc is created in SAP. After successful processing of this
IDoc, Application Document is posted in SAP.
IDOC TERMINOLOGIES
IDOC (BASIC) TYPE
IDoc Types are based on the EDI standards and mostly on EDIFACT standards.
Basic Types (or IDoc Type) defines the structure of an IDoc. Each basic type describes standard IDoc
segments, format of data fields and their size. Basic Type also defines number of segments and fields in
an IDoc. All the fields that are necessary for transmission of message for a particular business transaction
are mapped in different segments. It also defines the structure and relationship of IDoc segments along with
mandatory and optional segments.
IDOC EXTENSION
Basic type contains all the standard fields that are necessary for carrying out a business transaction. However,
if any additional values are to be sent to the partner then we can make use of the IDoc Extension feature. IDoc
extension is extension of basic type and contains additional custom IDoc segments and fields that are not
available in standard basic type.
IDOC SEGMENTS
IDoc segments contain the actual data that is sent to or received from a partner. These segments contain the
actual values that are sent as part of IDoc transmission.
INBOUND/OUTBOUND IDOCS
IDocs sent outside the system are termed as Outbound IDocs and the ones that are received into the system,
are called as Inbound IDocs.
IDOC DIRECTION
This signifies the direction is which information is sent and is similar to terminology used in mails.
If information is sent outside the system then the direction is outbox when it is received into the
PARTNER
Partner is the Business Partner with which the exchange of information is to take place using
IDoc. It can be a vendor or customer or any other system. Depending on the direction of
information in which the information is sent it plays a role of either a sending partner or a
receiving partner.
PARTNER TYPE
Partner type/role is used to identify partners within the sap systems. Partner type is KU for customer, LI for
vendor and LS for Logical System.
MESSAGE TYPE
IDoc processing involves transmission or receipt of document in the form of a message, each of which
represents a document in SAP. These documents can be Order, Shipment Confirmation, Advance Shipping
Notification, Goods Receipt, or Invoice. Message type is associated with Basic IDoc Type (Basic Type) and
defines the kind of data or document that is exchanged with the partner.
PROCESS CODE
The process code contains the details of the Function Module that are used for IDoc processing. Message
Type can be linked to the Process code.
PORT
IDoc Port contains the information about the way data is sent between the source or target
system. The type of port defines the information contained within the port. For port type
Internet Port will contain IP address of the target system. For port type file, directory or file
name information is maintained. tRFC port contains information about the RFC destination of
the target system. For IDoc transmission using ALE tRFC ports are used.
Partner profile must be maintained for all the business partners to whom we want to send or receive the IDocs.
The TCODE for maintaining the partner profile is WE20.
Partner profile contains parameters for Inbound and Outbound processing of IDocs. For each message type
we can maintain, inbound/outbound options, message control, post processing options and contact information
within Inbound and outbound parameters.
OUTBOUND OPTIONS (OUTBOUND PARAMETERS)
This involves sender/receiver port, Output mode and relation to IDoc type i.e. Basic Type and extension.
Change Message Indicator indicates whether the IDoc is sent as a notification of change. For example,
Purchase Order change messages are sent to vendor using EDI standard message type 860.
Separate message type should be triggered in the purchase order for PO change. Additional line with change
message type must be added in the Message control tab with change message indicator on.
For example, Message Type 850 is an EDI standard for Purchase Order IDoc and is linked to IDoc Message
Type Orders.
These records are stored in the transparent tables in SAP. These are EDIDC, EDID4 and EDIDS.
CONTROL RECORD (EDIDC)
It contains information such as IDoc number, direction, IDoc Status, Basic Type, Message Type, Partner
(Sender/Receiver), date and time of creation/update, Interchange File or ISA number,etc.
IDoc segment has fields that contain the data necessary for posting the documents.
Initial Status numbers are 64 for inbound and 03 for outbound. Successful status is 53 for inbound and 16 for
outbound IDocs.
The relationship between the IDoc and the application document can be found in two ways:
1. Relationship tab of IDoc
2. Relationship tab of Application Document, e.g. PO, SO, Material Document, etc.
The initial status of this IDoc will be 30, which after successful processing will convert into status 16.
A successful outbound IDoc will pass through all the above statuses in reverse order (01-03-18-06-12-16).
Each status represents an IDoc validation step. If an IDoc passes all the validations it would reach status 16.
These different validation steps for outbound IDocs are explained below:
01: IDoc generation successful
30: IDoc is ready to be processed by IDoc Processing job
03: IDoc data is passed to the Port
18: IDoc successfully triggered EDI subsystem
06: IDoc data translated to EDI format
12: IDoc is dispatched successfully to the partner
16: Partner has received the IDoc successfully
IDoc can possibly fail at any of the above steps during validation.
An inbound IDoc goes through all the above statuses in reverse order (50-64-53).
IDOC PROCESSING
AUTOMATIC/IMMEDIATE PROCESSING
In this case, IDoc are processed immediately as they generated or added in the system. The
check Transfer IDoc immediately is selected in Outbound Options and Trigger Immediately
is selected in Inbound Option. These checks are generally used when the real time information
exchange is necessary between two systems.
MANUAL PROCESSING
IDocs can also be manually processed using the TCODE BD87 in SAP.
PROCESSING VIA BACKGROUND JOB
IDoc processing by background is the most preferred way of processing the IDocs. Following Programs are
used from processing the IDocs using background job:
RBDAPP01 - Inbound IDocs
RSEOUT00 - Outbound IDocs
REPROCESSING IDOCS
On the basis of IDoc statuses different programs can be used for reprocessing of failed IDocs. These are given
below:
IDoc search can also be made on the basis of ISA or Transfer file Reference.
Though, the IDoc failure may not be related to any of the above mentioned reasons, the best way to find the
IDoc error is to compare the existing IDoc with the good example. Good example IDoc can be easily searched
with any of the IDoc search methods as described above.