Why is PER in conditions not always 1 ?

KONV-KPEIN
Share on Facebook9Share on LinkedIn0Tweet about this on TwitterShare on Google+0
Please Share!!

Normal assumption is that Unit should be with respect to 1 ( 10.00$ per EA etc). But, KONV-KPEIN (PER) is not equal to 1 in many occasions ( it might be 3626.19 per 10 EA). The reason behind is, SAP tries to keep the PER as accurate as possible for calculation.

100

Why?? SAP does a two way validation. It calculates the Unit with respect to PER. And then back calculates Total with that PER. If 1 PER does not give the accurate result, it goes for next higher PER in multiple of 10.

[adToAppearHere]

Example:

Total = 4351.43; Quantity = 12

Rate Calculation With PER 1

KBETR = PER * KWERT / QTY
= 1 * 4351.43/12
= 362.62                (Price of 1 Unit, i.e PER 1)

KWERT = KBETR * QTY / PER
= 362.62 * 12 / 1
= 4351.44                                       (back calculated Total)

4351.44  is NOT equal to  original 4351.43. So PER 1 is not considered

Rate Calculation WITH PER 10

KBETR = PER * KWERT / QTY
= 10 * 4351.43/12
= 3626.19                ( Price of 10 Unit, i.e PER 10)

KWERT = KBETR * QTY / PER
= 3626.19 * 12 / 10
= 4351.43                                       (back calculated Total)

Calculated total 4351.43 is equal to original total 4351.43. So PER 10 is considered. PER can be 100, 1000 etc with some limitations.

I gave the above theory to my client, but they wanted to see this happening in black and white. So, I had to put on my debugging hat and hunt where SAP does this. With some effort, I was able to locate the treasure.. 🙂

SAP is doing this in standard routine, CORRECT_ROUNDING_ERROR (program LVPKSDF23)

cap212

If for some reason, your client wants the system to force the PER to 1. You can implement the below two s-notes to maintain PER as 1 always.

sap notes: 555082 and 457392.

 

 

Image source : northpoint.org

Share on Facebook9Share on LinkedIn0Tweet about this on TwitterShare on Google+0
Please Share!!

About the Author

SAP Yard
SAP Yard
SAPYard is one stop page for all Technical Folks in SAP. You would find un-conventional explanations, tutorials, and tricks. Please like our Facebook Page and also join our LinkedIn Group.

Be the first to comment on "Why is PER in conditions not always 1 ?"

Please help us improve. Please Shout Often & Loud!!