This documentation supports the 21.3 version of BMC Helix CMDB.

To view an earlier version, select the version from the Product version menu.

Creating precedence sets and associations for reconciliation merge activities

BMC Helix CMDB includes standard identification and precedence rules for setting precedence values for datasets, classes, or attributes before running a reconciliation merge activity. 

If the standard rules are not suitable, a configuration manager can edit the standard rules or create a custom precedence set with custom precedence values at dataset, class, and attribute levels.

Precedence sets and values

A precedence value determines the data that is written to the target dataset from the source datasets. A precedence set defines the precedence value for a dataset in a merge activity. Each source dataset is paired with a precedence set. This set serves as the default precedence value for all classes and attributes in that dataset. If precedence value is not specifically assigned, the classes and attributes in a dataset carry the value set at the dataset level. When the merge activity runs, if the dataset value and the class or attribute value are not the same, the precedence value assigned at the attribute level is considered. Class-level precedence values apply to all attributes of the class. By default, the dataset precedence value is 100. You can change the precedence values for classes and attributes to override the value set at the dataset level and class level.

The following image shows how precedence values determine the data that is populated into the production dataset during a merge activity. 

Specifying precedence values to attributes while merging datasets


Allen Allbrook wants to merge the data from the datasets Source1 and Source2 to the target dataset BMC.ASSET. Allen wants to merge all the data from Source1 except Manufacturer and MarketVersion attributes. From Source2 he wants only Manufacturer and MarketVersion attributes to merge to the target dataset.

He sets the precedence values for the 2 source datasets as follows:

Dataset Precedence value150100
Attribute - Manufacturer 20100 (default dataset value)
Attribute - MarketVersion 20100 (default dataset value)

The default precedence value of BMC.ASSET is 100. When the merge activity runs, all data from Source1 and only 2 attributes from Source2 are merged into BMC.ASSET.

Precedence values do not apply to some core attributes. 

AssignedTo, AttributeDataSourceList, ClassId, CreateDate, DatasetId, InstanceId, LastModifiedBy, ModifiedDate, NormalizationStatus, ReconciliationIdentity, ReconciliationMergeStatus, Submitter.


  • In the BMC.ASSET dataset, values for configuration item (CI) attributes set in BMC Helix ITSM: Smart IT or BMC Helix ITSM: Asset Management take precedence over CMDB Explorer changes to those CIs.
  • If a merge activity is run for the first time to populate data in a target dataset, the precedence values assigned to the source datasets do not apply. For example, consider a scenario where there are multiple reconciliation jobs carrying the same source and target datasets. The data from the source dataset that is present in the job which is run first, is populated in the target dataset, even if the precedence value of the source dataset might be lower than the other datasets in the selected precedence set.

    In such a case, the precedence value of the datasets is overlooked and the sequence in which a job is run is important. However, subsequent merge activities will consider the assigned precedence values.

Precedence associations for reconciliation merge activities

A precedence association links a dataset with a precedence set and can be reused among merge activities.

Each merge activity is linked to one precedence association that determines the precedence for each dataset that participates in the activity.

The following figure shows a sample list of existing associations that you can choose from for a merge activity.

Setting the merge precedence when reconciling multiple datasets to a target dataset

When you merge the data from multiple source datasets into a target dataset, you can select the classes and attributes from a source dataset that can be merged.

Best practice

  • Use the highest class level applicable to take advantage of inheritance. If you make changes to an attribute but another dataset with higher merge precedence has provided a value for this attribute, your changes to the attribute are not promoted.
    If an attribute in the child class is configured with different precedence value than that of the parent class, the inheritance will not work in such cases.
  • A precedence set can be paired with different datasets in different activities. Likewise, a given dataset can be paired with different precedence association sets in different activities. Therefore, design your precedence sets for flexibility. You will need to create fewer precedence sets.
  • Modifying the merge precedence set for the Sandbox dataset can impact the BMC Asset Management integrity. Before modifying the default behavior, you must carefully evaluate these changes. For example, lowering the precedence settings to the same level as the personal Sandbox.

  • If the CI that you have created has values for location attribute, you must set the correct precedence values for location attributes so that the value is not overridden by the providers who are not authorized to populate the location attribute.

To edit the standard merge precedence set

  1. In CMDB Portal, select Configurations > Manage Reconciliation Rules > Precedence Exceptions.
    The Standard tab displays the standard precedence rules.
  2. In the precedence set edit area, edit the merge precedence values.
  3. Save the changes.

To create a custom merge precedence set for merging datasets.

  1. In CMDB Portal, select Configurations > Manage Reconciliation Rules > Precedence Exceptions.

  2. Select the Custom tab.
  3. To create a new precedence set, click Add Precedence Set and assign a name to the precedence set.
  4. Select the dataset for which you want to create a merge ruleset and set the precedence values.

    The precedence set edit area is displayed on the screen.

    In the precedence set edit area, enter the required information in the following fields:

    Merge Ruleset Name

    Type a unique name for the precedence set. The name cannot contain any characters that are not allowed in file names for the operating system of your server. For example, on a Windows server, your job name cannot contain the following characters: \ / : * ? " < > |.

    Merge OrderWhen multiple source datasets have the same precedence value, the Merge Order value determines the dataset that is merged to the target dataset. The lower the value of the Merge Order, the higher the priority for that dataset. You can assign values starting from 0 (Zero).

    Explicit Precedence

    Select this option to apply explicit precedence entries for classes and attributes. You must add precedence rules for the classes and attributes.

    Clear this option to apply this precedence set to all classes and attributes for which a precedence is not defined.

    Ignore If Null

    Define how to handle empty, or NULL, attributes in the dataset associated with the precedence set. The Ignore if Null setting at the precedence set level is overridden by the same setting in any precedences defined for the set.

    Note: This field is visible for custom jobs and not for standard jobs.

    Selected — If the value of an attribute in this dataset is NULL and the precedence value for this dataset is the highest, the merge activity ignores the dataset. NULL value is not written to the production dataset.
    Cleared — Applies the precedence value for this dataset regardless of whether an attribute value is NULL.

    Warning: If used incorrectly, Ignore if Null can cause instances that cannot be deleted.
    Append to lists

    Specify whether the value of the list-formatted character attributes from the source datasets should be overwritten or appended to the value of the corresponding attribute in the production dataset.

    Selected - The values from the source dataset are appended to the existing value in the production dataset.

    Cleared - The value in the production dataset is overwritten by the value from the source dataset.


    • A list-formatted character attribute is a character attribute that holds a list of values in a specific format.
    • Append to lists is dependent on the precedence values for the precedence set. For example, if the precedence set of a source dataset has the highest precedence value for a list-formatted character attribute, the value from the source dataset appends to the corresponding attribute value in the production dataset.
    • If there are duplicate entries, no value is appended.

    Precedence Value

    Enter or select a value for the dataset that uses this precedence set. Assign a value from 0 through 1000, inclusive, with higher numbers meaning a higher priority. The precedence value is overridden by the value in any other precedence defined for the set.


    Select the class to which the precedence value must apply.


    If the precedence is for an attribute, select it from the Attribute list and enter a precedence value.

    StatusSelect Active to ensure that the precedence value is considered for the merge activity. You can later disable the activity by changing it to Inactive.
  5. After adding the precedence values, click Save to save the merge ruleset for the selected dataset.

Similarly, you can set precedence values for multiple datasets within a precedence association set.

You can now relate the precedence set to a dataset by creating a precedence association.

To add a dataset to an existing precedence association set 

  1. In the Precedence Exception area, select Custom Select Association Set.
  2. From the list, select an existing custom precedence set.
  3. View, create, or edit the merge ruleset for any of the datasets in the precedence set edit area.
  4. If you make any changes to values in the selected precedence set, click Save to save your changes.

Where to go from here

Creating a reconciliation job

Was this page helpful? Yes No Submitting... Thank you