Today IDocs are used in most SAP applications for transfer of message(information) from SAP system to other systems and vice versa. Though lot of documentation is available on IDocs it is difficult for a functional consultant to understand such documents due to their technical nature.  While a functional  consultant  is not expected to know the IDoc concepts in its entirety, an effort has been made to capture the minimum necessary information that one needs to be aware of in order to handle project/support issues on IDocs.


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.



“EDI is electronic exchange of business document between the computer systems of business partners, using a standard format over a communication network”. EDI stands for Electronic Data Interchange.

For transmission of information electronically, two widely used standards are ANSI ASC X12 and EDIFACT. ANSI ASC X12 is a committee formed by representatives of major organizations, government bodies and EDI software companies which defines standards and guidelines for information interchange over EDI. UN/EDIFACT stands for United Nations EDI for Administration, commerce and Transport and was formed in 1985 using ANSI X12 and UNTDI (United Nations Trade Data interchange) as base standards. ANSI X12 describes business document as transactions and each transaction is represented by three digit number e.g. 850 – Purchase Order, 855 – Purchase Order Acknowledgement. EDIFACT describes business document as messages, represented by standard names e.g. ORDERS for purchase order.



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.



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 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.



IDoc segment is termed as Parent segment if it contains its own segments. The dependent segments are called as child segments.



IDocs sent outside the system are termed as Outbound IDocs and the ones that are received into the system, are called as Inbound IDocs.



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 system then direction is inbox. In SAP Outbox direction is represent by “1” i.e. outbox and Inbox direction is represented by “2”.



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/role is used to identify partners within the sap systems. Partner type is KU for customer, LI for vendor and LS for Logical System.



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.


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.


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.


Double clicking on the Partner will show the following screen:


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.


This involves sender/receiver port, Output mode and relation to IDoc type i.e. Basic Type and extension.



This contains application for which IDoc will be created e.g. EF for Purchase order, the message type of the application that will trigger the IDoc and Process Code that will convert SAP document to an IDoc. For example, if PO is to be sent to the Vendor AXXXXZ, then in the outbound option of the partner AXXXXZ we need to maintain the message type ZXX1 and link it to the Process Code ME10. So when message type ZXX1 is triggered in the PO then an IDoc will be created for the partner vendor AXXXXZ.

Process Code is linked to the Function Module in SAP that converts application data into an IDoc. Standard function modules are provided by SAP for this conversion however these can also be customized as per business needs.


Change Message Indicator indicates whether the IDoc is sentas 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 inbound options process code is maintained in the Inbound screen only. IDoc processing can be triggered by background program and triggered immediately.



In the post processing option we can maintain the workflow details of the users or positions to which an error notification will be sent if an IDoc processing fails.



We can also maintain the contact details in the telephony option.



EDI standard screen contains the details of the Standard EDI terminology used for the IDoc transmission.


For example, Message Type 850 is an EDI standard for Purchase Order IDoc and is linked to IDoc Message Type Orders.



IDoc structure is divided into Control Record, Data Records and Status records.


These records are stored in the transparent tables in SAP. These are EDIDC, EDID4 and EDIDS.


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.




It contains the details of the IDoc segments.


IDoc segment has fields that contain the data necessary for posting the documents.




IDoc Status defines the processing status of the IDoc. IDoc statuses are used to track the IDoc and its various processing states. Status Numbers represents IDoc status. Current status of the IDoc is present in Control record.


Initial Status numbers are 64 for inbound and 03 for outbound. Successful status is 53 for inbound and 16 for outbound IDocs.



Outbound IDocs can be triggered from the output message types of Purchase Orders, deliveries, Material Documents, invoices, etc. The following figure shows that once the output ZXX1 of PO XXXXXXX1 is processed an IDoc “000000XXXXXXXXX1” is added/created.


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.


The initial status of an inbound IDoc is 64 and successful status is 53.

Different validation steps for inbound IDocs are explained below:

50: IDoc received successfully in the system

64: IDoc is ready to be processed by IDoc processing job

53: Application document created and saved successfully. The document number can be found by expanding the status node 53



An inbound IDoc goes through all the above statuses in reverse order (50-64-53).



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.




IDocs can also be manually processed using the TCODE BD87 in SAP.


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


On the basis of IDoc statuses different programs can be used for reprocessing of failed IDocs. These are given below:


If an IDoc contains error in the data then such IDocs can be edited using TCode WE02 or WE05. When an IDoc is edited the original IDoc information(backup) is saved in a New IDoc under status 70 (for inbound) / 33 (for outbound). These IDoc stays in the system for reference only and cannot be processed. The status of the edited IDoc becomes 69 (inbound) and 32 (outbound). These IDocs can then be processed using BD87 transaction or batch jobs.

Debugging of IDocs can be done using by copying the IDocs using TCode WE19. WE19 is a test tool for Idocs processing. WE19 copies the existing idoc and creates a new IDoc which can then be modified as per testing needs. The newly generated IDoc can also be processed using BD87.


Report RC1_IDOC_SET_STATUS can be used to change the status of IDoc. Status changes are generally needed to move an IDoc to status 68 – no further processing




IDocs can be displayed in system via TCODE WE02 and WE05. If IDoc number is not known then  search can be made on the basis of IDoc Date, Direction, BASIC TYPE, MESSAGE TYPE, and PARTNER NUMBER. Partner number can  be found in the Output Messages of the documents.



IDoc search can also be made on the basis of ISA or Transfer file Reference.



If we are looking for specific information within the IDocs Segments then this can be found using TCODE WE09. This is useful if you are searching for a particular information in similar kind of IDoc within IDoc segments. For example, if you want to search a particular Purchase Order number e.g. 100000001 in multiple IDocs which lies in Segment E1EDK01 of an IDoc under field BELNR. Then the search can be executed in the following manner.




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.


IDoc documentation can be found using TCODE WE60 and can be helpful to obtain information of the IDoc Type or its particular segment. It also provides information such as  mandatory and optional segments, minimum and maximum number of segments, etc.



The following list gives the Basic Type and Message Type combination for common idocs


As IDocs grow older they are archived and deleted from the database. Archived IDocs can be viewed using TCODE SARI in Achieve Explorer using archiving object as IDoc. Following are the few programs that are used for archiving and deletion of IDocs from database.


To report this post you need to login first.


You must be Logged on to comment or reply to a post.

  1. Raju Prabhune

    Hi Niranjan,


    Wow!!! What an excellent document. Working in SAP for last 3 year, 1st time I’ve found such a extensive/detailed document on IDoc.


    Congratulations & Happy new year.

  2. Narendra Konnipati

    Hi Niranjan ,



    Wonderful Document ( Its seems ,dont want EDI Consultant to handle issues of EDI when we have this Doc ).


    Wish U Happy New Year buddy.





  3. Syed Nayeemuden S N

    Hi Nirajan,


    Document is really wonderful and it will  really helpful for many SAP consultants to gain their knowledge.

    Keep posting such documents…..





  4. Adam Krawczyk

    Very comprehensive and detailed blog about IDoc.

    In fact as developer I am just searching for general overview so for me it is still too technical, however I found here some basic concepts here as well.Thank you, great job!




  5. Srinu S

    Really wonderful document. Keep on posting this kind of useful document .


    thank you very much.



  6. Dee Cee


    It is an excellent article. Really brings out the right depth and yet easily understood.


    One small typo -> EDI is Electronic Data Interchange (EDI). Just my two cents.

    Keep sharing such useful documents.

    Have a good one. 


  7. Ravindra Devarapalli


    Thanks ………..I hope it is very helpful  to all users. Is it possible to do in IDES server. If it  is possible please provide complete details how to do. I am new for this IDOC.

    Please help i want to learn

    1. TW Typewriter


      The content (with the transaction codes) mentioned in the document can be tried out in IDES too.

      Configuration, checking the already created IDocs, these things are possible in IDES. Sending and receiving IDocs to and from an external application is not possible in IDES.

      But from learning point of view (theoritical learning) is very much possible with IDES.

    2. Niranjan Nagle Post author

      T W is right. You may try the TCODEs in IDES from learning perspective. However, actual IDoc flow can only be seen in non IDES systems since EDI/EAI connection with SAP is necessary for IDoc transmission.

  8. SURYA S

    Very informative, systematic & easy to understand.  Appreciate your effort on this document.


    Surya Seemakurty

  9. Anupam Kumar

    Thank you so much for sharing such an informative document. It will really help to have good insight for the functional consultants regarding IDOC functioning

  10. TW Typewriter


    I want to learn some “technical” aspects too (e.g. creating Basic types, what are distribution model etc. etc.) Could you please recommend a link or book etc.?

  11. Hari Prassad

    Hi Niranjan,

    This is one of the best blogs that i have read in SCN till date. It was too good,very useful and easily understandable. I appreciate your patience in preparing such a detailed document.


    Hari prassad.K

  12. Patricia Fino

    Hi, does anyone know if there is a IDOC for payment documents, meaning one were the compensations information can also be transfer and the destination system can be updated automatically with the compensation.



    1. Niranjan Nagle Post author

      Hi Patricia,

      The IDocs are used to transfer information from SAP Documents. If you can tell the SAP document from which the data is to be transferred then I can check whether any Message Type is available for that. We can even customize the IDoc if needed.

      You also have option of sending the information through use of RFC or FTP/sFTP connection.



  13. Vishnu Menta

    Hello Niranjan,

    It was a wonderful document to acquire knowledge on IDOCS.

    Is there any way for Spare Parts Management in LE , where the data can be sent through an IDOC.

    1. Niranjan Nagle Post author

      Hi Vishnu,

      As long as it is  SAP document we should be able to send the information via IDoc. Search for IDoc message type for the relevant document you should be able to find something.



  14. Kakani Chandra Sekhar

    Hi Niranjan.

    Thank you very much for such a nce  posting. as a fucnctional consultant this  knowledge more than enough to solve IDOC related issues with little real time


    Thank you once again .

    Chandra Sekhar

  15. Maruthamuthu Subramani

    Hi Niranjan,

    Very Very useful document.

    Not only for Functional Consultant also helpful for Technical consultant(me) who is start learning about IDocs.

    Kindly let me know any other documents like this about idoc for technical consultatns to get detailed knowledge technically.

    Thanks & Regards,

    Maruthamuthu S

  16. venu gopal

    Dear Thanks a lot ..

    this is very very useful , may be this thread is very old but my heart is telling to appriciat you

    thanks a lot dear 😉

  17. Lakshmi Kumari Sama

    Hello Niranjan,

    It is a very good document. Thanks alot for such a nice compilation. I feel so happy today i cam to know on one new topic because of you. Thanks for your good work and we are expecting more documents 🙂 from your end. Keep up the good work 🙂

    Warm Regards,

    Lakshmi S

  18. Andrzej Krason


    Your document perfectly completes and ehances the vision of IDoc administration I could have discovered early last year via EDI business scenario documents studied which are made available by SAP for preconfigured Business-All-in-One version of ECC6 system.



    Yes you are right ” lot of documentation is available on web for IDocs but most of them are technical in nature”. I was also searching document like this where it will be explained in functional point of view….and now I found it. Thanks once it is really wonderfull document related to IDOC

    Thanks a lot

  20. Deep K

    Dear Niranjan,

    Nothing to say , privious 151 comments said all….great work keep it up..

    Thank you soo muchh


  21. César Augusto Scheck

    Hello Niranjan,

    This article has provided a quick and straight start to get the precise idea about IDocs.

    It drives a functional consultant who never heard about it to a secure plateau and enable him to dig deeper and go further.

    If possible and worthy of such, you could enhance this document by providing more information about the idoc standard types and their versions. Sometimes we find ourselves struggling with this kind of situation, given the different SAP customers and their system versions.

    Thank you so much for providing this precious knowledge. 😉

    César Scheck

  22. Amit Parmar

    Hello Niranjan,

    Its really one of the best documentation I ever seen.

    Could you also explain in detail,how this Idocs trigger from one system to other ?

    Exp:- Material xyz have to be created in SAP system,and all the I/P data require for this is coming from other system in the form of Idoc.So how this Idoc triggered automatically ?


      1. Amit Parmar

        Hi Niranjan,

        Thanks for you reply,

        What I can understand,Suppose for example there are two system ABS/000 and XYZ/001.

        ABC is sender and XYZ is receiver.I have created a vendor invoice in ABC and getting an succesfull message,vendor invoice 10000 is created ( meesage type is INVOICE ).

        So my doubt is how IDOC triggred automatically and sends invoice number to XYZ.

        Then how we will create partner profile with above conditions.

        Please explain in detail.



        1. Niranjan Nagle Post author

          Hi Amit,

          Please find below the steps:

          1. Configure message output for  invoice through NACE transaction

          2. In partner profile WE20, Maintain Outbound Parameters message for invoice message type (Check suitable Message type for your case)

          3. In the message control, maintain Application (MR for Invoice Verification), Message Type (one that  you configured)  and the Process  Code.



  23. Vadim Boriskevich

    Hi Niranjan,

    Very detailed and comprehensive document.

    I guess similar configuration steps will apply for my inbound IDOC scenario:

    Loading BP Hierarchy from non-SAP system into CRM 7.0

    Which IDOC in CRM i would need to select to configure Inbound processing?

    Thank you,


    1. Niranjan Nagle Post author

      Hi Vadim,

      I don’t have access to CRM  system however  you many try using TCODE WE60 to find suitable Basic Type for BP Hierarchy.



  24. Abdul Kalam Asad

    Hi All,

    please ,can any one share data type (xsd) of purchaseorder -out? I am new in  PI and I need help to create interface for purchase order. done RFC connection and process idoc while creating PO. what is next to do get the file in destination as XML.

    Thanks & Regards,


    1. Rafael Zaragatzky

      Hi Azad,

      Start trs WE60, give the IDoc type e.g. ORDERS05 and choose in the menu “Documentation –> XML Schema”. Then save the result to your PC using the menu “XML –> Download”.



  25. Alaeddine BDH

    thanks for this detailed explanation.

    could you, like that, explain several IDoc message types DLINS, SEQJIT, DESADV…?

    thanks in advance!

    1. Charlyn Idler


      – the inbound Idoc which updates the delivery schedules on SD scheduling agreements created by transaction VA31. (Same as DELFOR and DELINS).

      – also the Idoc created by transaction JITH

      – the outbound Idocs from MM scheduling agreements (ME32L) Delivery Schedules from output type LPH1 , LPJ1.


      – for Inbound or Outbound Summarized or Sequenced JIT Calls.

      – SEQJIT Idoc is like JIT1


      – outbound Idoc from deliveries for ASNs (856) 

      – inbound Idoc for creating inbound deliveries from ASNs

  26. Charlyn Idler

    Good info. Thanks.

    Tip for everyone reading this, to keep an eye out for the EDI Monitor transactions.

    Some of these started in the Automotive Solution, but can be activated without DIMP.


    EMORD – to monitor inbound ORDERS and ORDCHG Idocs

    EMASN / EMTRA – to monitor inbound shipment notification

    EMINV – to monitor incoming Invoices

    Rather than have users check workflow or WE02 for errors, these transactions allow easier monitoring of certain Idocs. Also includes the option to reprocess failed Idoc in background or online, without having to use BD87, or set the Idoc status to 68 via trash can icon.

    Much more user friendly. 

  27. Ajay Jawalkar

    Hello Nirajan,

    I have always had a hard time with IDOCs, but henceforth it won’t be the same.

    Saved it as a PDF for future reference on my computer as well.

    Thank you for preparing this immaculate document, and your efforts.


    Ajay J.

  28. Pankaj K Agrawal

    Really very much useful document. Will keep this as a valuable asset forever.

    Thanks for your efforts and knowledge sharing.

    Much Appreciated your help

    Kind Regards


Leave a Reply