We're reclaiming inactive PDIs to keep them available for active builders. Learn what's changing, who's affected, and how to protect your work. Read More

Asset parts repair process in HAM

vyeturi
Kilo Explorer

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

2 REPLIES 2

pr8172510
Kilo Sage

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).

 

Vikram Reddy
Tera Guru

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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