Welcome Learners!

Join the new SAP BTP Learning group for guidance and support to achieve your learnings goals.

Oct 02, 2014 at 03:16 PM
# change in formula based on quantity

Hi team,

I have this "inherited" working formula:

if (isnull({ServiceInfo.ThirdPartyServiceProvider}) or {ServiceInfo.ThirdPartyServiceProvider}= 'None')

then

Select {ServiceCode.LineOfBusiness}

Case 'FRONTLOAD': 5.5*4.33/60*{@TruckCost}*{ServiceInfo_vw_CurrentServices.Quantity}*{@servicefrequency}

Case 'REARLOAD': 6*4.33/60*{@TruckCost}*{@servicefrequency}+ .5*4.33/60*{@TruckCost}*{ServiceInfo_vw_CurrentServices.Quantity}*{@servicefrequency}-.5*4.33/60*{@TruckCost}*{@servicefrequency}

Case 'RECYCLING': 6*4.33/60*{@TruckCost}*{@servicefrequency}+ .5*4.33/60*{@TruckCost}*{ServiceInfo_vw_CurrentServices.Quantity}*{@servicefrequency}-.5*4.33/60*{@TruckCost}*{@servicefrequency}

Default : 0

as you can see, the formula references the Quantity - and it also contains time.

For the Frontload example, the time it assess is 5.5 (= 5.5 minutes, see the first number in the formula)

now I am asked to change the formula so that what you see above, is only applicable if the quantity is 1.

IF there are additional quantities, then the assessment has to change the time to .5 (= 30 seconds)

example:

if isnull({ServiceInfo.ThirdPartyServiceProvider}) or {ServiceInfo.ThirdPartyServiceProvider}= 'None' and {ServiceCode.LineOfBusiness} = "Frontload" then

(if {ServiceInfo_vw_CurrentServices.Quantity} = 1 then 5.5*4.33/60*{@TruckCost}*{@servicefrequency} else

if {ServiceInfo_vw_CurrentServices.Quantity} > 1 then ((5.5*4.33/60*{@TruckCost}*{@servicefrequency})+(.5*4.33/60*{@TruckCost}*{@servicefrequency}*({ServiceInfo_vw_CurrentServices.Quantity}-1))

BUT this formula gives me a message the ) is missing.. I have tried it all different kind of ways.. it sounds logical to me the way it is now. Can you please help?

THANKS

Sabine.