Checking material availability – which transaction to use?
Working on ERP/ATP related issues made one thing quite clear: many of the end users still use the wrong transaction(s) when they try to check the availability of certain materials. End users often refer to transactions like MD04 or MMBE, but in fact, these transactions are not suitable for checking ATP quantities.
In order to check the availability situation of materials, transaction CO09 must be used. This is the only transaction which takes into consideration not just the
different stock levels, but inward and outward stock movements as well. Other transactions (like MD04 and MMBE) does not have this functionality, these transactions were designed for completely different purposes.
Here is a simple example which shows the difference between how these transactions handle quantities.
In this situation we have:
- a material (AC_1)
- a plant (AC1)
- three storage locations (AC1, AC2, AC3)
- a planned order created for 23.09.2015 about 100 PCs (storage location determined in the planned order is AC1).
In transaction CO09 the system shows the most important data which are considered by the ATP check, including:
- the material availability date
- the MRP element related data
- the required / requested quantity
- the confirmed quantity
- the cumulated ATP quantity (quantity still available after the confirmation is made).
Also, the created sales and delivery requirements, as well as the production and purchasing documents are shown on all the concerned storage levels, meaning that:
- if only the plant is given in the document, the MRP element will be shown only under the plant section
- if both the plant and the storage location are given, then the MRP element will be shown under the plant stock and the storage location section as well.
In CO09 it can be seen that after 23.09.2015 we have 100 PCs available. These 100 PCs can be confirmed in sales or delivery requirements.
Now, what can we see in transaction MMBE?
In short: nothing. From an availability perspective this transaction is not useful at all. MMBE does not consider inward / outward stock movements. If someone checks MMBE to find out how many pieces are available of material AC_1, he/she will think that this material is currently not available (which is true) and will not be available in the future (which is wrong).
Let’s take a look on transaction MD04 next.
In the current situation, MD04 shows the same available quantity that CO09 does, but there is a catch here. Transaction MD04 calculates with requested quantities, not with confirmed quantities.
To see what this means in terms of availability, let’s create a sales requirement (a sales order) in which the requested quantity is 50 PCs. The system could confirm these 50 PCs for 23.09.2015, but let’s change the confirmed quantity to 20 PCs manually (which can be done on the availability control screen) before saving the sales order.
In this case, CO09 will look like this.
Again, as I have already mentioned, the sales requirement will be displayed under all the relevant storage levels (in our case, under the plant section and the storage location section as well). Since the requested quantity was 50 PCs, but we confirmed only 20 PCs, the cumulated ATP quantity (the quantity which remains available after the confirmation is done) will be 80 PCs at 23.09.2015.
Now, what does MD04 tell us?
As it can be seen above, MD04 uses the requested quantity for the calculation, not the confirmed quantity, that is why column ‘Available Qty’ shows that 50 PCs are still available (which is not true).
In summary, as it has been represented, material availability related questions cannot be answered by using transaction MD04 or MMBE, the transaction that has to be used is CO09.
Thanks for mentioning this.
It's amazing how often project members are not aware of the differences between MMBE/MD04/CO09 and often use MMBE to check "availability" without understanding that they are only seeing current stock levels.
Thanks for this document . Useful one to note.
Thanks for this post
Thanks for sharing informative document.I got a clear idea on the availability check.
I would often use MD04 over MMBE but this was something I was not aware of. thanks for the useful post.
This information will be very useful specially in live projects, and also mainly to end users.