IDOCs are a powerful tool to move information from external to SAP systems, or even within SAP system itself. SAP Expert already wrote about IDOCs in general and various areas where IDOCs can be used: EBS, invoice, payment, master data.
It is all good when IDOC is sent to SAP system and processed there successfully. But what if not? What if IDOC failed to process?
First of all, you need to monitor the IDOC statuses. There are various tools to be used: transactions BD87, WE02, WLF_IDOC, WPER just to name a few. You need to check the status of IDOCs. Usually processed IDOCs have status 53 for inbound and 03 for outbound. Error status for inbound IDOC is usually 51. There may be other statuses, so pay attention to anything marked in red.
Usually there is a good explanation in the IDOC status record log about the reasons of the failure. You can read and analyze it.
The failure reasons can vary. One of them can be wrong field values in the IDOCs. For example, you put posting date in the closed periods, or a mandatory field has an empty value, etc. Does it mean the IDOC can no longer be processed? Of course not! There are editing tools that allow changing of field values in IDOC.
If you need to change the IDOC field value, navigate to the segment with incorrect value and double-click its icon
When you see the values of IDOC segment, you can switch to the edit mode via menu Data Record.
Correct the value in the segment field and save.
IDOC status will change to 69. You can re-process the IDOC again.
Editing field values one by one is OK when you have a handful of them. But what if you need to change many more IDOCs or fields in the same IDOC? In this case, you can use a mass-change tool. Transaction WLF_IDOC is to help here.
This transaction is a report with multiple tabs on selection screen.
The first tab gives a usual set of selections for IDOC filtering: dates, numbers, statuses and so on. Populate these fields with the IDOC number(s) you want to edit.
The fifth tab is “Criteria for data records” where you can specify segment name and number, data field name and value. And here we come to a small checkbox “Change value”, which opens yet another field where a new value can be specified.
Run the report and it will do the change in IDOC segment field values. IDOCs status will change to 69. You can re-process the IDOC(s) again.
As usual with mass change tools, be careful and validate your entry before doing the change. There is no “Test mode” in WLF_IDOC, unfortunately.
IDOC is a powerful tool. Use it correctly and you will have a lot of automation in place in your system.