Skip to Content

Here is a Method That is Helping to pass decimals quantities in BAPI_PO_CREATE1

At last! after a long time searching for a solution for allowing decimals places in the bapi quantity for create a purchase order i found it and i would like to share my investigations and the solution i found with this comunity.

I hope this solution helps to any other ones like helped to me.

When you create a PO in transaction ME21 or ME21N if you introduce quantities with decimals system gives you a waning telling that the rounding rules will be applied.You can press enter and the warning dissapears.

Afterwards you can introduce decimal places in the quantity of the po and system now allow to do it.


When you create the PO it will be created with Quantity = 1,250.

This is the online transaction and for online transactions warnings can be avoid pressing enter.The problem is in bacht transactions as BAPI_PO_CREATE1.The warning can be avoid and the system will create a PO with quantity round to 1 althought you introduce 1,250 as quantity.

See the example below:


When you post the PO with the bapi the system will create the PO but with quantity rounding to 1 instead 1,250.

This can be a issue and an error for your requirements for example to upload a lot off PO´S from a external file.

To avoid this situation is possible to implemented the enhancement MDR10001 that use the exit function EXIT_SAPLMDR1_001.

You must create the include for the exit and put a simple code as pic below:


Activate the include and create a project in transaction CMOD.

Create the project and assign the enhancement.Lats step will be activate the project.

Now if you process the bapi with quantities with decimal places system will create the po with the decimal places and will not round to 1 as the example before.

You must be Logged on to comment or reply to a post.