SAP IDoc status change – then change is necessary
In order to correct a technical or content error during the data exchange via IDoc, SAP users or IT administrators sometimes have to change the SAP IDoc status . The status documents the situation in which the IDoc is located or which stations it has already passed. The IDoc undergoes various statuses during its lifecycle, e.g. “Created”, “Submitted for Processing”, “Successfully Processed” or “Incorrectly Processed”. All these statuses are stored in the SAP table EDID4 for each IDoc. A collection of the possible states of an IDoc in SAP can be found in this article.
For an overview of the EDI / IDoc transactions with the associated statuses in an SAP system, we use SAP transaction BD87 here. Here you get an overview of all incoming and outgoing business documents.
Overview of SAP EDI operations
The following figure shows the IDoc overview from SAP transaction BD87. As a rule, the transaction is not accessible to the SAP user, but rather something for SAP administrators.
SAP Status Monitor for ALE messages
The SAP monitor for EDI messages shows that 34 SAP IDocs have IDoc status 02 in the outbound. They are faulty with that. This associated IDoc message is: “Error during data transfer to port”. An SAP port may be configured incorrectly (“Port ‘XI_00_010’ does not exist in the port description table”). 1142 IDocs in the inbox have the status “Application document not posted” or IDoc status 51. The cause of these errors can be found in the detail view below. Here you can analyze the error in the IDoc detail view in more detail. Corresponding error messages are z. B. “The sales quantity. KG is not available in item 000010 “,” Partner number 1000 for customer 0000001172, partner role WE not available “.
Different use cases in SAP
SAP Monitor for Messages – IDoc Selection
SAP Monitor for Messages – Displaying the IDoc (Detail View)
In this display of the SAP IDocs, you see the status records 02, 30, and 01. Status records always lists all previous statuses of the corresponding IDoc. The last state, in this case 02, is always listed at the top.
As soon as the error has been corrected with the port, the processing program must be triggered again.
Something else would be e.g. Status 51 “Partner number 1000 for customer 0000001172, partner role WE not available”. In this case, the SAP user may want to adjust the IDoc content and start the IDoc processing program again.
In other cases, again, only the IDocs processing routine is triggered again. This is the case, for example, if the IDoc could not be updated due to a locked application object.
Often the re-processing of the IDocs is the goal. In these cases, however, the IDoc is first set to a state which allows a further processing. Some statuses, such as 20 do not allow direct further processing. Therefore, this must first be changed to 30. 30 means: “IDoc is ready for dispatch (ALE service)”.
For outbound IDocs, choose status 30. For incoming transactions 64. You can use the following procedure to process the SAP IDoc status.
Change SAP IDoc status report
Log on to the system and start transaction SA38 or transaction SE38. Then enter RC1_IDOC_SET_STATUS as the program and choose Execute in the toolbar.
Call transaction SA38 and execute RC1_IDOC_SET_STATUS
Enter the required SAP IDOC number, the status and the new status. Disable the test flag and select Run.
If the number of converted IDocs does not correspond to the number of IDocs to be converted, the IDoc status of the IDoc can not be changed. In that case, try again later.
The processing of the IDoc is z.b. triggered via the context menu in transaction BD87.
You can also use the SAP programs RBDINPUT – Processing Inbound IDocs and RBDOUTPU – Processing Outbound IDocs for processing.
Deleting IDocs – Status 68
A faulty or “unwanted” IDoc should often be physically deleted only in exceptional cases. As a rule, these IDocs are transferred manually to the status 68 “Error, no further processing” in SAP. You can also set this status status in the IDoc using the report mentioned above. Or you work with the “Restrict and process” function from the context menu of transaction BD87. For the physical deletion of IDocs there is the transaction WE11 (Report: RSETESTD).