IDOC
IDOC
IDOC
What is an IDOC ?
IDocs refers to Intermediate Documents in sap.IDoc can be described as an
intermediary document, which is used for the transfer of information between SAP to
an SAP system, as well as from SAP to a non-SAP SAP system via either ALE or
EDI technologies. In another way, IDoc is like a box or data container, inside which
you can place any type of information or data, and SAP will then send the box to a
different system, which might be SAP or non-SAP.
Structure of an IDOC
You can view an I-DOC using transaction WE02 or WE05
The data is stored in the transparent tables of SAP. They are. EDIDC, EDID4,
EDIDS.
EDIDC
Contains one Control Record per IDoc with one unique IDoc number.
EDID4
Contains one or more Data Records. The reference to the Control Record is
done via the unique IDoc number.
EDIDS
Contains one or more Status Records. The reference to the Control Record is
done via the unique IDoc number.
Created 18/01/2022
1. The administration part(Control Record)- which has the type of idoc,
message type, the current status, the sender, receiver etc. This is referred to
as the Control record.
2. The application data (Data Record) – Which contains the data. These are
called the data records/segments
3. The Status information (Status Record)- These give you information about
the various stages the idoc has passed through.
As seen the screenshot above IDOC record has three parts Control, Data and Status.
Let’s look into them in detail
Control Record
All control record data is stored in EDIDC table. The key to this table is the
IDOC Number
It contains information like IDOC number, the direction(inbound/outbound),
sender, recipient information, channel it is using, which port it is using etc.
Direction ‘1’ indicates outbound, ‘2’ indicates inbound.
Data Record
Data record contains application data like employee header info, weekly
details, client details etc
All data record data is stored in EDID2 to EDID4 tables and EDIDD is a
structure where you can see its components.
It contains data like the idoc number, name and number of the segment in the
idoc, the hierarchy and the data
The actual data is stored as a string in a field called SDATA, which is a 1000
char long field.
Status Record
Created 18/01/2022
Status record is attached to an I-DOC at every milestone or when it
encounter errors.
All status record data is stored in EDIDS table.
Statuses 1-42 are for outbound while 50-75 for inbound
IDoc Types is based upon EDI standards that are provided by SAP. It is based on the
foundation of EDIFACT standards.
The Basic types (or IDoc Type) define the structure of an IDoc. Each basic type
defines the basic IDoc segments, the format of data fields, and the size.
The basic type also defines. Extensions are determined by the client and are paired
with a basic type to create an entirely new IDoc type.Example ,for Material Master-
MATMAS ,Customer Master- DEBMAS
1. Basic
2. Extension
Created 18/01/2022
What is a Segment ( T-code : WE31)
IDoc segments are the real information sent to or received by the partner. They contain
the exact data that is sent as part of an IDoc transmission..
A Segment defines the format and structure of a data record in I-DOC. Segments
are reusable components.
Definitions keep changing as per the version but the segment type remains the
same.
Documentation(T-code : WE60)
Created 18/01/2022
Each IDOC are thoroughly documented in transaction
What is Port
IDoc Port contains information about how data is transmitted between the target and
source system. The type of port is what defines the data contained in the port. For the
type of port “Internet” Port will contain the IP address of the target system. When port
types are “file”, directory or name information for files is kept. “tRFC” port contains
information regarding how to reach the RFC location of the system to be targeted. To
support IDoc transmission , ALE “tRFC” ports are used.
Created 18/01/2022
The port defines the technical characteristics of the connection between your SAP
system and the other system you want to transfer data with (subsystem). The port
defines the medium in which data is exchanged between the 2 systems.
There are different types of ports. The 2 most commonly used are the TRFC
ports used in ALE and File ports which EDI uses.
you can specify the directory where the IDOC file should be placed. The other
system or the middleware will pick up the file from here. The Function module can
be used to generate a file name for the idoc. While Testing you can use “Outbound
file” to specify a constant file name. The tab “outbound trigger” can be used to
supply information if we want to trigger some processing on the subsystem when
an idoc is created at this location. We have to specify the command file name and
the directory which has to be run.
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.
Created 18/01/2022
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.
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.
Created 18/01/2022
Let’s understand the process of creating an IDOC with an
example
Whenever a Purchase Order (PO) is created we want to send the IDOC to a vendor.
The PO is sent in the form of an IDOC to the vendor (partner). That partner has to be
EDI enabled in that system. SAP should realize that it could send doc to this vendor
electronically.
The PO sent as an outbound idoc by the customer will be inbound idoc for the vendor.
The SAP system on the vendor’s side can process this to create an application
document (a sales order) on their system.
Quotation, RFQ, PO, SO, Invoice, delivery note etc are some of the commonly
exchanged documents through IDOC
The process of data transfer out of your SAP system is called the Outbound process, while
that of data moving into you SAP system is called Inbound process. As a developer or a
consultant who will be involved in setting up theses process for your organization. Here are
the steps how to set them up-
1. Create segments(WE31)
2. Create an idoc type(WE30)
3. Create a message type (WE81)
4. Associate a message type to idoc type(WE82)
5. Create a port(WE21)
6. If you are going to use the message control method to trigger idocs then
create the function module for creating the idoc and associate the function
module to an outbound process code
7. Otherwise, create the function module or stand-alone program which will
create the idoc
8. Create a partner profile(WE20) with the necessary information in the
outbound parameters for the partner you want to exchange the idoc
with.Trigger the idoc.
Created 18/01/2022
7. Defining process code (Transaction WE42)
8. Creation of partner profile (Transaction WE20)
Created 18/01/2022
Creation of IDoc Message Type ( T-code : WE81)4
Created 18/01/2022
Change the details in Display Mode to Change Mode
After selection, the system will send this message, “The table is cross-
client (see Help for more information).” Enter Press
Click New Entries to create a new type of message
Fill out the details
Save it and go back there.
Initial Status numbers are 64 for inbound and 03 for outbound. Successful status
is 53 for inbound and 16 for outbound IDocs.
Created 18/01/2022
The relationship between the IDoc and the application document can be found in
two ways:
Relationship tab of IDoc
The initial status of this IDoc will be 30, which after successful processing will
convert into status 16.
Created 18/01/2022
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
Created 18/01/2022
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:
Created 18/01/2022
SEARCHING IDOCS IN SAP
IDoc search can also be made on the basis of ISA or Transfer file Reference.
Created 18/01/2022
GENERAL INFORMATION FOR COMMON IDOC
MESSAGE TYPES
The following list gives the Basic Type and Message Type combination for
common idocs
Created 18/01/2022
Created 18/01/2022