Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Complex If else statement

Need to write a statement.Please help.

A and B,B1,B2 are Key Figures

Condition 1:  A> B

Condition 2 : A< B

Condition 3:  A==B

Condition 4:  B=-B

Created a formula i.e CKF as  C.So formula should be like this below.But i am not getting the desired output.

(Condition==1) * NOERR (NODIV (  ( A/B ) ) )  * 30  + (Condition 2==1) * NOERR  ( NODIV(  ( ( A- B-B1)/B2 * 30 + 60) ) )  + (Condition3==1) * NOERR (NODIV( (A/B)))* 30 +

(Condition4==1) * 0

Result i want to get is :

If A is less than B i.e If Condition 1 then A/B multiply by 30 else if A is greater than B i.e  If Condition 2 then (A-B-B1/B2)*30+60 else if A is equals B i.e If Condition 3 then A/B multiply by 30 else if B`s value comes in negative i.e If Condition 4 then 0.

Please suggest how to write.

Former Member
replied

Hi Adithya,

Whe you have complex IF ELSE Formulae...then BREAK them up into small peices so that you know where hte issue is..

CKF1 =(Condition==1) * NOERR (NODIV (  ( A/B ) ) )  * 30 

CKF2=(Condition 2==1) * NOERR  ( NODIV(  ( ( A- B-B1)/B2 * 30 + 60) ) ) 

CKF3=(Condition3==1) * NOERR (NODIV( (A/B)))* 30

CKF4=(Condition4==1) * 0

Then add them up

CKF5=CKF1+CKF2+CKF3+CKF4.

For your own testing display all the CKFs.all 5 and during final Transport ... hide the CKF1/CKF2/CKF3/CKF4 and display CKF5

rgds

SVU

1 View this answer in context
Not what you were looking for? View more on this topic or Ask a question