Asset parts repair process in HAM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
HI Team,
We currently have an asset repair process in OOB , but not a process for repairing individual asset parts in OOB. Our customer has requested a requirement where, during asset part selection in an asset repair request, the repair can proceed only if the repair cost is less than 60% of the actual asset part cost.
How can we implement this in ServiceNow? Could you please suggest the best approach?
Regards,
Venkatesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
Hi @Venkatesh,
there isn't an OOTB capability to validate repairs for individual asset parts based on a configurable cost threshold.
- Store or retrieve the actual cost of the selected asset part.
- Capture the estimated repair cost as part of the repair request.
- Implement a server-side Business Rule or Flow Designer to compare the estimated repair cost with 60% of the actual part cost.
- If the repair cost is less than 60%, allow the repair process to continue.
- If the repair cost is 60% or greater, either prevent the repair from proceeding or route it for approval or replacement, depending on your business process.
Using a server-side validation ensures the rule is enforced regardless of how the record is created or updated (UI, API, import, or Flow).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
46m ago
Hey @vyeturi,
You already nailed the gap correctly: HAM's OOB repair flow runs at the whole-asset level. A repair order and its repair order lines get created against alm_hardware records from the Inventory view of the Hardware Asset Workspace, there is no native concept of a "part" with its own repair leg. So this has to be built, not configured.
The approach I'd take:
- Model each part as its own alm_hardware record (own model, cost, serial) linked to the parent asset with a Contains::Contained by CMDB relationship, so the part carries its own actual cost independent of the parent asset's cost.
- Build a custom catalog item or record producer for the part repair request that references the part asset and captures an estimated repair cost variable.
- Add a catalog client script on that cost variable that pulls the part's cost field and warns the user immediately if the entered amount is at or above 60% of it.
- Back it with a before-insert/update Business Rule on the request table that hard-blocks the record if repair cost is greater than or equal to 60% of the part's cost, don't rely on the client script alone since it's bypassable via direct table access or REST.
Test this against a couple of real part categories in a sub-prod instance first, and check whether cost on those part records is fed by a model default or a transform map before you wire the validation to it, that's usually where the math goes wrong.
Thank you,
Vikram Karety
Octigo Solutions INC