Set Impact based on Business Criticality of CI

jacob_benker
Tera Expert

I just received a requirement to set the Impact field of a Problem based on the Business Criticality of the CI selected. However, when go to Customize - Form Layout and expand Configuration Item the 'busines_criticality' field does not show in the list. Is it possible to do this in a Client Script? Any suggestions?

5 REPLIES 5

CapaJC
ServiceNow Employee
ServiceNow Employee

The reference is to the cmdb_ci table. Unfortunately, busines_criticality is on an extension table: cmdb_ci_service. Fields from extension tables cannot be added to forms because not all record in the referenced table have those fields.

You could have a Client Script do a GlideRecord lookup of the referenced record, and if it's a cmdb_ci_service record, then set the Impact accordingly. Or do it in a Business Rule on the server after submission.


TJW2
Mega Guru

The CI field is a reference to the 'cmdb_ci' table. Business Critically exists on the 'Server' table, which is an extension of the cmdb_ci table. Thus you will need to find the 'cmdb_ci_service' record and look at the field. This can be done in a Client Script. Best practice says to use an AJAX call, to do the lookup 'Server side' and return the 'Business Critically' value.


prdelong
Kilo Guru

Business Criticality is not a field available on the cmdb_ci table. It is only available on cmdb_ci_service field. If you want to set the impact field based on business criticality, then you can do it with a business rule or a client script. If you use a client script, you probably want to do it in an onSubmit client script in order to prevent the impact from being changed by the user (assuming this is not already governed by an ACL). You can also do it with a business rule so all the calculation and setting the value that way.


MKhan1
Giga Contributor

Better use a display business rule to populate the information. This requires less effort and easy implementation.