By leveraging the IDoc status you have the ability to NEVER miss an IDoc in error... This covers both outbound and inbound IDocs. For each error we can launch a workflow correction activity that will give the responsible agent the chance to fix the issue.
Using transaction WE05 I can view a list of all IDocs and see their current status. See the diagram below.
You can see that we have 7 IDocs sitting in status 30 (waiting to be sent out). This could be an issue if they are sitting there too long...
We also have 38 inbound IDocs in error due to issues with syntax or partner profile not being found (status 56).
For each of these errors, unless you have implemented the technique I will describe below, someone would need to run WE05 daily to try and find IDocs in error. All very reactive and not proactive.
Now let's take a look at what we should enable for each scenario.
Outbound IDocs
Referencing the diagram below we need to implement the following:
STATUS IDoc enablement from the EDI mapping subsystem. i.e. As an IDoc is parsed through the EDI subsystem, the subsystem needs to send back a success or failure message to SAP. This is done in the form of a STATUS IDoc.
Status 05 (Error during translation - couldn't perform the mapping)
Status 07 (Error during syntax check - mandatory field or segment missing)
Status 11 (Error during dispatch - Failed to send the EDI message to the partner)
Status 17 (Functional Ack Negative - Our partner did not accept the EDI message)
All of the above error statuses should trigger one of the standard SAP Business Workflow's to correct the issue:
TS70008373 Error message w/o IDoc (status report)
TS30000020 Error message without IDoc
TS70008037 Display MC document (outbound w/o IDoc)
TS00007989 Outbound, error handling with IDoc
TS60001307 Outbound, error message with IDoc packet
TS00008070 Outbound, syntax error in IDoc
Schedule job to run report RSEIDOCA to catch all IDocs that have been in a certain status too long. This prevents an IDoc from getting "stuck" - we need to ensure that all IDocs are processed... The following IDoc Statuses should be checked in this program:
Status 06
Status 08
Status 12
Status 03
Status 30
Inbound IDocs
Similarly to the outbound IDoc processing we want to ensure all the inbound errors are caught too.
Status 60 and 56 are technical errors and should be forwarded to the EDI technical team via a standard workflow:
TS00008068 Inbound, error message with IDoc
TS00008074 Inbound, syntax error in IDoc
Status 51 is a functional error and should be corrected, via a workflow, by the responsible functional person as determined by the partner profile (See transaction WE20 -> Inbound Parameters -> Post Processing Permitted Agents)
Schedule job to run report RSEIDOCA to catch all IDocs that have been in a certain status too long. This prevents an IDoc from getting "stuck" - we need to ensure that all IDocs are processed... The following IDoc Statuses should be checked in this program:
Status 64 - Waiting to be passed to the application
IF you implement all the recommended workflows above you'll never miss another IDoc in error or have another IDoc stuck in the abyss...
Commenti