This content has been marked as final.
Show 37 replies

1. Re: Minority Interest calculation and consolidation
James.zhang May 13, 2013 2:40 PM (in response to user10394539)Hi,
1. Is the expression correct for Minority Interest calculation ?
You only present the rules file how to calculate in system. But there is nothing about business requirement. And I cannot say the rules is correct or not without understanding about your accounts.
2. If so can we use it in Sub Consolidate() ?
I think it should be in the Sub Consolidate() because it is a consolidation process.
3. Should the Minority Interest consolidate to its parent using PMin ? If so kindly provide the appropriate expression.
We should back to the first question what is your business requirement. PMin is a prcentage you input into system. I am not sure the precentage is the number for minority interest calculation. 
2. Re: Minority Interest calculation and consolidation
user10394539 May 15, 2013 4:24 AM (in response to James.zhang)Hi James ,
Thanks for responding...
Capital Stock and Investments values are input fields. 281100 is the member representing minority interest. Already POwn is defined as 80% and PMIN as 20%. If we are calculating 281100 value as CapitalStock  Investments, den consolidation for minority is happening @ 80%. Rather if Minority interest is an input value ( commenting the sub calculate part and giving line item detail to minority interest member) , consolidation happens @ 20%. But our requirement is to calculate the minority interest value and consolidte it to 20%.
Hope you can help me out now.....
*****************************************
Sub Calculate()
HS.EXP "A#281100 = A#CapitalStock  A#Investments"
End Sub
Sub Consolidate()
Method=HS.Node.Method("")
PCon=HS.Node.PCon("")
POwn=HS.Node.POwn("")
vMIN=1HS.Node.POwn("")
PMin=PConPOwn
Dim strAccount,i
Set DataUnit=HS.OpenDataUnit("")
NumItems=DataUnit.GetNumItems
For i=0 to NumItems1
Call DataUnit.GetItem(i,strAccount,ICP,Custom1,Custom2,Custom3,Custom4,Data)
If Method="Holding" Then
Call HS.Con("",PCon,"")
End If
If Method="Global" Then
If StrAccount = "281100" Then
Call HS.Con("A#281100",PMin,"")
Else
Call HS.Con("",POwn,"")
End If
End If
Next
End sub 
3. Re: Minority Interest calculation and consolidation
James.zhang May 15, 2013 6:02 AM (in response to user10394539)Hi,
I still need to understand more about your requirement. Would you mind we communicate through email?
Based on your rules, things happen like this.
281100 = CapitalStock  Investment
At consolidation proces (data populate from [Parent Total] to [Proportion])
If entity's consolidation method is Holding,
All account's number will multiply by PCON and populate to [Proportion].
If entity's consolidation method is Global,
281100 account's number will multiply by PMin and populate to [Proportion].
Other acconts' number will multiply by POwn and populate to [Proportion].
May I know which part does not work correctly with your requirement?
You can drop me email james.zyzhang@gmail.com
Thanks.
James Zhang 
4. Re: Minority Interest calculation and consolidation
user10394539 May 15, 2013 9:38 AM (in response to James.zhang)"*2.If so can we use it in Sub Consolidate() ?*
*I think it should be in the Sub Consolidate() because it is a consolidation process*"
Could you kindly explain with the expression as to how minority interest calculation can be done in Sub Consolidate() ??? Thanks James. 
5. Re: Minority Interest calculation and consolidation
KostasN. May 16, 2013 9:07 AM (in response to user10394539)Hi,
Have you checked the result of the calculation HS.EXP "A#281100 = A#CapitalStock  A#Investments" at the <Entity Curr Total> level (before consolidation happens)? Is this the same number that you input in the line item detail? Since you don't change the Consolidate() code, the only reason that you get different results at [Proportion] can be that you have different values in A#281100 at the base level (<Entity Curr Total>).
Regards,
Kostas 
6. Re: Minority Interest calculation and consolidation
user10394539 May 16, 2013 11:12 AM (in response to KostasN.)Hi Kostas,
The result is showing fine at the <Entity Curr Total> level also. But consolidation is happening @ POwn (ie @ 80%) . If we avoid the calculate part and give input value to minority interest , consolidation happens @ 20%. But wat i require is calculate the value of 281100 and consolidate it @ 20% in [Proportion] 
7. Re: Minority Interest calculation and consolidation
KostasN. May 16, 2013 12:05 PM (in response to user10394539)Try to modify your code as follows:
Sub Calculate()
This prevents the rule from running at [Proportion]. Currently your code recalculates A#281100 after proportionalization from the already proportionalized at 80% A#CapitalStock and A#Investments accounts. These accounts have been proportionalized by 80%, therefore your result is 80% instead of 20%.Dim vValueMember
End Sub
vValueMember = HS.Value.Member()
If vValueMember = "<Entity Currency>" Or vValueMember = "<Entity Curr Adjs>" ThenHS.EXP "A#281100 = A#CapitalStock  A#Investments"
End If
In fact HFM first proportionalizes to 20% (correctly) and then your calculation code runs again at [Proportion] and overwrites the result with the 80%.
Once you get it right, you also have to include other cases in your if statement. First, see in which Value members you want this to run (definitely not [Proportion]).
Hope this helps,
Kostas 
8. Re: Minority Interest calculation and consolidation
user10394539 May 17, 2013 5:01 AM (in response to KostasN.)Hi Kostas,
Thanks for your help . This pie of code is working perfectly . Thanks for guiding and throwing the light on wat is happening at proportionization.
*Once you get it right, you also have to include other cases in your if statement. First, see in which Value members you want this to run (definitely not [Proportion]).*
Can you please guide me on wat u meant by this statement?
Thanks a lot.... 
9. Re: Minority Interest calculation and consolidation
user10394539 May 17, 2013 5:44 AM (in response to user10394539)Kostas,
This is working fine only if Minority interest is a base member . But in ideal case minority interest is a parent member and we have 12 children under it...In this case this script is not working fine... 
10. Re: Minority Interest calculation and consolidation
KostasN. May 17, 2013 7:40 AM (in response to user10394539)1. About the Value dimension: probably you have to see which other Value members you have to include in the if statement like below:
If vValueMember = "<Entity Currency>" Or vValueMember = "<Entity Curr Adjs>" Or Or HS.Value.IsTransCurAdj() Or vValueMember = "[Parent Adjs]" Then
It is critical to control at which Value members your code applies, since it might not be the case that it applies to all (like the [Proportion] case which we excluded in the code I sent to you)
2. About parent members: If the minority interest account is a parent account, then you should apply all the calculations to base accounts (its children). HFM rules cannot write the results of calculations in parent dimension members (of accounts, icp and custom dimensions). Parent dimension members are always getting values by aggregating children in HFM.
Kostas 
11. Re: Minority Interest calculation and consolidation
user10394539 May 17, 2013 8:39 AM (in response to KostasN.)Thanks Kostas ...This really helped 
12. Re: Minority Interest calculation and consolidation
user10394539 May 17, 2013 11:45 AM (in response to user10394539)Hi Kostas ,
If i rewite the code as below does it avoid the calculation of minority interest happening @ USD based on the below entity hierarchy? (US is the "Holding" company with POwn as 100% and NZ as "Global" with Pown as 80% and PMin as 20%)
USD
L__AU
L__NZ
L__US
Is this the correct method or can i achieve it using any other way?
***************************************************************
Sub Calculate()
Dim vValueMember,vEntityMemeber
vValueMember = HS.Value.Member()
vEntityMemeber = HS.Entity.Member()
If vValueMember = "NZ"
If vValueMember = "<Entity Currency>" Or vValueMember = "<Entity Curr Adjs>" Or HS.Value.IsTransCurAdj() Or vValueMember = "[Parent Adjs]" Then
HS.EXP "A#281100 = A#CapitalStock  A#Investments"
End If
End If
End Sub
Sub Consolidate()
Method=HS.Node.Method("")
PCon=HS.Node.PCon("")
POwn=HS.Node.POwn("")
vMIN=1HS.Node.POwn("")
PMin=PConPOwn
Dim strAccount,i
Set DataUnit=HS.OpenDataUnit("")
NumItems=DataUnit.GetNumItems
For i=0 to NumItems1
Call DataUnit.GetItem(i,strAccount,ICP,Custom1,Custom2,Custom3,Custom4,Data)
If Method="Holding" Then
Call HS.Con("",PCon,"")
End If
If Method="Global" Then
If StrAccount = "281100" Then
Call HS.Con("A#281100",PMin,"")
Else
Call HS.Con("",POwn,"")
End If
End If
Next
End sub 
13. Re: Minority Interest calculation and consolidation
KostasN. May 17, 2013 12:10 PM (in response to user10394539)Hi,
If I got it correctly, you don't want the A#281100 calculation to happen for your holding company. There is a preferable way to do your consolidation that avoids involving the Calculate() altogether. So scrap your Calculate and write this Consolidate() instead:
Sub Consolidate()
With this code, the minority interest will calculate only for entities using the Global method.Method=HS.Node.Method("")
End sub
PCon=HS.Node.PCon("")
POwn=HS.Node.POwn("")
vMIN=1HS.Node.POwn("")
PMin=PConPOwn
Dim strAccount,i
Set DataUnit=HS.OpenDataUnit("")
NumItems=DataUnit.GetNumItems
For i=0 to NumItems1Call DataUnit.GetItem(i,strAccount,ICP,Custom1,Custom2,Custom3,Custom4,Data)
Next
If Method="Holding" ThenCall HS.Con("",PCon,"")
End If
If Method="Global" ThenIf StrAccount = "CapitalStock" Then
End IfCall HS.Con("",POwn,"")
ElseIf StrAccount = "Investments" Then
Call HS.Con("A#281100",PMin,"")Call HS.Con("",POwn,"")
Else
Call HS.Con("A#281100", (1) * PMin,"")Call HS.Con("",POwn,"")
End If
I did not drive you to this solution immediately in order to avoid to confuse you, as well as because this does not address the issue of Calculation() running at many Value levels.
Regards,
Kostas 
14. Re: Minority Interest calculation and consolidation
user10394539 May 20, 2013 4:58 AM (in response to KostasN.)Hi Kostas,
I have commented the calculate part and tried with this consolidation part alone. Minority interest is not getting calculated with this code which is supposed to be CapitalStock  Investments and this shud happening only for NZ :( . And also the consolidation of already existing minority interest value is happening @ 80% and not 20%.