I need to use the <Parent Currency> value member as a SOURCE in my calculation.
I have defined the variable "strVSource = HS.Value.IsTransCur()" and then use that variable in the right-hand side of my HS.Exp calculation
The resulting Value member is "False" and the consolidation aborts. When using <Parent Currency> as the destination, the same setup works fine.
Hence I can write to <Parent Currency>, but not read from <Parent Currency>...is that correct?
Is this for something like historical overrides? You could do something like-
If HS.Value.IsTransCur then HS.Exp A#Account = A#Account.V#<Entity Currency>
There will likely be more considerations (journals, customs, using varialbes for performance, what currencies are being overridden, etc), but hopefully this helps.
When you want <Parent Currency> as your source value member, in which member are you as the target? That is, if you have a value condition that says
If HS.Value.IsTransCur() = True Then
Hs.Exp "A#xxx = A#ooo"
This implicitly means the source is also the same value member you are in. I will add that this doesn't have to mean you are in <Parent Currency> but instead means that translation has taken place: that the source and target currencies are different. In other words, if you have a child in EUR and a parent in USD, the function HS.Value.IsTransCur() = True will be True not only for the parent currency "USD" but if the user translates the EUR base entity into GBP, the function will ALSO return True. So, if you are in [Proportion] for example, and want to read from <Parent Currency> you should use the ACTUAL currency of the source value member such as "GBP Total", and this should get what you want.
The destination value member is <PCA>, the source value member is <PC>.
What I was trying to do is this:
1. Input Equity at <EC> with [ICP none] - this is a hard requirement, so no input with ICP
2. Translate Equity at <PC> with [ICP none] - default translation
3. Split the Equity towards the Equity owners based on [SharesOwned] and reverse Equity with [ICP None] - this must be done before [Parent Total] hence I was trying different value members to run these rules on
4. Eliminate the Equity based on the common parent, not the first parent
Doesn't seem this is possible though, due to the order of rules execution I cannot do this via Sub Calc() on V#[Prop], which would be the ideal solution. Can't do it on <EC> either, since the Equity with ICP figures should not appear until after <ECT>. Value <PC> is an option, but I would loose the ability to see translated figures as they appear before Equity to ICP split.
If some-one has a clever way of doing this, please share.
The sub calculate will run for PCA when the IsTransCurAdj variable is true. Keep in mind, if you run a consolidate, this won't run unless you've impacted it before hand.
Once you know that you're calculating the PCA value, it becomes pretty easy to find the PC value label.
If HS.Value.IsTransCurAdj Then
TargetValue = HS.Value.Member 'This returns "USD Adjs" if Parent Currency Adjs are USD
SourceValue = Left(TargetValue,3) 'Takes the left 3 characters of the PCA Value
HS.Exp A#All = "A#All.V#" & SourceValue 'This would actually copy PC to PCA, but I put it here as an example
If you want to change the Prop value, I believe you have to enable custom consolidation rules and work there.