This discussion is archived
6 Replies Latest reply: May 17, 2013 2:58 AM by KostasN. RSS

HS.EXP does not take into account the Value member and the source

957318 Newbie
Currently Being Moderated
Hello,

The formula is put in the "Entity Curr Adjs" part of the Sub Calculate.

The expression is the following and apply for one entity (Holding method) I filtered previously and the ICP Entity has proportionnal method with 50% rate:
HS.Exp "A#5420.I#[ICP None].C1#REC.C2#[None].C3#[None].C4#Recla_IAS_Aut_RetS_5=
A#5340.V#[Contribution].E#Logista_E_TBCO.I#UTE_O.C1#CLO.C2#TotC2.C3#TotC3.C4#TotC4"

The data I would like to retrieve is the one in Contribution Value as I put on the source part of the expression.
And yet, the data I get is the one of the Entity Currency and Proportion Value, which is different because the ICP has proportionnal method (50%) and the Contribution value is the result of Proportion - Elimination values.
To sum up: I obtain a data of 50 instead of 25.
I checked that the data I see in my form corresponds to the source parameters but it seems that it does not take into account the Value parameter.

Could it be that it is not possible to use a Contribution Value source for an Entity Currency Adjs destination?

Thanks in advance.

Regards,

Julien
  • 1. Re: HS.EXP does not take into account the Value member and the source
    GCAPO Explorer
    Currently Being Moderated
    The issue may be the order of operations in the consolidation routine. Have you tried using a dynamic account for the calculation?
  • 2. Re: HS.EXP does not take into account the Value member and the source
    957318 Newbie
    Currently Being Moderated
    Hello,

    thanks for your answer.
    I have not tried with dynamic account (I could try but only within a few days).
    I was considering that the solution could be that the Value member "Contribution" does not store data (I checked it in documentation) so that it cannot be used in the source part of an HS.EXP. or at least the source value by default would be another one.
    I could try using Proportion and Elimination Value members (they store data)

    By hinting at the order, could you give me more details?

    Thank you.

    Regards,

    J.
  • 3. Re: HS.EXP does not take into account the Value member and the source
    GCAPO Explorer
    Currently Being Moderated
    If I am reading you correctly, you are trying to read from the contribution value to the enity curr adj value. (You most certainly cannot write to the contribution level unless you use a dynamic account.) I am suggesting that the rule you have written is calling for the contribution level before the calculations have been performed. This is why I suggest the dynamic account. This calculates the rule when you call for the amount. It is not stored. Therefore a limitation is that the dynamic account results cannot then be used on the right side of any equation.

    Below is from the HFM administrator manual:

    Rule Execution During ConsolidationDuring the consolidation process_

    rules are executed in a pre-defined sequence. For each base child of a given parent, the calculation sequence for the various elements in the Value dimension takes place in this order:

    1.Accounts defined as IsCalculated in the metadata are cleared in EntityCurrency.

    2.Accounts defined as IsCalculated in the metadata are cleared in EntityCurrAdjs.

    3.The Sub Calculate() routine is executed on EntityCurrency.

    4.The Sub Calculate() routine is executed on EntityCurrAdjs.

    5.The ParentCurrency data is cleared.

    6.Default translation is applied to all accounts defined as Revenue, Expense, Asset, Liability for the total amount of EntityCurrency and EntityCurrAdjs. For accounts with attribute Flow or Balance, the total amount of EntityCurrency and EntityCurrAdjs is rolled up into Parent Currency.

    7.The Sub Translate() routine is executed.

    8.The Sub Calculate() routine is executed on ParentCurrency.

    9.Accounts defined as “IsCalculated” in the metadata are cleared in ParentCurrAdjs.

    10.The Sub Calculate() routine is executed on ParentCurrAdjs.

    11.Accounts defined as “IsCalculated” in the metadata are cleared in ParentAdjs

    12.The Sub Calculate() routine is executed on ParentAdjs.

    13.Proportion and Elimination data are cleared.

    14.Default consolidation and eliminations are performed for the total amount of Parent and ParentAdjs.

    15.The Sub Calculate() routine is executed on Proportion and Elimination.

    16.Accounts defined as “IsCalculated” in the metadata are cleared in ContributionAdjs.

    17.The Sub Calculate() routine is executed on ContributionAdjs.

    After the previous steps have been repeated for each base child, this sequence takes place for the parent entity:

    1.The EntityCurrency data is cleared.

    2.The sum of the total of Proportion, Elimination, and ContributionAdjs for every child is written into EntityCurrency of the parent entity.

    3.The Sub Calculate() routine is executed on EntityCurrency.

    4.Accounts defined as “IsCalculated” in the metadata are cleared in EntityCurrAdjs.

    5.The Sub Calculate() routine is executed on EntityCurrAdjs.

    Note:
    If a parent is further consolidated into another parent, this sequence continues with step 5 from the child consolidation sequence.

    Edited by: GCAPO on Apr 16, 2013 8:09 AM
  • 4. Re: HS.EXP does not take into account the Value member and the source
    957318 Newbie
    Currently Being Moderated
    Hello,

    thanks again for the answer.

    As for the dynamic account I think I could not use it since it is an input account (that is why I put the reclassification in a special Custom4).
    About the the fact that Contribution is stored value membe, as I said in a previous post, it cannot be the explanation because I have already done something similar with Entity Currency Total, which is also on the fly value member. It works.
    Respect with the order, I was mistaken, I do the reclassification in Contribution Adjs.

    Any other idea?

    Thanks

    Regards,

    J.
  • 5. Re: HS.EXP does not take into account the Value member and the source
    LukasHerb Newbie
    Currently Being Moderated
    If I understand it right, you are pulling data from another entity on level [Contribution].

    [Contribution] usually only works on a partent.entity basis. So probably you need to include of the entity you are pulling from into your HS.Exp.
  • 6. Re: HS.EXP does not take into account the Value member and the source
    KostasN. Expert
    Currently Being Moderated
    Hi,
    I see another problem in what you're trying to do. First, let me state what you're trying to establish: you are trying to get a value from one entity (say A) to another entity (say B), be it at [Proportion], [Elimination], [Contribution], ...

    My question is: how can you know that during the consolidation process, by the time your code runs on B, A has already been processed and [Proportion], [Elimination] are not empty (or contain values from a previous consolidation run)?

    The answer is "You don't". Theoretically, you have no control as per the order in which entities are calculated/consolidated during the process. Even more complex is the thing that if you have a multi-core machine, more than one entities may run in parallel, but still you cannot force A to run before B. I have done some tests and I've seen that in a one processor setting the order that entities enter in the process of consolidation matches the order you have placed them in the consolidation tree in metadata. Still this thing is not documented as far as I know and therefore you cannot rely on this.

    Finally, I have also seen that in a simple case (B pulls from A), if you run consolidation twice, then you definitely get correct values. By the time you make a change in A, you have to run consolidation twice again to make sure that you get the correct data. I believe that you see that what I'm describing is good for experimenting but not for releasing to a client.

    I tend to think of such a design, as a practice to avoid.

    --Kostas                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points