cancel
Showing results for 
Search instead for 
Did you mean: 

BPC doesn't post the result of calculation if target intersection is empty

Former Member
0 Kudos

Hi all!

I searched forum for my case but didn't find exactly i need.

Below is my case:

I have 2 source applications where users fill in templates their data. First App for production and losses data, second for sales and end stocks. Third destination App is for checking if users entered thier numbers correctly. To simplify the case all Apps have the same set of dimensions besides Accounts. Each of App has its own Account dimension.

Initially destination App is empty. I use DEFAULT.LFG in destination App and LOOKUP functionality. I run default logic as DTS package in Data Manager, prompting user to select Category, Entity and Time period.

BPC didn't calculate any values until i manually entered anything in target cell and sent value to server. Once i did it BPC began calculate result both then sending data and then running DTS package in Data Manager (i changed data in source Apps some times and calculated values were persistently correct). In my case i entered draft value in intersection with ACC_1 only and only this account became being calculated. Rest two stayed wrong. I guess it's until first manual data input in these accounts.

I suppose it's because initially there is no record for target Account (ACC_1, ACC_3, ACC_4) and even if there is non-zero result of calculation (i saw in log) the record was skipped (1 scanned records,1 skipped records,0 processed records,0 records generated in DTS log)

Guys, that's wrong i do and that's the solution?

Many thanks in advance,

Greg

*XDIM_MEMBERSET InputCurrency = USD

*XDIM_MEMBERSET AccountsCheckBal = ACC_1, ACC_3, ACC_4

*LOOKUP ProductionData

*DIM prod_vol: AccountsProd="ACC2"

*DIM loss_vol: AccountsProd="ACC3"

*ENDLOOKUP

*WHEN AccountsCheckBal

*IS "ACC_1"

*REC(expression = LOOKUP(prod_vol)-LOOKUP(loss_vol), NOADD)

*ENDWHEN

*COMMIT

*LOOKUP SalesAndStocksData

*DIM sold_vol: AccountsSales="ACC4"

*DIM stock_vol: AccountsSales="ACC5"

*ENDLOOKUP

*WHEN AccountsCheckBal

*IS "ACC_3"

*REC(expression = LOOKUP(sold_vol), NOADD)

*IS "ACC_4"

*REC(expression = LOOKUP(stock_vol), NOADD)

*ENDWHEN

*COMMIT

Edited by: GrishaTsvet on Jul 30, 2009 10:25 AM

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

As you said that the code is written in the target application and the application is empty, initially.

The problem is with the WHEN statements. The script logic works on transaction data. Since your application doesnt have any data, it cant find any records with AccountsCheckBal as ACC_1 or ACC_2. And this is the reason, it doesnt execute the REC statements. If you have any data in these accounts, then the REC statement will be executed.

My suggestion would be to keep the logic in the source application, instead. And use destination_app statement to transfer the required records.

Hope this helps.

Former Member
0 Kudos

Hi Nilanjan

I am also facing same issue and I think I should switch to destination_app , Thanks for the valuable information

Cheers!!!

“Keep smiling, because life is a beautiful thing and there's so much to smile about.”

Marilyn Monroe

Former Member
0 Kudos

Experts???:(

don't you have any ideas???

or my question is so stupid:)

i can't understand if it's just bug or feature.

while target cell (e.g. Entity=CFO1, Category=Actual, Time=2009.JUL, InputCurrency=USD, Account=ACC1) is empty (nobody filled in value in template in this cell) even such a simple script as

*XDIM_MEMBERSET InputCurrency=USD

WHEN Account

*IS ACC1

*REC(expression=1000)

*ENDWHEN

*COMMIT

in default logic doesn't work. After first manul entering value (any value) in this cell the logic began to work correctly including when launching as DTS package in Data Manager. But if i use MDX statements it works and it doesn't matter if there is anything in target cell.

Logic context is Ok as i can see in log. User is prompted to select necessary parameters (Entity, Time and Category) before launching K2DTSRunlogic task.

Experts, help me please..i really don't know what happens

Regards,

Greg

Former Member
0 Kudos

Hi. It is not a stupid question.

I am facing the same problem.

How did you solve this?

Many thanks