Delivered with Smart P&ID, the following constraint utilities help you correct any database constraint exceptions reported in the Database Constraint Exception Report.
In general, each utility attempts to repair the constraint violation. However, in some cases the violation cannot be cleaned up by the utility and the item is band-aided in the drawing. This situation is noted and logged in each utility's corresponding log file. For more information, see Constraint Utilities Log Files.
You must manually fix any band-aided item in a drawing by deleting the item and replacing it. If you have difficulty finding the band-aided items, click Tools > Options in Smart P&ID, then select the Display as Printed option on the Options > General tab.
cmdnotconnectedcomps.dll
Repairs items that have a relationship to a pipe run or signal run (sp_piperunid or sp_signalrunid are not null), but are not referenced by a corresponding connector. If the relationship cannot be repaired, you must delete it and replace it.
cmdLPCheck.dll
Checks for LabelPersist records pointing to a representation that does not exist. If the graphical label is watching a graphic, the database is updated to match, thus repairing the LabelPersist. If the label cannot be repaired, the utility band-aids it. You should delete and replace these band-aided items.
cmdRepOIDCheck.dll
Checks for symbol records with a null graphic OID. If the graphical symbol exists, the utility repairs the item by updating the database with its graphic OID value. If the graphical symbol does not exist, the utility sets the InStockpile flag = True to repair the item.
ConnectorItem12.dll
Checks for connector records pointing to a symbol that does not exist. If the graphical connector is connected to a symbol, the utility repairs the connector by updating the database to match. If the connector cannot be repaired, the utility band-aids it. You should delete and replace these band-aided items.
OPCFK.dll
Checks for OPC records with a partner that does not exist. If the graphical OPC exists, fix it. You should delete these items.
PointIndexCheck.dll
Checks for piping point records and signal point records with non-unique indices or point numbers, then repairs the item by deleting from the database whichever one of the duplicate points is not loaded into the cache.
RelationshipOIDMacro.dll
Checks for relationship records with a null graphic OID. If the graphical relationship indicator exists, the utility repairs the item by updating the database with its graphic OID value. If the graphical relationship indicator does not exist, the utility deletes the relationship from the database.
RepairBadConnector.dll
Checks for connectors with the same start and end objects and connectors with the wrong number of vertices. The utility band-aids the graphical connector, which you should delete.
RepairNullFileNameCmd.dll
Checks for LabelPersist records with a null file name value.
-
If the number of LabelPersist records equals the number of SmartLabel objects locked to the watched symbol, the utility repairs the LabelPersist record by updating the filename value for the LabelPersist.
-
If the number of LabelPersist records does not equal the number of SmartLabel objects locked to the watched symbol, then the utility band-aids the watched symbol. You should delete band-aided items.
-
For the remaining LabelPersist records with a null filename, if the graphic exists, the utility band-aids it. You should delete band-aided items. If the graphic does not exist, the utility deletes the representation from the database.
RepairOrphanedNozzleCmd.dll
Checks for the following situations.
Nozzle records without a Parent
If the Nozzle graphic is not in the drawing, the utility repairs the nozzle by setting the Instockpile flag = True. If the Nozzle graphic is in the drawing, the utility tries to set either the SP_EquipmentID or SP_PartOfID based on the graphic relationship. The graphic parent must be an equipment or equipment component for the relationship to be re-established. If the relationship cannot be re-established, the utility band-aids it. You should delete band-aided items.
Nozzles associated via SP_EquipmentID to a Parent in the stockpile
If the Nozzle graphic is not in the drawing, the utility repairs the Nozzle by setting the Instockpile flag = True. If the Nozzle graphic is in the drawing, the utility band-aids it. You should delete band-aided items.
Nozzles associated via SP_PartOfID to a Parent in the stockpile
If the Nozzle graphic is not in the drawing, the utility repairs the Nozzle by setting Instockpile flag = True. If the Nozzle graphic is in the drawing, the utility band-aids it. You should delete band-aided items.
Nozzles that are a Part of a Run
The utility clears the SP_PartOfID attribute. If the Nozzle graphic is not in the drawing, the utility repairs the Nozzle by setting the Instockpile flag = True. If the Nozzle graphic is in the drawing, the utility band-aids it. You should delete band-aided items.