Step 1: Create a Flat List – this is where the sourced data will be loaded to
Cost center Flat
Step 2: Create a module to store properties of the flat list. This will be dimensionalized by the flat list in Step 1. Within this list, you will have a line item defining the parent of the item in the flat list (this is loaded from the source system).
Cost Center Properties module
Step 3: Create a module (dimensionalized by your Flat List) to understand how many children a particular member has. This module has on line item (formatted to number) and the formula is: 'Cost Center Flat - Properties'.Count[SUM: 'Cost Center Flat - Properties'.'Parent H1']
Step 4: Create a module to build the Hierarchy Lists (in this case, CC Build) and build it in this order
Obtain the parents of each member and walk it up the levels (1-9, assuming 9 is the lowest level).
Build the “Ragged” version of the hierarchy
Build the “Balanced” version of the hierarchy
Find the First Occurrences for each level
Build views for each level using the First Occurrence for that level, including the Parent, the Member, and the code of the member.
Create Actions to import into the correct list from the above views (e)
CC Build module
Step 5: Rename the actions with appropriate names
Step 6: Create a process (Build CC Hierarchy) with the actions in the correct order.
Again, I hope this helps. Also, attached are the blueprints of the moduels. Please let me know if you have any additional quesitons.
It would be helpful if there is a generic app which can be used to convert flat ragged hierarchy to composite hierarchy. The only difference between ragged hierarchies are LEVELS. If we can define the required LEVELS in the app and load the ragged hierarchy, we should get composite hierarchy generated automatically! Do you think its feasible?