cancel
Showing results for 
Search instead for 
Did you mean: 

Write on a null cell

Former Member
0 Kudos

Hye Sirs.

I'm in BPC 7.0NW and I'm having severals problems in my scriptlogics about an issue and I would like to explain you using a simple example because I don´t find a solution.

I'm trying to do a simple Scriptlogic running by Package. The idea is to write on a amount in a null cell.

For example, I have 4 dimensions (ACCOUNT, TIME, CATEGORY and ENTITY) and I want to write 100 EUR.

My Script is similar than:

*XDIM_MEMBERSET ACCOUNT=6300

*XDIM_MEMBERSET TIME =2010.MAY

*XDIM_MEMBERSET CATEGORY=ACTUAL

*XDIM_MEMBERSET ENTITY=0001

*WHEN CATEGORY

*IS ACTUAL

*REC(EXPRESSION=100)

*ENDWHEN

*COMMIT

In my EVDRE, for this dimensions data, the amount is empty ( it's NULL, no Cero ).

,[2010.MAY],[ACTUAL],[0001] -

-


NULL

If I run my package with my logic and It was ok, It seems that the logics didn´t run and I refresh my EVDRE , I don't get the result in that cell.

However, If I write an amount in that cell (for example "1") before I execute muy package, and I execute it, I get the result correctly and If I refresh my EVDRE I can see "100" in this cell.

It's like BPC consider that the amount of that cell is empty, and It doesn´t execute over this dimesions combination.

Any solution?

Thanks.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hye Gersh.

I tried it and It doesn´t work. I'm in 7.0NW SP03

*WHEN_REF_DATA=MASTER_DATA

*XDIM_MEMBERSET ACCOUNT=6300

*XDIM_MEMBERSET TIME =2010.MAY

*XDIM_MEMBERSET CATEGORY=ACTUAL

*XDIM_MEMBERSET ENTITY=0001

*WHEN CATEGORY

*IS ACTUAL

*REC(EXPRESSION=100)

*ENDWHEN

*ENDWHEN

*COMMIT

Thanks for your help.

any idea?

Former Member
0 Kudos

Hi Pacoj,

I would request you to update your server to the latest SP.

By the way, please validate all the script logics. Validate the default script also, even if its empty. Process your application and try once again.

Hope this helps.

former_member200327
Active Contributor
0 Kudos

Hi,

It's hard to tell from that description what is wrong there. I need more information to get an idea of what is going on.

Do you run your script from UJKT or from a DM package?

In case of UJKT you should see if it writes any records in the log on the right hand side. In package case you should see that log in 'Formula Log' part.

Can you see difference in those logs between your 2 cases: when you have nothing in that cell and when you have 1 in that cell?

If there is no difference can you post that log here - it should be small.

Regards,

Gersh

esjewett
Active Contributor
0 Kudos

I think that the BPC NW WHEN/IS/*REC statement behavior with regards to null values went something like this:

SP00 - SP03 -- Ignore null values

SP04 - SP07 -- Calculate for null values

SP08 and on -- Ignore null values but provide the override that Gersh mentioned

On SP03, I don't believe there is any way to force calculation for null values. Your best bet is to run your WHEN/IS statement on a data intersection you know will have values and then update the intersection that is currently null.

I believe MDX statements should work in SP03 and will calculate on null values as well, but they were very inefficient until SP05 or SP06, so you may run into some performance problems if you go this route without upgrading.

Ethan

former_member200327
Active Contributor
0 Kudos

It could depend on what SP in NW 7.0 you are. SAP recently changed how such construction works and now default is based on Transaction data.

To make it run on Master Data as you need it this example try putting

*WHEN_REF_DATA=MASTER_DATA

at the beginning of your script.

Regards,

Gersh