Business Application Retirement Date

adamtoth
Tera Contributor

Hello,

 

How can I bring the date a Business Application was retired into a report/visualization? I do not want to use a filter for CI Status = Retired and then use the last updated on date as this is not accurate. Is there any simple way to do this?

 

Thank you,

 

Adam

2 REPLIES 2

Vikram Reddy
Tera Guru

Hi @adamtoth,

 

You're right to avoid sys_updated_on, and there genuinely is no retirement timestamp field on cmdb_ci_business_app or the base cmdb_ci, so you'll have to add one yourself. Before you do, pin down which "retired" you actually mean, because on a CSDM-activated instance there are two definitions in play and they don't always line up:

  • install_status = Retired: on cmdb_ci_business_app that's value 3, the base cmdb_ci choice list uses 7 for the same label, so don't assume the numbers match across tables
  • Life Cycle Stage = End of Life AND Life Cycle Stage Status = Retired: this is what CMDB Data Manager's active Retirement Definition is actually evaluating, not install_status

A Retirement Definition only maps a field/value combo to mean "retired" for Data Manager's purposes, it never stamps a date anywhere, so that path is a dead end either way.

The fix is a Date/Time field like u_retired_on plus a before-update Business Rule on cmdb_ci_business_app. Condition it on current.install_status.changesTo('3') if you're tracking install_status, or on the lifecycle fields if that's the definition you care about. Once populated it's a normal date field, straight into Reports or PA, no filter workaround needed.

Make sure auditing is actually enabled on Business Application (it drives changesTo reliably and gives you sys_audit as a fallback), and if you ever query sys_audit directly for a backfill, treat it as a large table and scope your query tightly rather than running it as an open report.

References

 

Thank you,
Vikram Karety
Octigo Solutions INC

Tanushree Maiti
Tera Patron

Hi @adamtoth 

 

To accurately capture retirement dates in a report-  configure a dedicated date/time field to capture the retirement action and pull it into your reports.

 

Follow these steps to establish this in your instance:

  1. Create a Custom Field: Navigate to System Definition > Dictionary and create a new Date/Time field (Like  u_retired_date) on the Business Application or Hardware/CI table (cmdb_ci_business_app)
  2. Write an after update Business Rule that triggers when the install status changes, setting the u_retired_date field to gs.nowDateTime().

OR

Use Flow to set the time stamp

 

 

Please Accept the solution if it assisted you with your question & Mark this response as Helpful.
Regards
Tanushree Maiti
ServiceNow Technical Architect
LinkedIn: https://www.linkedin.com/in/tanushreemaiti