Negative Stock Although Not Allowed in Customizing
I would like to share a situation which I faced recently in a trading company and how the issue was resolved.
- In Material master, the negative stock is not allowed for the material.
- In customizing in OMJ1, the negative stock is not allowed for the plant and storage location.
We started analyzing the details and the reason for the inconsistency. While checking the material document table, we identified that two material documents (delivery for sales order) has been posted within a time difference of 88 seconds with “Total Valuated Stock Before Posting” as same quantity.
We checked the material document and found its a PGI document for sales order. The document flow for the sales order showed as below:
Now, we have one sales order, one delivery, 2 PGI documents against the same delivery and one invoice document!!!!
Since the material document was posted wrongly, we suggested to cancel the PGI in VL09. But there starts the next issue – system was not allowing!!!
In fact, system was issuing the same message for any goods movement for the material! This was very critical since the material was a fast moving material and business can not stop due to inconsistency in SAP! Since PGI was done, initially we defended by another question: We need to understand from the business, how the stock got issued physically to the customer if there was not enough stock!!!!
But the the situation was strange and difficult to convince the business. Customer even started doubting the credibility of SAP!! On further analysis , its found that the issue has been explained in the SAP Note: 935755 – Negative stock even though this is not permitted in Customizing !!. The note was a turning point!
The note clearly explained the reason for the situation – It could be due to late update or due to custom procedure for goods movement. But in our case, the goods movements are posted through standard only. So the reason was assumed as “late update”, which was easy to convince the users since the time difference for the posting was 88 seconds.
Now users started asking for the solution. Customer was not ready to move any configuration change to PRD, since it may create another inconsistency for any other material.
We again depended on the note. As per the note, the situation can be resolved only by passing another goods movement for the material. So we tried the following:
1. Goods receipt with 202 movement in MB1A – System didnt allow – error message (M7 314)!
2. Physical Inventory to correct the stock in MI09 – System didnt allow – error message (M7 310)!
Now there was no option other than moving a configuration change to PRD. The were 2 options:
1. Allow negative stock for the plant, storage location and material and cancel the PGI. – The option can be done only after business hours and after locking all users for the plant, since the system will generally allow negative stock for the material and if any users post goods movement, it may create another inconsistency!
2. Suppress the message M7 314 and M7 310 temperorly: This was the most suitable solution, since the message can be suppressed only for a specific user through message version and then post a goods movement.
We proposed option 2 and convinced the customer. Now, question came – which goods movement has to be posted – cancel the PGI or 202 with cost center or physical inventory with MI09.
But since there was two material documents against the same delivery, we were not sure which material document will be posted if the PGI is canceled. If only one is cancelled, again it will be an inconsistency! At last, we proposed to process 202 against cost center in MB1A and the issue resolved.
In short, the issue was resolved with following steps:
1. Suppress the message M7 310, M7 314 in the path: OLMB – Define Attributes of System Messages, with a different version:
2. Maintain the parameter ID: MSV with value as the message version number in SU3 for the user who is supposed to do the goods movement.
3. Goods receipt against cost center with 202 movement in MB1A for the quantity issued wrongly.
4. Once the 202 movement was posted, material stock shown correct quantity and value in stock reports.
5. Remove the parameter ID : MSV from the user master.
This resolved the critical issue! Hope it will be useful for others who faces similar issues.
Thanks for going through the blog and thanks for your time.