Is it possible to post an adjustment to OwnPostAdj using FinanceFunctionType.Calculate?

TechTitan
New Contributor

I am trying to post an adjustment to OwnerPostAdj member using FinanceFunctionType.Calcture function, is it possible to do that. If so could you please share some reference or if there are any cube level setting that I need to make. Currently I am getting the following error, even if I specify the OwnerPostAdj as a part of my data unit, but same works fine for Local member:

gubedi_0-1727284824248.png

 




5 REPLIES 5

Henning
Valued Contributor II

Hi, you need to execute the rule on C#OwnPostAdj in order for it to calculate something on this consolidation member. Remember, C# is part of the data unit and you cannot push data from the data unit you are currently in to another data unit. You can only "pull" data, hence you have to execute on OwnPostAdj in order to pull the data there.

that is correct, I am using C#OwnerPostAdj as a part of my data unit to calculate the same but still not able to do that, I get the above error.

MG
Moderator
Moderator

To Henning's point, you need to make sure your calculation is only running on the C#OwnerPostAdj member. So (I'm guessing) you will want to wrap your calculation in an If statement to ensure it only calculates on the OwnerPostAdj consol member, e.g:

If api.Pov.Cons.MemberId = DimConstants.OwnerPostAdj

End If

Also, looking at your error message, I would take a guess and say you shouldn't need to include entity or Consolidation members in your destination script since these will be determined by the Data unit being processed. 

Thanks


 

TechTitan
New Contributor

Hi MG,

Below are the screenshots of the configuration and error:

TechTitan_0-1727371046673.png



TechTitan_1-1727371066296.png

Please let me know if this helps clarify the issue.

Hi, 

I think your screenshots confirm the issue. Although I've never tried to set up a DM job with OwnerPreAdj as the the C# setting. Usually I would use Local or a Currency. 

You are running a FORCE CONSOLIDATE which will tell OS it neds to calc, translate and consolidate each data unit. So it is running a calc of the C#Local member firstly for each data unit. Your Business rule has no conditional statements to tell it that the calculation should only be run when calculating the OwnerPreAdj member resulting in the error as it can't write to OwnerPreAdj as part of the Local Calc. 

Try putting your code into the If statement detailed above. If you are continuing to have problems, you may want to raise a ticket with Support who can spend time with you to look into your requirement and offer advice on the best solution.