This document contains official content from the BMC Software Knowledge Base. It is automatically updated when the knowledge article is modified.
BMC Atrium Core - CMDB
BMC Atrium Core
BMC Atrium Core - CMDB - Any Version
You may see the following errors as symptoms in RE Job logs:
Note: In the error sample above the "OI-............." and "RE-............." has been substituted from the original. Your log would actually have a real value there and needs to have the same transaction id (TID).
This error is displayed when CI's are not "complete". By that we mean is that one half of the composite record is missing. Any given CI record is a composite of more than one records joined by a view. This is done for various reasons.
One part of the record is in the BMC_BaseElement container (table) and the other part in BMC.CORE:BMC_Product_ table. The same is true for child classes of the BMC.CORE BaseRelationship.
The joined view displays these records together (as one record perceived by the end user and consuming applications) and uses a combined RequestId to show them as one record when viewed by an operator in the BMC_Product join or AST:Product (but not limited to Product). These records are joined by the RequestId.
For example a record in BMC.CORE:BMC_ComputerSystem_ has a RequestId that is joined together with the matching record in BMC.CORE:BMC_BaseElement by having both RequestIds in the BMC.CORE:BMC_ComputerSystem view. You'll see that in the ComputerSystem class there are 2 RequestId's divided by a pipe "|". That is a composite of the two RequestId's from the two classes. This applies to all child classes of BaseElement and BaseRelationship.
What this means for Reconciliation is that it can't "find" the full composite record. This needs to be fixed for each error you find in RE Job logs.
Open BMC.CORE:BMC_BaseElement form with AR User Tool or Midtier form equivalent and search it using the ReconciliationIdentity (REID) found in the ERROR.
You should find two matches within context of the job. For example if the job merges ADDM CIs to BMC.ASSET then you should find 2 CIs. One in BMC.ADDM dataset and the other in BMC.ASSET.
Note: If you have more than one discovery sources then you might find more than just these two.
Next open BMC.CORE:BMC_Product class form and do the same search using the ReconciliationIdentity found in the ERROR.
You will find that only the source record is found using the ReconciliationIdentity. This is the root cause for the missing ID error. The CI can't be merged by Reconciliation engine because one side of the composite record is already there while the other "half" is missing.
The same can be done with the InstanceId found in the ERROR 120006. Open the BMC.CORE:BMC_Product class form and search for the CI. It will indeed not be found. However, it will be found if searched from the BMC.CORE:BMC_BaseElement form.
We're not quite sure how this occurs and we're looking into it. However, our speculation is that CMDB Admins are using the BMC.CORE:BMC_Product_ form to delete the records rather than using the BMC.CORE:BMC_Product (View) and hence leaving the "right" side of the CIs in place.
Other root cause could be due to deleting data by using SQL (Database) client. Using such method bypasses workflow and hence leaves the "other" half of the composite record in place.
Please always use the proper view to delete records. Also, please note that this is not limited to the BMC_Product class. Any class can be impacted by these unsupported practices.
Best practice is to set the CI to be soft deleted with MarkAsDeleted = Yes and always use AR Client that follows workflow. Then use the Purge activity of Reconciliation to remove these records from database permanently.
Please see the list of attached SQL queries that should expose such records. Any result from those queries will need to be addressed.