Importing Assets to existing hardware model
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-02-2020 09:57 AM
I have a question and it's probably easy, but I am overlooking something. I am using the hardware asset template to upload assets to our stockrooms. When I do this it is not correlating the asset with the hardware model. From what I see it is generating a generic hardware model. "ThinkPad T590" without a manufacturer or category. The model doesn't actually exist in the models table. It is not adding the asset to the ThinkPad T590 model in production that was created manually. What am I missing?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-10-2022 02:21 PM
how do you match on Model if multiple models may have the same name but be different due to different config/model number variants?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-10-2022 02:41 PM
Matching on Model is easiest by Model Number. Make sure there is a unique value in the Model Number attribute, then put that value in your spreadsheet. Keeping your model numbers accurate will also help if you are a HAM customer or intend to purchase down the road.
Regarding a coalesce value for the Asset record, it is easiest to coalesce on the Asset Tag value instead of trying to match the system-generated Display name.
Additionally, I've found it is simpler to create an Import Set instead of using the template. Doing so allows you to reference the related the Model Number attribute on the Model record.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-11-2022 03:32 PM
thanks for that response Daniel, i think it gets me closer but still struggling with the following objective.
i have a sheet of assets, most are probably new records but if the serial number exists i do want it to get matched for and that asset record updated. can i do that just in one transform map (without using a script) or do i need to use two maps, one for inserting and one for updating?
based on DOCS seems like i shouldnt need two maps. in the section about Coalesce:
If an existing record with a matching value in the target table is found, that record is updated. If no matching record is found, then a new record is created in the target table.
right now my map with coalesce on Serial number, and with a model number reference value set for model, is only updating if found, it is not inserting new asset records when serial is not found. so i figure i'm just overlooking/misunderstanding how its supposed to work. appreciate your feedback as to what i'm probably doing wrong as you have time.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-11-2022 05:01 PM
Hi Les,
By default, when coalesce values do not match an existing record, the system should create a record. Note that concept in the documentation found here. If that is not working as expected, you may need to also supply a coalesce value to the Model Category and any other "mandatory" attribute on the table you are importing into.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-11-2022 10:41 PM
Hi Les,
If you have a sheet of assets (assuming they are generated outside of SN), the serial numbers exist in SN because:
The CI's were discovered but assets were never created because the option that is set by default to create an asset record when a CI is network-discovered & created was turned off?
I assumed this first point based on your second sentence: "I have a sheet of assets, most are probably new records but if the serial number exists I do want it to get matched for and that asset record updated."
So if the assets were never created initially and you want to have them matched, determine the CI class that those CI's are associated with (ie: cmdb_ci_computer) and make sure that a model ID (not unique) is specified on that record that is specific to that device; the manufacturer, make and a model are all on that record with also a unique serial number.
All of which should be auto-discovered through a tool (like SCCM-Service Graph Connector) and imported through the IRE (Identification Reconciliation Engine used for normalizing discovery data in addition to matching and avoiding duplication errors from source data) in a job to load the CI Hardware tables with those discovered installed devices and also on the asset record you wish to match. Then ensure that the "model" in the ci_computer class has an entry for that same model category (we are talking here about ensuring that the ASSET MODEL CATEGORY {computer} in this case has that model name = model ID (for asset/CI logically synchronizing) has an entry in the (cmdb_product_hardware_model) table.
You should see the related record down below on the product model table for all of the models associated with that model category if it exists. If not create it and then add it to the model category in that product model table.
For New assets with serial numbers with no matches, import the assets and then let the transform run through the IRE to create CI's, as the IRE will not create duplicate CI's if a serial number (on an existing CI) already exists for that asset- assuming you set coalesce on the serial number.
Remember also that with a CI existing, if it is already logically mapped to an asset, you can on the CI record add an asset with a different but existing name to that CI record manually but not be able to add a duplicate CI on an asset record (the converse of what I just described previously). That is why I recommend using the iRE to resolve/prevent duplication for having multiple assets associated with a single CI and serial number which could potentially happen manually.
With regard to your portion of the question about "shouldn't the asset record be created if it doesn't exist in the target table". Well, the same value that can be set in the Admin properties with Asset Management for preventing assets from being created when new ci's are created also has a flip side that when new assets are created, ci's can be turned off for automatically being created.
The suggestions provided by others would lead to some solutions but I recommend looking at what the settings are at the platform level for the admin properties for SAMpro prior to comparing lists of the table data. You'll go crazy doing that ETL otherwise.
Hope this helps clarify the first point for you.
Phil