Work with IDOC is not fun on the user side. Incomming and outcomming idoc , few hundreds per day. Some of them are not correctly created and can not be processed without additional maitenance. User can use standard transaction as WE02 or WE05. But there is an requirement to understand to idoc technology and its structure.
We have connceted our sap system with another third party application. Since that day , number of questions why the idoc can not be processed was increased dramatically. If there is an error, system shows just the first one. You can correct the segment in idoc, or missing master data..but when processed again, new errors are comming again.
Then i made a decision to implement the function module IDOC_READ_COMPLETELY into new zreport. It reads specified types of idoc messages and shows all potencional problems in one shot. For example idoc message received from the customer. It contains data for new sales order to be created . number of items can be up to 100 or more.
The report called show_idoc_data can provide simple job. The program compares data from idoc segment with material and vendor master data. If there is an inconsistency (vendor does not exist for sales organisation, material master data ar not complete for plant..etc) users can see it immediatelly. Thne they can update master data and process the idoc again.
Believe me, this was real time saving development.