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

Required Fields for CMDB Health

pramodkumar
Tera Expert

Hi All,

 

I am looking to make the Serial Number attribute mandatory on the cmdb_ci_computer table. However, the field is inherited from the CMDB Base (cmdb_ci) table. How can I enforce it as required only for the cmdb_ci_computer class? Also, how is this related to CMDB Completeness? I was unable to make the serial_number field mandatory on cmdb_ci_computer through CI Class Manager.

 

Thanks!

4 REPLIES 4

21121A3359
Tera Expert

Hai @pramodkumar 

The Serial Number field is inherited from the CMDB Base table (cmdb_ci), so it cannot be made mandatory directly on the cmdb_ci_computer table via CI Class Manager. That’s why you’re unable to enforce it there.

However, you have two supported ways to handle this requirement:


Option 1: Use a Data Policy (Recommended)

A Data Policy allows you to make a field mandatory only for a specific CI class, without impacting other child classes.

Steps:

  1. Navigate to System Policy → Data Policies
  2. Create a new Data Policy:
    • Table: cmdb_ci_computer
    • Active: true
  3. Under Data Policy Rules:
    • Field: serial_number
    • Mandatory: true
  4. Save the record

This enforces the Serial Number as mandatory both in UI and API for cmdb_ci_computer only.


Option 2: Use a UI Policy (UI-only)

If you only need this enforcement in the UI, you can use a UI Policy.

Note:
 UI Policies do not apply to imports, integrations, or APIs.


How This Relates to CMDB Completeness

CMDB Completeness is calculated based on Identification Rules and Completeness Rules, not mandatory fields.

  • Making a field mandatory does not automatically improve CMDB Completeness
  • To include Serial Number in completeness:
    • Add it as a required attribute in CMDB Completeness Rules
    • Or include it in Identification Rules, if applicable

GaganR021259991
Tera Contributor

Hi @pramodkumar 
To satisfy this condition where you want the Serial Number Field mandatory only on the cmdb_ci_computer table You can create a Data Policy
Please follow the below steps:

  1. Navigate to System Policy → Data Policies
    GaganR021259991_0-1779257324321.png
  2. Create a new Data Policy:

    • Table: cmdb_ci_computer
      GaganR021259991_1-1779257421752.png
    • save the form 
    • Then scroll down to find Data Policy Rules in the related list.
  3. Create a new Data Policy Rule:
    • Field: serial_number
    • Mandatory: true
      GaganR021259991_2-1779257681723.png
    • update the form.

       

       

  4. GaganR021259991_4-1779257793637.png

     

    Please mark this response as Helpful & Accept it as solution if it assisted you with your question.
    Regards,
    Gagan R Prasad.



GaganR021259991
Tera Contributor

Hi @pramodkumar 
Forgot to Answer the question how is this related to CMDB Completeness?

CMDB Health measures data quality across three pillars — Completeness, Compliance, and Correctness. Completeness specifically asks: "Are the required attributes populated for this CI class?"

Serial number is typically included as a tracked completeness attribute for cmdb_ci_computer. Even if you enforce it as mandatory on the form, that only prevents future bad data — it does nothing for CIs already in the CMDB with a blank serial number. This is where Completeness Rules come in.

Completeness Rules defines which fields must be populated for a CI to be considered "complete." CIs missing serial_number will be flagged and pull down the completeness score on your CMDB Health Dashboard.
Please refer below documents for additional details
https://www.servicenow.com/community/cmdb-forum/cmdb-health-dashboard-completeness-compliance-amp-co...

https://www.servicenow.com/community/itsm-articles/understanding-cmdb-health/ta-p/2307033

Nishant8
Tera Sage

Hello @pramodkumar, I'm not sure about the underlying business requirement, but applying this logic means many of your CIs might fail to create if they lack a serial number. Instead, you can create a Completeness metric as follows

CI Class Manager -> Computer Class -> Expand Health on the left menu and click Completeness -> Add serial_number to the Selected fields list

as a result if a CI is discovered or created without a serial number, it flags a completeness failure.

 

Technically, you can mark Serial Number mandatory as well - Go to Hardware Class ( parent of Computer ) and open the Attributes -> Derived -> Serial number, and create new Dictionary Overrides by selecting the Computer class and mark it mandator as below:

Nishant8_0-1779292993616.png

 

 

Regards,

Nishant