cancel
Showing results for 
Search instead for 
Did you mean: 

BPC Script logic : WHEN condition on two members of the same dimension

Former Member
0 Kudos

Hello experts,

my particular need is the following one ; I have to write an initialization logic for a planning application but I have to match 2 conditions to perform the initialization :

(dimensions are PERIOD / RATIO and few other not interesting here)

- SIGNEDDATA for member IB007 from dimension RATIO has to be not null

- member IB009 (which is the the member I wish to initialize) has to be empty

I have written the following code, but it always overwrite IB009 value :


*WHEN PERIOD.LEVEL
*IS "WEEK"
    *WHEN PERIOD
    *IS <> "Week.NA"
        *WHEN RATIO
        *IS "IB007"
*REC(RATIO="IB009",NOADD,EXPRESSION=GET(RATIO="IB009",PERIOD="Week.NA",CAMPAIN="CA_000",SALES_BRANCH="CV_000",CONTRACT="CO_000",INTERCOS="I_NA",OFFER="O_000",RPTCURRENCY="LC",VERSION="Vers1")

*ENDWHEN
*ENDWHEN
*ENDWHEN

*COMMIT

In the GET instruction I fetch a data stored into a particular dimension cross as a default value.

I can't figure out how to perform a double test not to overwrte IB009 when a value already exists.

Edit : in the second WHEN of the code part, it is *IS different of "Week.NA" but the inferior superior sign does not appear because of the "code" markup I guess

Thanks in advance for help, points will be awarded.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

I solved the issue on my side.

It is possible tu use a GET in the WHEN

*WHEN GET(RATIO=IB009)

*IS 0

I close.