Triangle object relationships

A triangle object relationship exists when one child has two parents that are related to each other. To enhance report authoring capability, use the Supported Triangle Relationships setting to configure object types with triangle relationships in the reporting framework relational data model.

Within the triangle, the top (parent 1) and bottom (child) object types are non-recursive. The middle (parent 2) object type is recursive (such as Sub-Process). For more information about recursive objects, see Recursive object levels.

A triangle relationship that includes two recursive object types is not supported.

For example, a report author has a requirement to create a Risk report that allows business users to assess risks associated with various processes and sub-processes within the company.

To provide the report author with easier reporting capability in the framework model, you could configure a triangle relationship between the non-recursive child Risk object and its two related parents: a non-recursive parent Process object and a recursive parent Sub-Process object type, as shown in Figure 1.

Figure 1. Triangle relationship between objects
Process box points to Sub-process box and Risk box. Sub-process box points to Risk box.

The path between the objects that forms a triangle relationship must be reflected in a namespace within the reporting framework. For example, a namespace might have the following object type hierarchy configured for Business Entity, Process, Sub-Process, and Risk object types:

SOXBusEntity|SOXProcess,SOXProcess|SOXSubprocess,SOXSubprocess|SOXRisk
To reflect the triangle relationship shown in Figure 1, that namespace would also need to include the path between Process and Risk objects as follows:
SOXBusEntity|SOXProcess,SOXProcess|SOXSubprocess,SOXProcess|SOXRisk,SOXSubprocess|SOXRisk

Without the configured triangle, the report author would need to use advanced techniques, which might not perform as well to accomplish this task.

To configure triangle object relationships, see Setting the triangle reporting framework object relationships.