Forum Discussion

PFugereCSO's avatar
PFugereCSO
Contributor
4 years ago

Calculation Sequence of a Single Data Unit:

 

The items below detail the specific list of tasks that are executed for each data unit during the calculation process.

Data Unit Calculation Sequence (DUCS)

  1. Clear previously calculated data
    1.  If Using Hybrid Scenarios  - the copy will run here
  2. Run Scenario Member Formula
  3. Run reverse translations by calculating Flow members from other Alt Cur. Input Flow members
  4. Execute Finance Business Rules (1 & 2)
  5. Run Formula Passes (1 – 4 )
    • Account, Flow, UD1, UD2, … UD8 (Member Formula Execution)
  6. Execute Finance Business Rules (3 & 4)
  7. Run Formula Passes (5 – 😎
    • Account, Flow, UD1, UD2, … UD8 (Member Formula Execution)
  8. Execute Finance Business Rules  (5 and 6)
  9. Run Formula Passes (9 – 12)
    • Account, Flow, UD1, UD2, … UD8 (Member Formula Execution)
  10. Execute Finance Business Rules  (7 and 8 )
  11. Run Formula Passes (13 – 16)
    • Account, Flow, UD1, UD2, … UD8 (Member Formula Execution)
  • TomABC's avatar
    TomABC
    Contributor II

    A visual to go with the Data Unit Calculation Sequence (DUCS), hope this helps

  • BeatlesForever's avatar
    BeatlesForever
    New Contributor II

    Hello Peter and Tom,

     

    Thanks for sharing. It's super clear and useful.

    I have a question regarding the third step.

    3. Run reverse translations by calculating Flow members from other Alt Cur. Input Flow members

    This step is only for entities which have multi-currency input. Say an entity allows input in both USD and EUR, its local currency is USD. When we calculate on this entity, this step will translate EUR input data to USD. Am I right?

     

    Thanks in advance for your reply.

    • PFugereCSO's avatar
      PFugereCSO
      Contributor

      You can add Force Translations in the workflow, as part of the Run Calculate step.  And I like this option much better than having the system try and guess based on where data is.  The reason is that there are times when no one will enter data and you will need it to run.  So why have the performance hit unless you need it?