Idoc
Encyclopedia
IDoc, short for Intermediate Document, is a SAP
document format for transferring the data for a business transaction.
IDoc is similar to XML
in purpose, but differs in syntax. Both serve the purpose of data exchange and automation in computer systems, but the IDoc-Technology takes a different approach.
While XML allows having some metadata about the document itself, an IDocs is obligated to have information at its header like its creator, creation time etc. While XML has a tag-like tree structure containing data and meta-data, IDocs use a table with the data and meta-data. IDocs also have a session that explains all the processes which the document passed or will pass, allowing one to debug and trace the status of the document.
Different IDoc types are available to handle different types of messages. For example, the IDoc format ORDERS01 may be used for both purchase orders and order confirmations.
IDoc technology offers many tools for automation, monitoring and error handling. For example, if the IDocs are customised that way on a particular server, then a user of SAP R/3
system creates a purchase order; this is automatically sent via an IDoc and a sales order is immediately created on the vendor's system.
When this order cannot be created because of an application error (for example: The price per piece is lower than allowed for this material), then the administrator on the vendor's system sees this IDoc among the erroneous ones and can solve the situation. If the error is in the master data at the vendor's system, he can correct them and order the IDoc to be processed again.
Because of the flexibility and transparency of IDoc technology, some non-SAP technologies use them as well.
This report can be used to display and edit IDocs.
This transaction allows the creation of IDocs for testing.
This transaction determines a processing code based on the partner profile identified by the control record of the IDoc.
This transaction identifies an external port (RFC, File, ABAP-PI, etc.) that controls the IDoc flow to an external system.
This transaction links an outbound processing code specified in a partner profile to a function module.
This transaction links an inbound processing code specified in a partner profile to a function module.
This transaction processes inbound IDocs.
This transaction processes outbound IDocs.
SAP AG
SAP AG is a German software corporation that makes enterprise software to manage business operations and customer relations. Headquartered in Walldorf, Baden-Württemberg, with regional offices around the world, SAP is the market leader in enterprise application software...
document format for transferring the data for a business transaction.
IDoc is similar to XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
in purpose, but differs in syntax. Both serve the purpose of data exchange and automation in computer systems, but the IDoc-Technology takes a different approach.
While XML allows having some metadata about the document itself, an IDocs is obligated to have information at its header like its creator, creation time etc. While XML has a tag-like tree structure containing data and meta-data, IDocs use a table with the data and meta-data. IDocs also have a session that explains all the processes which the document passed or will pass, allowing one to debug and trace the status of the document.
Different IDoc types are available to handle different types of messages. For example, the IDoc format ORDERS01 may be used for both purchase orders and order confirmations.
IDoc technology offers many tools for automation, monitoring and error handling. For example, if the IDocs are customised that way on a particular server, then a user of SAP R/3
SAP R/3
SAP R/3 is the former name of the main enterprise resource planning software produced by SAP AG. It is an enterprise-wide information system designed to coordinate all the resources, information, and activities needed to complete business processes such as order fulfillment or billing.- History of...
system creates a purchase order; this is automatically sent via an IDoc and a sales order is immediately created on the vendor's system.
When this order cannot be created because of an application error (for example: The price per piece is lower than allowed for this material), then the administrator on the vendor's system sees this IDoc among the erroneous ones and can solve the situation. If the error is in the master data at the vendor's system, he can correct them and order the IDoc to be processed again.
Because of the flexibility and transparency of IDoc technology, some non-SAP technologies use them as well.
Structure of the IDoc
An IDoc consists of- Control record (it contains the type of IDoc, port of the partner, release of SAP R/3 which produced the IDoc etc.)
- Data records of different types. The number and type of segments is mostly fixed for each IDoc type, but there is some flexibility (for example an SD order can have any number of items).
- Status records containing messages like 'IDoc created', 'The recipient exists', 'IDoc was successfully passed to the port', 'Could not book the invoice because...'
IDoc Transactions in SAP
The following transactions can be used to create and process IDocs. The list does not include any transaction required for the development of new IDoc types. Please note that you get a comprehensive list of available transactions by using area menu WEDI.- WE02 - IDoc List report
This report can be used to display and edit IDocs.
- WE19 - Test tool for IDoc processing
This transaction allows the creation of IDocs for testing.
- WE20 - Partner Profile
This transaction determines a processing code based on the partner profile identified by the control record of the IDoc.
- WE21 - Ports in IDoc processing
This transaction identifies an external port (RFC, File, ABAP-PI, etc.) that controls the IDoc flow to an external system.
- WE41 - Outbound process code
This transaction links an outbound processing code specified in a partner profile to a function module.
- WE42 - Inbound process code
This transaction links an inbound processing code specified in a partner profile to a function module.
- BD87 - Inbound processing
This transaction processes inbound IDocs.
- BD88 - Outbound processing
This transaction processes outbound IDocs.