Controlling Hierarchy

What is Controlling Hierarchy and why do I need it?

Controlling Hierarchy plays its role for Global Inherited Properties. It lets DRM find its way to look for ancestors of the node and fetch the value.

Try the following to understand how it works.

1. Create a global inherited propertiesG_I_CH -> Global Inherited Property which will have Controlling Hierarchy set.

2. Create Following Hierarchies

Hierarchy: World
World
USA
CANADA
INDIA

Hierarchy North America
North America
USA
CANADA

Hierarchy Asia
INDIA

3. Check the value of both the properties, currently they should be NULL,

4. Update both the property values for Hierarchy: World
e.g. World (Top Node)->G_I_CH=100

5. Check the values of USA,CANADA and INDIA in Hierarchy World, They should have inherited the values.

6. Check the values of USA,CANADA in hierarchy: North America
These still should be NULL because its parent North America (Top Node) does not have the value set.

7. Now Right Click on World Hierarchy and select Assign Control and select the property (G_I_CH).

8. Go back to North America Hierarchy and check the values, it should have been set to values from the World Hierarchy.

Here is a write up about Inheritance that should explain how it works.

Inheritance
Inheritance is a feature that enables high-level nodes to share their property values with lower
points in the hierarchy, eliminating the need to store and maintain redundant information. It
enables newly entered nodes to automatically obtain their property values from the appropriate
ancestors. Proper use of inheritance can greatly reduce data-entry requirements.
When defining a property, the system administrator can define the property as inheriting. This
definition enables the values for the property to cascade down to its descendants.
Inheritance moves through a specific chain of events to determine the value for a property:

1. Data Relationship Management looks for a value entered at the current node. If a user has
directly entered a value at the node, the entered value is used.

2. If a value does not exist, Data Relationship Management searches the ancestors of the node for a value. The first entered value that Data Relationship Management finds, moving up the hierarchy is used. Thus, a change to the properties of a node can affect any descendents.

3. If no ancestor has an entered value, the default value is used. A default value is assigned by
the system administrator.

Global properties that inherit follow a slightly different path. In step 2, as Data Relationship Management moves up the hierarchy in search of an entered value, it encounters the ancestors in the controlling hierarchy. When the system administrator creates a global property, a controlling hierarchy must be designated for the property. A controlling hierarchy tells the system which hierarchy to use to determine the inheriting value for a global property.

Many tools are available in Data Relationship Management for maintaining inherited values:

  • Locking a value so that it cannot be overridden at a descendant
  • Clearing all descendant values for a particular property
  • Removing an overridden value so that the property inherits from a node above