Contents
Introduction ... 2
IDoc Processing area menu transaction ... 2
How to read IDoc documentation ... 3
How to see the complete IDoc Structure... 6
How to see Qualifier values ... 7
Partner profiles... 10
Output type configuration for IDoc’s ... 11
Converting external partner number to the internal partner – VOE4 / EDPAR ... 13
How to test an IDoc ... 14
View IDoc’s ... 16
Using transaction ... 16
Using “Service for Object” Button ... 17
Using output- ... 18
How to correct IDoc data segments ... 18
How to reprocess the corrected IDoc ... 22
IDoc segment / value search ... 23
Using transaction WE09 ... 23
Using IDoc table EDID4 ... 24
When the customer expected price (ED1) and material price (PR00) is different ... 24
IDoc user exit for sales order processing ... 25
IDoc User Exit for Delivery Processing ... 25
IDoc User Exit for Invoice Processing ... 25
Inbound IDoc processing program ... 26
Introduction
IDoc (Intermediate Document) is a standard SAP document format which enables the connection of various systems. It’s a very common mechanism that’s used in today’s SAP world to transmit data from one source to the other. Therefore it’s always added advantage to know how IDoc’s can be handled and common transactions that is used in SAP for IDoc processing.
IDoc has 3 main sections known as; 1. Control record
2. Data records 3. Status records
IDoc Processing area menu transaction
Transaction: WEDICall the above transaction to get the area menu for IDoc processing. You will see most commonly used transactions listed there.
How to read IDoc documentation
Transaction: WE60
If you want to read the complete documentation, you need to activate below settings;
Mark below 2 fields;
Save the setting
This way you will be able to see the complete documentation of the IDoc Eg: Qualifiers available, etc Once you go in to the documentation screen, you can use the key CTRL + F to search a specific field name.
Click on the “Documentation” link to read the relevant document for that segment
How to see the complete IDoc Structure
Transaction: WE30If you want to view the complete structure of a given IDoc type, you can view it via transaction WE30 Go to the transaction WE30
Enter the IDoc Basic type
Click on
You can see the IDoc structure in the next screen as shown below
How to see Qualifier values
Transaction: WE31If you don’t see qualifier values in the WE60 transaction, you can get the segment and go to WE31 transaction.
Enter segment type
Partner profiles
Transaction: WE20In order to send IDoc’s out from your SAP system or to receive IDoc’s in to your system, you need to have partner profiles setup in the system. This could be for a customer, Logical system or vendor, etc.
Partner profile for customer -> sales order inbound, ASN outbound or invoice outbound Partner profile for Logical system -> warehouse system to send delivery documents
Different Message Types are used with different IDocs that you will send out or receive Eg:
Purpose Direction
Message
Type Basic Type Process Code
EDI Message To receive customer sales
orders Inbound ORDERS ORDE 850
To send delivery information to the
customer Outbound DESADV /AFS/DELVRY05 DELV 856 To send deliveries to
Warehouse Outbound WHSORD /AFS/DELVRY05 DELV 945 To send advance
shipment notifications
(ASN) to the customer Outbound SHPMNT /AFS/SHPMNT06 SHPM 856 To send invoices out to
the customer Outbound INVOIC /AFS/INVOIC02 J3AF 810 To send materials to
warehouse Outbound J3AMAT /AFS/MATMAS06 WMMB
Output message in the respective SAP documents is used as the triggering mechanism for all outbound IDocs. This is also maintained at the partner profile for outbound messages.
Output type configuration for IDoc’s
Transaction: NACEEg: Shipment output – SHAD
Please click here to read more information about how to configure output types in SAP. In the output type configuration, you need to have a record as below to trigger IDoc.
Below is a partner profile example for ASN -
By double click on the “Process Code” field, you can directly navigate to the IDoc processing function module and the ABAP code.
Eg:
Converting external partner number to the internal partner – VOE4 / EDPAR
Transaction: VOE4When receiving EDI 850 inbound IDocs, customer use his numbers to represent his distribution center (Ship to party), etc. This table is maintained to map the external partner number to the internal SAP partner number.
Note:
If you’re using internal numbering for customer numbers, you will have different numbers in development system to the quality system to production system for the same customer. In such case, you cannot configure this in your development client and transport to the production system. Therefore we normally take this transaction out from the configuration and move it as a master data transaction. This way you can maintain different numbers in each client for the same customer.
Please click here to read how you can change a configuration client as a master data transaction.
How to test an IDoc
Transaction: WE19If you have an existing IDoc, proceed with that. Else use the relevant “Basic Type” and execute using button
If you only execute with the basic type, you will get blank IDoc
You can fill relevant fields by looking at the documentation given in the WE60. You need to double click on the segment name to open the field.
View IDoc’s
Using transaction
Transaction: WE02 or WE05
You can view that IDoc with the relevant status in the transaction WE02 Give the date range and the IDoc number and execute
If the order is processed successfully, you will see the status of that IDoc as 53
Using “Service for Object” Button
Using this method you can view both incoming and outgoing IDocs.
If you cannot view button in any of your transactions, please add the “SD_SWU_ACTIVE” “User parameter” under your user profile in the transaction SU01
Using output-
If it’s an outbound IDoc from a SAP document, you can normally view it under respective output message button.
How to correct IDoc data segments
Go to the IDoc using transaction WE02
If there is any error in the IDoc, you will see the error and the status under code “53”. You can change those error fields in the same IDoc for testing purpose and re-process it;
First find the error using the status record in the IDoc. Let’s look at the below example;
Now find the relevant segment in the IDoc. For that you can refer the documentation in WE60. In my sample IDoc, the relevant segment is E1EDPO5
Double click on the next to that segment
To change the values do below form the menu
Important:
You’re not saving those changes to the IDoc in this method. Therefore you will lose the track of the changes you did.
If you want to keep track of the old IDoc Vs. New IDoc, then you need to go to transaction WE19 and do the change. In that case, system will automatically create a new IDoc with the changed values. Please note, in that case the new IDoc will have no link to the SAP document. (You will not see that IDoc under “Relationship” button option.
How to reprocess the corrected IDoc
Transaction: BD87Execute the transaction and click on the button
Now you can access the sales order using transaction VA02 or VA03 and validate those data with the IDoc data
IDoc segment / value search
Using transaction WE09
Transaction: WE09Using IDoc table EDID4
Else you can execute the EDID4 table.
When the customer expected price (ED1) and material price (PR00) is
different
System automatically set the VBAP – CEPOK. If the expected price is different from PR00, field is automatically set to “B”. You have below values.
When you include this field in to line item incompletion procedure, system automatically set such orders to incomplete.
In order to correct such issues you have to run transaction V.25. Then the sales order will be set to complete status.
Once you process V.25, system will set “C” for the above field.
IDoc user exit for sales order processing
Sales order related IDoc processing mapping can be done in the below Include ZXJ3AU12
You can also access this by double clicking the “Process Code” in the partner profile in transaction WE20.
IDoc User Exit for Delivery Processing
Delivery related IDoc processing mapping can be done in the below Include ZXTRKU02
IDoc User Exit for Invoice Processing
Invoice related IDoc processing mapping can be done in the below Include ZXJ3AU22
Inbound IDoc processing program
Program: RBDAPP01Status change program
If you want to change the status of the IDoc, you can use the below program in transaction SE38 Program: RC1_IDOC_SET_STATUS
Author: Anupa Wijesinghe
E-Mail: [email protected] / [email protected] Website: www.learnsaptips.com
View my profile in LinkedIn Follow me on Twitter
Disclaimer
This article is done based on my research and readings, unless otherwise stated. The views expressed are my own and not of anyone else.
Author accepts no liability for the content of the articles in this website or for the consequences of any actions taken on the basis of the information provided. Using this information is at the users own discretion and responsibility.