Value from CustomCalc not storing after processing cube - DM Roll Forward Form job

ajackett
New Contributor III

Hi all, 

I have developed a process to rollover a form from one period to the next. Specifically prepayments, where the monthly movement is explained for 4 GL accounts using 20ish flows. The user enters a value in the value cell and the commentary cell. 

I have created a button to run a CustomCalc DM job to copy the values entered from the prior month form and past it to the current month form. I managed to get it working for both the Values and Annotations, so that it shows the rolled forward amount on the new month form. However, when I step through Input Form > Process > Confirm, it then wipes the value at the Process stage. The rolled forward annotation does remain. I notice that when I roll forward, the value is stored as "Calculation" and in blue font. When I type a value in manually, it is in black font and it remains when processed. The main thing that I am finding weird though, is that I developed this in v7.2 and it worked. However, we have upgraded to v8.2 and now it doesn't seem to work. 

I have attached my BR and a some screenshots to see if anyone has any ideas. Highlighted where the value has changed (annotation remains) after processing. 

Thanks in advance!

 

ajackett_1-1721818484172.png

ajackett_2-1721818505613.png

ajackett_0-1721819616352.png

ajackett_1-1721819664297.png

 

 

 

 

1 ACCEPTED SOLUTION

Henning
Valued Contributor

Hi, you need to set the IsDurableData boolean on the api to TRUE, e.g 

api.Data.Calculate("A#myTargetAccount = A#mySourceAccount", True)

Otherwise, all calculated data gets cleared each time a normal calculation is executed.

For sake of completeness, one can also set this setting to FALSE on the scenario. However, I have never seen anyone actually doing this. Market practice is to leave this and use Durable Calculations where necessary.

Henning_0-1721821425611.png

 

View solution in original post

3 REPLIES 3

Henning
Valued Contributor

Hi, you need to set the IsDurableData boolean on the api to TRUE, e.g 

api.Data.Calculate("A#myTargetAccount = A#mySourceAccount", True)

Otherwise, all calculated data gets cleared each time a normal calculation is executed.

For sake of completeness, one can also set this setting to FALSE on the scenario. However, I have never seen anyone actually doing this. Market practice is to leave this and use Durable Calculations where necessary.

Henning_0-1721821425611.png

 

ajackett
New Contributor III

Thank you @Henning, that's solved the problem. I'm still learning business rules as I go, so I do miss some of the syntax rules every so often. 

In hindsight, maybe I hadn't previously processed the rollforward values in v7.2 so hadn't noticed the balance removed. 

Thanks again!

T_Kress
Contributor III

Just another tip.  You will want to consider using RemoveZeros or RemoveNoData on the right hand side of your equation.  This is a best practice to avoid increasing the DU size and loading zeros into next period.

But glad your durable data is sticking now!

Teresa C. Kress
Principal Delivery Manager Partner Enablement | OneStream Software
Please sign in! ajackett