on 01-20-2009 5:01 AM
Hi SD Gurus,
I have a scenario as under in Pricing..
StepNo Cond Type Unit Price Qty Condition value
1 pr00 88.95 215 19124.25
2 K007 - 3.85% -736.28
3 Subtotal(1+2) 85.53 18387.97
The client requirement was to pring the Unit Price of Step No 3 i.e 85.53 , Qty i.e. 215 as well as Condition Value i.e. 18387.97...
But when we manually calculate the condition value from the unit price i.e. (Unit Price * Qty) = Condition Value, in this case the value would be ( 85.53 * 215 = 18388.95)..
There is a difference of Rs 0.87 between the system calculated condition value and when calculated manually..
Can anybody throw some light on this wherein the (unit price * Qty should be = Condition Value)....
Points will definitely be rewarded for valuable suggestions..
Regards
Bhushan
Edited by: NAGABHUSHAN THIPPANNA on Jan 20, 2009 6:13 AM
Resolved
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
check the rounding rule in Condition type for pricingPR00 and other condition types it should be commercial and should not be rounded up or round down
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
When calculating .0385 * 88.95, create a working data field and do a 'like' to netpr in your formula:
eg DATA: ZZEACHPRICE LIKE KOMP-NETPR. ( netpr is curr dec 2)
when calculating zzeachprice = .0385 * 88.95 since the field is defined as 2 decimal, commercial rounding will be the default calculation(round up if >= .005, down if < .005). So in your example 3.42756 will = 3.43 and 3.424575 will = 3.42.
My code looks like(had to deal with floating decimals):
DATA: ZZEA LIKE KOMP-NETPR.
ZZEA = KOMP-NETPR * XKOMV-KBETR / 100000.
XKWERT = ZZEA * KOMP-MGAME / 1000.
I solved this same issue by doing the following.
You had this:
1 pr00 88.95 215 19124.25
2 K007 - 3.85% -736.28
3 Subtotal(1+2) 85.53 18387.97
When determining KD07, create a Condition formula for alternative calculation type in VOFM.
calculate the 3.85% off of the PR00 each price and round this result to 2 decimals. In your example you would get 88.95 * .0385 = 3.424575 commercial rounded to 3.42, then multiply this rounded result with qty to get your extended amount 3.42 * 215 = 735.30 and put the result in XKWERT for KD07.
Your net result 3 Subtotal(1+2) would be 19124.25 - 735.30 = 18388.95, your net each price would result in 85.53. With this type of calcualtion you will always get consistant pricing regardless of qty. When you are finished with your formula assign it within config of the pricing procedure on your KD07
line. Hope this helps.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Matthew,
Thanks for replying.. But i got one doubt and that is when we are multiplying 0.0385 * 88.95, we get 3.424575. If in some other case say if i get the value as 3.42756,should we round off to 3.43 or should we retain the value to 3.42 by ignoring the third decimal place whether it is equal to or more than 5..
Our technical person is working on the code... But mean time do u hv the code by any chance..
Thanks and Regards
Bhushan
Hi,
Contact the ABAPer to debugg the issue and to make decimal changes in the program of concerned routine(VOFM) to get the accurate condition value.
Jagan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Dear,
There is nothing to do with configuration.
It is just because of rounding of amount to 2 decimal point.
Try calculation in Excel and u will get answer
Regards
Happy
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
107 | |
12 | |
11 | |
6 | |
5 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.