Hierarchical Enum Lists - Intergraph Smart P&ID - Administration & Configuration - Hexagon PPM

SmartPlant Enterprise SmartPlant Adapter for Smart P&ID (2019)

Language
English
Product
Intergraph Smart P&ID
Search by Category
Administration & Configuration
SmartPlant Foundation / SDx Version
10
Smart P&ID Version
9 (2019)

A hierarchical enum list is a complex data type in which there is a collection of related enum lists and a value in a higher level list constrains the valid values in a lower level list. When a hierarchical enum list is used, a separate property is created for each level in the hierarchy.

Examples of hierarchical enum lists in P&ID are:

  1. Equipment Class, Equipment Subclass, Equipment Type

  2. Fluid System, Fluid Code

Examples in the EF Schema include:

  1. EqType0, … , EqType6

  2. ConstructionStatus, ConstructionStatus2

When mapping between P&ID and the EF Schema, four cases must be considered:

  1. Simple enum to simple enum

  2. Simple enum to hierarchical enum

  3. Hierarchical enum to simple enum

  4. Hierarchical enum to hierarchical enum

When mapping between two hierarchical enum lists, the number of levels in each hierarchy may not be the same.

EnumConversions – A special Property Conversion class is available to support publishing and retrieving of enumerated properties. This class is called EnumConversions and it is used for all cases of mapping enum list properties.

Mapping Properties – Only the top level properties associated with a hierarchical enum list are mapped. The lower level properties are left unmapped. The EnumConversions object obtains all of the values from the set of related properties even though they are not explicitly mapped.

Tool Schema Relationships – The MapEnumList objects that form an enum hierarchy must be related to each other with the Constrains and Constrained By relationships. The EnumConversions object relies on these relationships to get the job done.

Mapping Enum Values – An enum value within an enum list hierarchy can be mapped to any value (at any level) in the target enum list hierarchy. There is no explicit relationship between the levels of two hierarchies.