Share This:


Good Morning Asset Community and Happy Friday!

 

I've seen this particular issue crop up from time to time so I thought it might make a good post. The scenario is that you've recently imported a collection of CIs into your CMDB, many of which are in an "In Inventory" status. You open up one of these inventoried assets in Asset Management and attempt to move it to "Deployed," but instead you get an error:

 

You need to go to Manage Inventory to move the CI out of Inventory. (ARERR 45115)

 

You go back to the Asset Management Console, click Manage Inventory, and search for the CI. Except its not there. What happened? How do I update my assets without this error?

 

The "In Inventory" status carries with it special processes that expect certain back-end forms to be populated. Other than the CI itself, there are three things you must consider if you are generating inventoried CIs outside the manual GUI interface:

 

  • Inventory Locations
  • Inventory Quantities
  • Relationships

 

Inventory Locations

 

You'll notice when you update a CI to a status of "In Inventory" manually, you are prompted to identify an Inventory Location for the asset. An Inventory Location is actually another CI in the CMDB that represents a location where assets are stored in inventory. It can be a warehouse, a room, a shelf, or even a bin. Whatever it is, if you plan to use the inventory functionality you must represent these locations by creating a CI record for them. You can create this by using the "Manage CIs" function from the Asset Management Console, selecting "System->Inventory Location," and then completing the information on the Inventory Location form that displays. You can also import your locations directly into the AST:InventoryStorage form.

 

Inventory Quantities

 

Once you've created or identified the Inventory Locations where the assets will be stored, you'll need to generate cooresponding records in the AST:InventoryQuantity form. For simplicity sake let's say you're linking a laptop stored in the Computer System class to a newly created Inventory Location. To create these records you'll either need to enter them manually in the AST:InventoryQuantity form or use the Remedy Data Import tool (or other import method) with the following mappings:

 

Field NameInputExample
NameName of the Assetlaptop_001

AssetClassID

Class ID of the Asset

BMC_COMPUTERSYSTEM

User Display Object Name

CI Type of the Asset

Computer System
AssetInstanceID

Reconciliation Identity of the Asset

RE12345
StorageInstanceIDInstance ID of the Inventory LocationAO12345
CompanyName of the CompanyCalbro Services
StorageClassIDClass ID of the AssetBMC_INVENTORYSTORAGE
Lead Time in DaysLead Time of Order0
Reorder LevelQuantity when to Reorder0
Suggested Reorder QuantityHow many to Reorder0
Quantity In StockQuantity Available1

 

As you may have already noticed you'll need certain information from both the asset and the inventory location. A lot of this particular information cannot be viewed from the AST form OOTB but if you access it's CMDB counterpart, the fields are visible without customization. If you are building several of these records it would be best to run a report of the necessary fields and export the information out of Remedy as opposed to copy and paste. Once these records are generated then you can move on to relationships.

 

Relationships

 

The last record you'll need to create is the CMDB relationship between the Asset and the Inventory Location. This is done in the BMC.CORE:BMC_Dependency form and, like the AST:InventoryQuantity above, you'll need to input these records either manually or through import with the following mappings:

 

FieldMapping
ClassIdBMC_INVENTORYCOMPUTERSYSTEMS
DatasetIdBMC.ASSET.SANDBOX or other staging dataset
Destination.ClassIdClass ID of the Asset (i.e. BMC_COMPUTERSYSTEM)
Destination.DatasetIdDataset of Asset (i.e. BMC.ASSET)
Destination.InstanceIdInstance ID of the Asset
Destination.ReconciliationIdentityReconciliation Identity of the Asset
NameINVENTORYCOMPUTERSYSTEMS
ReconciliationIdentity0
Source.ClassIdBMC_INVENTORYSTORAGE
Source.DatasetIdDataset of Inventory Location (i.e. BMC.ASSET)
Source.InstanceIdInstance ID of the Inventory Location
Source.ReconciliationIdentityReconciliation Identity of the Inventory Location

 

After creating these records you will need to run the reconciliation job for the dataset you created them in (BMC.ASSET.SANDBOX in the example above), otherwise you wont be able to see the relationship represented in the asset's Relationship tab.

 

Once you have the Inventory Locations, the Inventory Quantity records, and the relationships generated, you should be able to update your CI as if it where created by the GUI! I hope this is helpful to some of you and if you have any questions please post them in the comments below.