Flat hierarchies

Hierarchy structure definitions depend on what the flattening is based on. The flat hierarchy can be based on the standard parent-child relationships for a specified module’s hierarchy. The flat hierarchy can also be based on specific levels in the module’s hierarchy, and their respective business objects.

Each hierarchy structure definition contains a single header record that identifies hierarchy name, module, and hierarchy type. The hierarchy name describes the hierarchy and the module is the module that the hierarchy represents. The hierarchy type is used by the flattening process to understand how to flatten the data. There are two hierarchy types, Data and Form.

A data hierarchy is used to flatten the path of data based on the standard parent-child relationships for the specified module’s hierarchy. This hierarchy type has no named levels because TRIRIGA Application Platform applications allow different types of data to be represented at the same physical level in a module’s hierarchy. For example, a location hierarchy might have data for both property, building and floor, and for building and floor. Thus the first level in the hierarchy would contain a mixture of properties and buildings, and the second level would contain a mix of buildings and floors.

A form hierarchy is used to flatten the path of data based on the parent-child relationships for the specified module’s hierarchy and the business objects that represent levels. Only one business object can represent each level.

Each form hierarchy must specify explicit levels that contain the level number, the business object that the level represents, and the type. The type is used by the flattening process to understand how to find the data for the level. The type has three options: Find, Ignore, and Recurse.
  • When the type value is Find, the system searches through the sublevels of the instance data for a particular thread until a record is found for the specified form. If no records are found, the remaining levels in the hierarchy definition are ignored and no more flat data is created for that thread. If a record is found, the system creates a flat data record for that node and proceeds to the next level in the definition. This mode provides the capability to collapse a tree to better align your business data.
  • When the type value is Ignore, the system searches for the specified form, one level below the last parent. If a record is not found, the system creates a gap for this level and proceeds with the next level in the definition. If a record is found, the system creates a flat data record for that node and proceeds to the next level in the definition. This mode provides the capability to expand a tree to better align your business data. To facilitate the reporting process, the gaps must be given a name or label. Use the Gap Label value in the Hierarchy Structure Manager for this purpose.
  • When the type value is Recurse, the system searches through the sublevels of the instance data for a particular thread until a record is found for the specified form. If no records are found, the remaining levels in the hierarchy definition are ignored and no more flat data is created for that thread. For each record found, the system creates a flat data record for that node before it proceeds to the next level in the definition.