There are some custom attributes defined for the Plant Project Database Mapping Plug-in which need to be applied before we use this plug-in. These are defined in the schema OpenPlant_Supplemental_Mapping_OPPID.08.11.ecschema.xml. The different types of custom attribute and their purpose are defined below:
Applies To: ECClasses (Associated Items: AREA, SERVICE, UNIT, PROJECT etc.)
Format Expression: A regular expression
The associated Items behave differently in the Project Database. The BusinessKey of the associated item is used as the Primary Key (OPPID_Area, OPPID_Service) and the Foreign Key (EQUIP.EAREA, PROCESS.PAREA). In the Project Database, these values are automatically converted to uppercase. If these values are specified in lower case in OPPID then a case sensitive comparison would fail to synchronize. Therefore a format validation is implemented in OPPID which validates the BusinessKey of an associated item against a given format expression.
Applies To ECClasses
DescriptionIn the Plant Project Database SQLECPlugin, a database mapping is expected to be on higher level classes (e.g. from the OpenPlant schema). Child classes derived from such classes automatically use the mapping of a mapped base class. In case a child class has multiple mapped base classes; the base class closest in hierarchy is used. In case there is a conflict that multiple mapped base classes are available at the same level, one of them is arbitrarily used. This arbitrary behavior is controlled by the order of the base classes suggested by the EC Framework. If this default behavior is not accepted, any of the base classes can be given priority by adding this custom attribute.
Applied to ECProperties
Prefix : Constant at the start of a value
Suffix : Constant at the end of a value
Type : The type of a value (DECIMAL / FRACTION / GUID)
Default Value : The value to use by default
Some values from the ProjectDB are not directly compatible with the respective mapped ECProperties. For example, NOMINAL LENGTH is a fraction value in the ProjectDB and a decimal value in OpenPlant. This custom attribute helps to guide the type conversion process.
Applied To Relationship Classes in OpenPlant.08.11 schema that are themselves mapped or have any child class mapped
Exchange uses Synchronization ID (specified using SyncIDSpecfication Custom Attribute) to compare and synchronize an OpenPlant drawing with the Plant Project Database. This synchronization id is only applied to ECClasses that are not relationship classes. Exchange needs the ReferenceTypeRelationship custom attribute on a relationship class so that it can be compared based on the Synchronization ID of its source and target classes.
↑ Main OPPID - How to use the Class Editor Mapping Extension for the Plant Project Database