Forum Discussion
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
- TechTitan3 months agoNew Contributor
Hi MG,
Below are the screenshots of the configuration and error:
Please let me know if this helps clarify the issue.
- MG3 months agoCommunity Manager
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.
- jana_seinige3 months agoContributor II
you need to say
if api.pov.cons.name = "OwnerPostAd" Then
api.data.calculate... (remove the cons dimension from there)
end if
- KarlT3 months agoContributor III
I would always use the member ID instead to avoid risks of spelling mistakes or other errors that the compiler can't detect:
If api.pov.Cons.MemberId = DimConstants.OwnerPostAdj Then
Related Content
- 3 years ago