User: I have sent out a message and don’t know what happened?
Technical Team: You should receive a status for the IDOC you have sent.
User: There is tons of status to my IDOC which one I should look for?
Technical Team: Oh, you can find the status idoc number and its associated status description from SAP documentation.
User: I just want to know if it passed or failed.
Technical Team: All the details are there in the link. Follow the description.
User: I wish it could be simpler as pass / fail.
This conversation is something we heard plenty of time between the user and technical team explaining to each other what are the status idoc number means. In the conversation both individual are correct. Technical team wants to give the user a clear visibility of what happened with the idoc and user just want to know whether message has passed / failed.
We too have faced such discussion during the design about what are the important status codes that you need to retain in the IDOC status and which one we can ignore.
As listed above here you find the all the status code -> click here to open.
I think if I ask around what is the best status that I should retain in IDOC, then there will be different version of the answer. I believe most of the statuses are important but if we want to make our design look simpler and easy for everyone to understand then below is the article that can show you how we design our status numbers for the idoc that we sent to SAP PI.
Scenario with IDOC Error Handling:
Below is the scenario of what is the status code that we need to set in SAP PI to send back to ERP to update the status of message in PI.
- ERP trigger IDOC to SAP PI.
- SAP PI receives the message and check for receivers.
- If no Receivers are found then message is sent back to ERP with status 34. Transaction is cancelled.
- If receivers are found then, corresponding message mapping is executed.
- If message mapping is failed then status 05 is sent back to ERP indicating the message is failed and no further processing of the message.
- If message mapping is success then status 06 is sent back to ERP and message is sent to receiver system.
- Status Code ’34’: Indicates that message is rejected by SAP PI system and this could be of various reasons like message not valid, improper structure or receivers not found or mandatory fields missing.
- Status Code ‘05’: Indicates that translation of message in PI has failed and cannot proceed further.
- Status Code ‘06’: This status indicates that everything is okay in SAP PI and the idoc is successfully posted to trading partner.
I can bet you might have many options to improve it much better and add couple of status codes but this was just a sharing on how we manage to simplify the definition of success / errors for every one who looks at it.
Also, now our users talks to our team in technical terms stating that they got 05 why not 06? If there are 34 status codes then they know something is wrong with the data. This improved our communication drastically by simplifying the things.