Within this document we will show, we configure parameter for Price Point Group how to effect our price rounding.

Brief logic about price rounding

basic parameter:

rounding rule: twpk-eprgr

first price: twpg-prsfi last price: twpg-prsla increment: twpg-prsdi

purchase price: markup rate:

1. pre-calculate sales price, then price should be input rounding program and rounding it.

pi_price: purchase pirce * (1+markup%)

2. calculate difference between pi_price and first price

diff_total = pi_price – twpg-prsfi

3. calculate rest of diff_total / twpg-prsdi

rest = diff_total mod twpg-prsdi

4. to check whether pi_price meets priced corner the cornor price range or not.

(rest eq 0) and (twpk-eprgr ne 100)

5. if condition (rest eq 0) and (twpk-eprgr ne 100) not mattched, price pi_price meets priced corner the corner price range.

calculate both low and high price

number_of_steps = diff_total div twpg-prsdi (number_of_steps is integer value)

price_low = twpg-prsfi + number_of_steps * twpg-prsdi

price_high = price_low + twpg-prsdi

6. to determine which price should be used.

calculate comparison value

c_value = ((100 – twpk-eprgr) * twpg-prsdi) / 100

if rest >= c_vaule

use price_high

else

use price_low

then, we will introduce by illustration.

1. we configure Price Point Group as below picture.

2. we calculate price by tx: VKP5, as below screen, we can see purchase price(Basis PP):0.53, and the sales price(Gross SP) has been rounding is 0.69.

3. then we will change the purchase price (basic PP) from 0.53 to 0.8, to simulate and show the config parameter how to involve sale price rounding.

as we know that 0.8 * (1+30.189%) = 1.041512. let us to see the system behavior, if we has been configured the Price Point Group.

4. entry the price 0.8 and press “Enter” button. the system will cll function : PRICE_POINT_READ

5. function to determine price point group (eprgr = pi_eprgr = twpk-eprgr: price point group)

6.system calculate

pi_price = purchase price * (1+ markup%)

pi_prsfi = twpg-prsfi (first price in price point range)

pi_prsdi = twpg-prsdi (increment for price point range)

system will calculate both low and high price

PROZ = PI_RUNRG = TWPK-RUNRG: Rounding = 40

system determine which price we will be use

Due to the rounding logic, we got price 0.99 as sales price, the are differ with price 0.8 * (1+30.189%) = 1.041512

Hi

If you could add some business scenario or process where this could be applicable then that would be easy for understanding. IT looks tricky and complicated without some business process example.

Thank$