KB: BOM Publish Fails with Datastore Uniqueness Constraint Violation

Altium On-Prem Enterprise Server Altium On-Prem Enterprise Server
When publishing a Bill of Materials (BOM) from Altium to a PLM system, the publish process may fail with the error “A datastore uniqueness constraint violation…”. This occurs when multiple BOM items resolve to the same identifier and violate uniqueness requirements in the target PLM datastore. The issue is most commonly caused by logical designators being used in multi-channel designs, where identical logical designators exist across repeated channels, or by duplicate physical component designators in single-instance (non-multi-channel) designs. Resolving the issue requires either updating the PLM Publish configuration to use physical component designators or correcting duplicate component designators within the project before republishing the BOM.

Краткий обзор

When publishing a Bill of Materials (BOM) from Altium to a PLM system, the publish process may fail with the error “A datastore uniqueness constraint violation…”. This occurs when multiple BOM items resolve to the same identifier and violate uniqueness requirements in the target PLM datastore. The issue is most commonly caused by logical designators being used in multi-channel designs, where identical logical designators exist across repeated channels, or by duplicate physical component designators in single-instance (non-multi-channel) designs. Resolving the issue requires either updating the PLM Publish configuration to use physical component designators or correcting duplicate component designators within the project before republishing the BOM.
Узнайте больше с ИИ:

Solution Details

BOM Publish Stops With Validation Error

During BOM publishing from Altium to a PLM system, the publish process fails with the message “A datastore uniqueness constraint violation has occurred ...”. As a result, the BOM is not created or updated in the PLM system.

Altium PLM publish status panel showing project metadata and results; Publish to PLM reports Success, but Publish Completed Status is FAIL with error “datastore uniqueness constraint violation” and a linked log file.

Duplicate Identifiers Detected During Publish

The PLM publish process uses configurable XML templates to map design data and BOM attributes into the PLM system. If multiple BOM entries resolve to the same identifier, the PLM datastore rejects the publish operation.

In multi-channel designs, a single logical circuit is compiled into multiple physical component instances. While the logical designators may remain the same across repeated channels, each compiled physical component instance must have a unique physical designator. If the PLM publish configuration is based on logical designators rather than physical designators, duplicate BOM identifiers can be generated.

In single-instance (non-multi-channel) designs, the issue is typically caused by duplicate physical component designators within the project.

Select The Appropriate Resolution Method

  • For multi-channel designs, update the PLM Publish configuration to use physical component designators instead of logical designators.
  • For single-instance (non-multi-channel) designs, identify and correct duplicate physical component designators in the project.

Correct Designators And Republish BOM

  1. Determine whether the design is a multi-channel design or a single-instance design.

  2. If the design is multi-channel:

    1. Confirm that compiled components use unique physical designators with channel-specific identifiers such as R1_1, R1_2, R1_CH1, or R1_CH2.
    2. If the compiled design does not contain unique physical designators, review the project's multichannel naming scheme and designator format settings and adjust them as required.
    3. Open the compiled view of the project and compare logical and physical designators to verify which identifier is being used.
    4. Open the PLM Publish Configuration XML file.
    5. Navigate to the BOM attributes section.
    6. Locate the attribute currently mapped to the ReferenceDesignator.
    7. Replace the LogicalDesignator mapping with the physical Designator attribute.
    8. Save the modified XML file.
    9. Upload the updated file using PLM Configuration Sync.
    10. Re-run the BOM publish process.

    XML configuration comparison showing BOMAttribute ReferenceDesignator value changed from ${parameter.LogicalDesignator} to ${parameter.Designator}; Quantity and FindNumber entries remain unchanged.

  3. If the design is single-instance:

    1. Open the project in Altium Designer.
    2. Select Projects » Project Options.
    3. Open the Error Reporting tab.
    4. Under Violations Associated with Components, set Duplicate Part Designators to Error.
    5. Select OK and close the dialog.
    6. Compile or validate the project.
    7. Open the Messages panel.
    8. Resolve any reported duplicate part designator errors.
    9. For projects with many duplicate designators, use the schematic annotation tools to automatically assign unique designators where appropriate.

    Altium Messages panel listing errors and warnings, including “Duplicate Component Designators R7.” Schematic view shows two resistors labeled R7 on the same net, causing the error.

  4. As a preventative measure, validate the project and review BOM-related errors before initiating PLM publish.

References

Если вы обнаружили проблему, выделите текст/изображение и нажмитеCtrl + Enter, чтобы отправить нам свой отзыв.