The code you have in the rules file looks like it is incorrect. PCon would not be defined automatically and would therefore return zero. I think what you are actually looking for is something like:
Call Hs.Con ("",HS.Node.PCon(""),"")
Note that you can determine if the consolidation rules are used from you metadata under AppSettings. Look for the setting called ConsolidationRules. If you set this to Y, it uses the rules under Sub Consolidate(), if you set it N, it will automatically consolidate even if you have nothing under Sub Consolidate().
Further, you can affect what gets consolidated in the metadata. Some of your accounts etc. may not be set correctly. Some things to check:
Finally, if the Entities have different currencies, check if you are getting data up to [Parent Total]. If not, the problem is your translation and not your consolidation.
I think you already know the value dimension at HFM. Consolidation is happen at from [Parent Total] to [Proportion].
First, when you say "doesn't seem to be able to get it consolidated", can you see correct figure at [Proportion]?
Suggest you to create a data grid to show value from <Entity Currency> <Entity Curr Adjs> <Parent Currency> <Parent Curr Adjs> [Parent] [Parent Adjs] [Proportion] to find out number is not correct at which value.
Then we can locate the issue is at which step.