cancel
Showing results for 
Search instead for 
Did you mean: 

BPC 10 NW - Filtering records - SINGNEDDATA > 0?

Former Member
0 Kudos

Dear All,

In BPC 10 NW, would like to know the following:

Need to select records where SIGNEDDATA > 0. I Need to perform ALLOCATION logic to those records. Do you know how I can filter records based on SIGNEDDATA > 0? Any IF statement?

In my case, I have completed almost 99% work. This is the only thing that is holding me. If I need to write BADI, I need to write everything from scratch which will run into pages.

Thanks in advance for the help!

Regards,
Peri

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Peri,

You can use something like:

*WHEN DIMNAME
*IS ID
*REC(EXPRESSION = %VALUE% > 5000 ? %VALUE% : 5000 )
*ENDWHEN

Hope this helps.

Former Member
0 Kudos

This message was moderated.

Answers (1)

Answers (1)

former_member186338
Active Contributor
0 Kudos

Hi Peri,

It's impossible to scope data based on the value (or value sign in this case). So you can't use ALLOCATION logic.

But you can simulate ALLOCATION logic by WHEN/IS/REC/ENDWHEN and inside REC you can use condition like Nilanjan mentioned ( A > B ? C : D). The expression will be complex, but manageable...

Another option is to use the simple code like:

*WHEN DIMNAME

*IS SOMETHING

*REC(EXPRESSION=%VALUE%>0 ? %VALUE% : 0, SOMEDIM="SOMEMEMBER")

*ENDWHEN

Where SOMEMEMBER is some dummy member.

Then you will run ALLOCATION logic for SOMEMEMBER scoped.

B.R. Vadim

Former Member
0 Kudos

Thanks, Vadim.

Regards,

Peri