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
Creating precedence set - updated.png


Example

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:


Source1

Source2

Dataset Precedence value

150

100

Attribute - Manufacturer

20

100 (default dataset value)

Attribute - MarketVersion

20

100 (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. 

CMDB internal core attributes

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

Important

  • 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.

Precedence association sets.png

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.
    Std tab.png
  2. In the precedence set edit area, edit the merge precedence values.
    Edit Std precedence_non-baseelement.png
  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.
    Precedence exceptions tab.png

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


    The precedence set edit area is displayed on the screen.
    Precedence set edit area_Ignore if null.png

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

  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.
    Precedence association sets.png
  3. View, create, or edit the merge ruleset for any of the datasets in the precedence set edit area.
    Precedence set edit area_Ignore if null.png 
  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