Installed with Asset Management

A number of tables, user roles, UI policies, script includes, client scripts, and business rules are installed with Asset Management.

Demo data is available with asset management. The demo data provides information such as users, specific assets, and individual stockrooms.

Tables

Asset Management includes the following tables.

Table 1. Asset Management tables
Table Description
Asset [alm_asset] Stores general, financial, and contractual information about assets.
Asset Entitlement [alm_entitlement_asset] Enables ServiceNow to categorize the Asset Entitlement table and enforce how entitlements behave.
Consumable [alm_consumable] Stores data about consumable assets (previously known as parts).
Default Stockroom [alm_user_stockroom] Stores the relationship between a user and their default stockroom.
Fixed Assets [alm_fixed_assets] Stores fixed assets, which are containers that can hold multiple assets.
Fixed asset to asset [m2m_fixed_asset_to_asset] Stores associations between fixed assets and assets.
Hardware [alm_hardware] Stores general, financial, and contractual information about hardware assets.
License Entitlement [alm_entitlement] Stores entitlements that permit users or machines to use a software license.
Software License [alm_license] Stores general, financial, and contractual information about software license assets.
Stock Rule [alm_stock_rule] Transfers stock or sends an email message to the asset manager when a specified asset drops below a set threshold.
Stockroom [alm_stockroom] Stores information about stockrooms.
Stockroom Model [alm_m2m_stockroom_model] Tracks all models that have ever been stocked in a stockroom. This table is automatically populated.
Stockroom Type [alm_stockroom_type] Stores general information about stockroom types.
Transfer Order [alm_transfer_order] Contains data about transfer orders, including the state and stockrooms.
Transfer Order Line [alm_transfer_order_line] Contains data about individual assets being shipped with a transfer order.
User Entitlement [alm_entitlement_user] Enables ServiceNow to categorize the User Entitlement table and enforce how entitlements behave.

User roles

Asset Management includes the following user roles.

Table 2. Asset Management user roles
Role Contains roles Description
asset (Asset Manager) category manager, contract manager, financial mgmt user, inventory user Can manage hardware and consumable assets ([alm_hardware] and [alm_consumable]). Asset manager cannot edit asset records that are created and updated automatically, but can read and delete the asset records when needed. Can create requests. Can create and delete stock information.
inventory_admin inventory user Can create and delete stock information. Can edit stock rules, stockrooms, and stockroom types.
inventory_user none Can access stock information. Can create and manage transfer orders.
sam contract manager, model manager, financial mgmt user Can create, edit, change, and manage software licenses. Can edit the Software model field on a discovery model. Can approve a model. Has full control of the Software Asset Management application. Controls the Software Asset Management IBM PVU Process Pack, if activated.

UI policies

Asset Management includes the following UI policies.

Table 3. Asset Management UI policies
Name Table Description
Hide asset tag and serial num [alm_asset] Hides the asset tag when the asset is pre-allocated and the quantity is greater than 1.
Hide/show parent stockroom on Stockroom Replenish [alm_stock_rule] Shows the Parent stockroom field only when the Restocking option field is set to Stockroom.
Make allocated to and assigned to mandatory. License Entitlement [alm_entitlement] Makes the Allocated to and Assigned to fields mandatory.
Make substatus read-only when not required [alm_asset] Sets the Substatus to read-only if the State is On order, In use, Consumed, or In maintenance.
Model bundle field hidden but present for UI Policy conditions purposes [alm_asset] Hides the Model Bundle field. Exists on page only for use by UI policies and client scripts.
Pre-allocated constraints [alm_asset] Hides unneeded fields and related lists when the asset is pre-allocated.
Quantity readonly until model and category qualify the asset and are not bundle [alm_asset] Sets the Quantity field to read-only for assets that are not consumable, software, or pre-allocated. Quantity is also read-only if the model or model category fields are empty.
Show 'Assigned to' [alm_asset] Shows the Assigned to field if the State field is notOn order, In stock, or In transit.
Show 'Reserved for' [alm_asset] Shows the Reserved for field if the State field is On order, In stock, or In transit.
Show 'Stockroom' [alm_asset] Shows the Stockroom field if either of the following conditions is true:
  • The State field is In stock and Substate is not Pre-allocated.
  • The Substate is Pre-allocated and Parent is empty.

Script includes

Asset Management includes the following script includes.

Table 4. Asset Management script includes
Name Description
AssetandCI Code for creating and managing the relationship between asset and CI records.
AssetAndCISynchronizer Synchronization code between asset and CI records.
AssetUtils Utility functions for asset management. Also checks if a license can be merged and then merges licenses if requirements are met.
AssetUtilsAJAX AJAX based utility functions for asset management. Call the AssetUtils script include from a client-side UI action.
Consumables Code to modify (for example, consume, split, and merge) consumables.
FixedAssetUtils Methods for rolling up fixed asset costs.
PortalFilters Filters used in the My Assets portal.
PreAllocatedAssets Code to modify pre-allocated assets.
StockRuleFilters Reference qualifier code for filtering options on reference fields on stock rules.
StockRuleTransfer Transfer order creation code for when stock rules are triggered.
TransferOrderDateTimeAjax Date comparison utility for transfer orders.
TransferOrderFilters Reference qualifier code for reference field filtering options on transfer orders.
TransferOrderFinder Finds an appropriate transfer order to put a transfer order line into.
TransferOrderHelper Function that checks if a transfer order has multiple transfer order lines.
TransferOrderLineFilters Reference qualifier code for reference field filtering options on transfer order lines.
TransferOrderReceiver Code for receiving a transfer order line.
TransferOrderReturn Code for returning a transfer order line.
TransferOrderStageHandler Code for changing transfer order stages and transfer order line stages.
TransferOrderStageHelper Helper method to get numeric stages for transfer orders and transfer order lines.

Client scripts

Asset Management includes the following client scripts.

Table 5. Asset Management client scripts
Name Table Description
Correct substatus [alm_asset] Updates the Substatus field when the Status field is modified.
Ensure no negative quantity [alm_asset] Clears the Quantity field when set to less than 1.
Error on pre-allocated substatus [alm_consumable] Prevents Substatus field from being set to Pre-allocated for consumable assets. Also displays an error message.
Error on pre-allocated substatus [alm_license] Prevents Substatus field from being set to Pre-allocated for license assets. Also displays an error message.
Null out allocated_to [alm_entitlement] Does the following when the Assigned to field is set:
  • Clears the Allocated to field and makes it not mandatory.
  • Makes the Assigned to field mandatory.
Null out assigned_to [alm_entitlement] Does the following when the Allocated to field is set:
  • Clears the Assigned to field and makes it not mandatory.
  • Makes the Allocated to field mandatory.
Salvage must be less than cost [alm_asset] Displays a warning if a salvage value greater than the cost of an asset is entered.
Set Cost of the Asset [alm_asset] Populates the Cost field when the Model field is set.
Set Loc/CC/Dep/Com from assigned to [alm_asset] Populates the Location, Cost center, Department, and Company fields when the Assigned to field is set.
Set Location from stockroom [alm_asset] Populates the Location field when the Stockroom field is set.
Update From Location from Stockroom [alm_transfer_order] Populates the From location field when the From stockroom field is set.
Update Model and Quantity based on Asset [alm_transfer_order_line] Populates the Model field when the Asset field is set. If the asset is a pre-allocated asset, this client script also populates the Quantity field.
Update To Location from Stockroom [alm_transfer_order] Populates the To location field when the To stockroom field is set.
Update UI on load and model change [alm_transfer_order_line] Runs checks, and updates the user interface, when the transfer order line form is loaded and when a model is selected.
Validate Delivery by Date [alm_transfer_order] Validates that the delivery date is in the future.
Verify Stock Available [alm_transfer_order_line] Verifies that stock exists to fulfill the quantity requested.
Verify Stock Available (Stockroom) [alm_transfer_order_line] Verifies that stock exists to fulfill the quantity requested when the From stockroom value changes.

Business rules

Asset Management includes the following business rules.

Table 6. Asset Management business rules
Name Table Description
Allocated more licenses than rights Software License [alm_license] Prevents creation or update of a license if the number of licenses allocated is larger than the total rights.
Asset Retirement Asset [alm_asset] Clears the Assigned to, Stockroom, and Reserved for fields and sets the retirement date to the current time when the asset is retired.
Automatically Change TOL State Transfer Order Line [alm_transfer_order_line] If a transfer order has the same From stockroom and To stockroom and it is a personal stockroom, this business rule:
  • Sets the transfer order line Stage to Delivered.
  • Sets the asset Substate to Reserved.
If a transfer order has the same From stockroom and To stockroom and it is not a personal stockroom, this business rule:
  • Sets the transfer order Stage to Received.
  • Sets the asset Substate to Pending transfer.
Build bundle components on Insert Asset [alm_asset] Creates assets for the components related to a bundle if the model of the created asset is a bundle.
Clear Assigned To on update Asset [alm_asset] Clears the Assigned to field if the State field changes to On order, In stock, or In transit.
Clear fields irrelevant for preallocated Asset [alm_asset] Clears the value of fields that are irrelevant for pre-allocated assets.
Create Asset on insert Configuration Items [cmdb_ci] Creates a corresponding asset when a new configuration item with no asset is created.
Create asset on model change Configuration Items [cmdb_ci] Creates a new associated asset when the Model ID field changes.
Create CI on insert Asset [alm_asset] Creates a corresponding configuration item when a new asset with no configuration item is created.
Create Stockroom Model Relation Asset [alm_asset] Creates a record (if none already exists) in the Stockroom Model table indicating the stockroom that holds the model when an asset is created or updated.
Delete all Transfer Order Lines Transfer Order [alm_transfer_order] Deletes all related transfer order lines when a transfer order is deleted.
Ensure Entitlements do not exceed rights License Entitlement [alm_entitlement] Checks that the total number of entitlements for the related license does not exceed the number of rights given by the license when an entitlement is created.
GenerateAssets Model Categories [cmdb_model_category] Executes a scheduled script job to create assets for configuration items.
Inherit information from parent Asset [alm_asset] Assigns some parent values to the asset when assigning a new parent to an asset.
Managed Stockroom for Vendor Stock Rule [alm_stock_rule] Validates that a vendor replenishing stock rule has a stockroom selected and the stockroom has an associated manager with a valid email address.
Mandate allocated to or assigned to License Entitlement [alm_entitlement] Makes a value in either the Allocated to field or the Assigned to field mandatory.
Merge Records Consumable [alm_consumable] Merges consumables that have matching fields and are not In Transit into one record containing the total count.
Null out asset on insert and stay Configuration Items [cmdb_ci] Clears the Asset field on insert if the field contains an asset that has a CI.
Null out Ci on insert and stay Asset [alm_asset] Nulls out the asset field so a new asset is created for the CI if an insert is performed on an existing CI.
Populate reserved for field Transfer Order Line [alm_transfer_order_line] If the transfer order line has an associated request line, this business rule populates the associated asset's Reserved for field with the appropriate information from the request line.
Push Status to Asset/Consumable Transfer Order Line [alm_transfer_order_line] Modifies the corresponding asset to reflect the current state of transit when a transfer order line moves to another state.
Release Asset on TOL cancel/delete Transfer Order Line [alm_transfer_order_line] Places the corresponding asset back into stock and unsources the part requirement when a transfer order line in the draft state is canceled or deleted.
Rollup TOL cancellation to TO Transfer Order Line [alm_transfer_order_line] Signals to the corresponding transfer order that the transfer order line has been canceled.
Salvage value must be less than cost Asset [alm_asset] Prevents saving an asset record if the salvage value is greater than the cost.
Sanity check on pre-allocated Asset [alm_asset] Prevents creation or update of pre-allocated assets if they do not satisfy the conditions to be pre-allocated.
Set Class License Entitlement [alm_entitlement] Sets the class for this entitlement depending on if the entitlement is assigned or allocated.
Set Transfer Order Type Transfer Order [alm_transfer_order] Sets the type of the transfer order depending on whether there is a related service order or work order task.
Sync model category Product Models [cmdb_model] When the model category changes, this business rule creates assets if they did not previously exist for configuration items associated with the model.
Transfer Order Stockroom Rules Transfer Order [alm_transfer_order] Prevents the From stockroom field from being changed if the transfer order has multiple transfer order lines.
Transition reserved to assigned Asset [alm_asset] Populates the Assigned to field with the value from the Reserved for field when the asset is in the appropriate state.
Trickle information down to components Asset [alm_asset] Updates components of an asset to reflect any changes that have been made to the asset record.
Update Asset fields on change Configuration Items [cmdb_ci] Synchronizes fields so changes made on the Configuration Item form trigger the same update on the corresponding Asset form, ensuring consistent reporting. ServiceNow recommends updating statuses on the Asset form.
Update CI fields on change Asset [alm_asset] Synchronizes fields so changes made on the Asset form trigger the same update on the corresponding Configuration Item form, ensuring consistent reporting.
Update location as needed Asset [alm_asset] Updates the location of the asset, if the asset is set to a new stockroom or assigned to a new user.
Validate Field Agent Type Stockroom [alm_stockroom] Ensures you do not create a stockroom of type Field Agent without Work Management or Field Service Management activated. Allows for only one personal stockroom per user.
Validate TOL and check availability Transfer Order Line [alm_transfer_order_line] Validates changes made to the transfer order line and checks availability of the assets to be transferred in the specified stockroom.
Validate transfer order Transfer Order [alm_transfer_order] Validates that the Delivery by date is not earlier than the current date.
Validate Unique Users Default Stockroom [alm_user_stockroom] Prevents the creation of multiple records with the same user.
Verify Entitlement (Allocated) License Entitlement [alm_entitlement] Ensures that the allocation of the entitlement follows the allocation condition on the license, if a condition exists.
Verify Entitlement (Assigned) License Entitlement [alm_entitlement] Ensures that the assignee of the entitlement follows the assignment condition on the license, if a condition exists.
Verify Entitlements (Allocated) Software License [alm_license] Ensures that the allocations of all the license's entitlements follow the allocation condition on the license, if a condition exists.
Verify Entitlements (Assigned) Software License [alm_license] Ensures that the assignees of all the license's entitlements follow the assignment condition on the license, if a condition exists.
Verify Not Field Agent Default Stockroom [alm_user_stockroom] Verifies that the selected default stockroom is not of the Field Agent type.