Create custom IDOC

These are the steps for custom idoc for outbound as well as inbound.

1st Step: Create a Segment (WE31) 
Segment is a structure for passing data in IDoc. It actually contains the IDoc data, just like the DDIC table/structure. Segment is created with all the required fields. Then Save it. But, to actually use this Segment, you have to Release the Segment, otherwise u can’t use the Segment, by menu, EDIT–> Set Release.

Now, if you want to do some change to this Segment, you cant, unless & until you Cancel the Release, by Edit–> Cancel Release
 

2nd Step: Create IDOC Type (WE30) 
After creating the Segment, now we have to create the IDoc Type. IDOC Type is like an envelop of a letter, which contains the data inside it, & also some more information like address. IDoc type can be Basic Or Extended.

Basic IDoc Type:  
Using some SAP existing IDOC type (ex. MATMAS) or Custom IDOC type.

Extension IDOC Type:  
When we need some fields extra to an existing IDOC type, then we can extend that Basic Idoc Type by another Segment. This is called Extended idoc type. 
 

3rd Step: Create Message Type (WE81) 
Message Type is like the Postman for sending the Letter. 
 

4th Step: Attach Message Type to the IDOC Type (WE82) 
 

5th Step: Create a Function Module (SE37)  
Write the Processing logic in a Function Module. 
 

6th Step: Mention the IDOC Type, i.e, 0/1/2 (BD51) 
 

7th Step: Assign the Message Type, IDOC Type & Function Module (WE57) 
 

8th Step: Create a Custom Process Code (WE42)  
 

9th Step: Attach the Function Module to the Process Code (BD67) 
 

10th Step: Execute Inbound IDOC’ s (WE19)  
Example Function Module: IDOC_INPUT_ORDERS (Standard FM to create Sales Order).

 

Usefull links to information about IDOC creation: