Let me preface this post with the comment that most of my documentation is mostly geared towards Basis admins with little PI experience. I try to put together common issues that I see, make general directions on how to resolve that particular type of issue and share with the rest of the people with whom I work. this document is also for a non-production system. In a production environment you would need to be working with your function team before resending an IDoc with WE19.
One of the issues that I have encountered in our environment with custom IDocs is that we get a help desk ticket or issue from our project team saying that the IDocs are not getting to their destination. When you check in sending system everything looks fine (e.g. in WE05 the status is 03 or green light). This means that the IDoc is leaving ECC correctly but somewhere in PI there is an issue.
To start the troubleshooting, in the sending system grab an IDoc number of an IDoc having an issue. Once you have that IDoc number, in your PI system go into IDX5 and search for that IDoc number, in my example below I used IDoc number 487746.
Ensure you change the date range to account for the date of the IDoc.
Next you'll see the correlating XML message of IDoc for which you searched. Double click on that entry to bring up the XML data.
In the XML message you can se the error in the bottom right window.
"Runtime exception occurred during application mapping
com.sap.aii.mappingtool.tf7.IllegalInstanceException: Cannot create target
Typically when you see an application mapping error this is caused by someone changing the IDoc structure. With custom IDocs ECC and PI do not update the mappings automatically when the structure is changed. This has caused issues for us numerous times. It's a lot of coordination between your ABAP and PI developers as well as good communication between those teams and the Basis team.
So from here we go back into ECC and run transaction BD64.
Go to the environment menu then generate partner profiles.
Select the PI Model view, in this case QP1CLNT001
Run transaction WE19 and enter the IDoc number for which you previously searched.
Click Execute the click Standard outbound processing on the next screen.
Click the green check box.
Now when you check in your PI system in SXMB_MONI you should see the newly created IDoc has been processed without error.