After imaging new computers and merging them with pre-existing asset records created via Asset Management Procurement (Setting Up the Procurement Environment), administrators observe:
The System Number is initially populated in the pre-staged asset.
After the merge process:
The computer name is correctly set using the System Number.
However, the System Number field becomes empty in the SMP Console.
Administrators expect the System Number from the Procurement record to be preserved after merge.
ITMS 8.7.x, 8.8.x
Asset Management Solution
Inventory Solution
This issue is caused by how inventory data is synchronized and merged into CMDB data classes, specifically:
The BIOS Element inventory data class feeds into the Identity data class.
During Inventory to Asset Synchronization, an empty string value (not NULL) from inventory is treated as a valid value.
During the merge:
The destination resource already contains this empty string value.
Because it is considered a real value, it does not get overwritten by the valid System Number from the source resource.
As a result, the System Number becomes empty after merge.
This behavior has been confirmed by Development and is reproducible.
Asset is created via Procurement.
System Number is manually populated (used later as hostname).
| Field | Value |
|---|---|
| System Number | Populated |
| Managed | No |
| Inventory | Not yet collected |
Agent is installed.
Hardware inventory runs.
Inventory includes BIOS Element data class.
This step is critical.
Data from inventory tables (e.g., Inv_SW_BIOS_Element) is synchronized into CMDB data classes.
The Identity data class is populated.
Issue behavior:
If BIOS Element contains an empty string value,
It is propagated into Identity as:
System Number = ""Managed computer merges with pre-staged Procurement asset.
During merge:
Destination resource already contains:
System Number = ""Source resource contains:
System Number = "ValidValue"Because empty string is treated as a valid value:
The merge logic does NOT overwrite it.
Result:
Final merged resource:
System Number = ""| Behavior | Explanation |
|---|---|
| Empty string persists | Treated as valid value, not NULL |
| Source value ignored | Merge does not overwrite existing values |
| System Number lost | Due to prior synchronization, not merge failure |
This issue has been targeted for a fix under our ITMS 8.8.2 release.
Run the following queries before merge:
SELECT * FROM [dbo].[Inv_SW_BIOS_Element]WHERE _ResourceGuid = '<Resource GUID>'
SELECT * FROM [dbo].[Inv_Identity]WHERE _ResourceGuid = '<Resource GUID>'
| Table | Observation |
|---|---|
| Inv_SW_BIOS_Element | May contain empty string values |
| Inv_Identity | System Number = '' (empty string) |
Navigate:
Manage > Policies > Discovery and Inventory > Inventory
Steps:
Edit inventory policy (Full or Delta Inventory)
Click Advanced
Go to Data Class tab
Navigate to:
Uncheck:
Save changes
This prevents empty string values from being introduced.
Existing data is not removed automatically.
Testing must be done on new resources.
After applying workaround or fix:
Provision a new device.
Run full workflow:
Inventory
Inventory to Asset Sync
Merge
Confirm:
System Number remains populated after merge.