Thank you for your feedback.
Form temporarily unavailable. Please try again or contact docfeedback@servicenow.com to submit your comments.
Versions
  • London
  • Kingston
  • Jakarta
  • Istanbul
  • Helsinki
  • Geneva
  • Store
Close

Enforcing unique numbering

Enforcing unique numbering

Although duplicate numbers are rare, numbering does not enforce uniqueness, by default.

To enforce uniqueness, you can:
  • Create a before business rule on insert only to check for duplicate values and replace duplicates with the next available number.
  • Enable a unique index on the table.
Note: While unique indexes ensure data integrity they also prevent any insert involving a duplicate number. This may cause unexpected errors during data entry.

Sample business rule

This sample script can be used as part of a before business rule on insert only to check for duplicate numbers and replace them with the next available number.

var curNum = current.number + '';
 
if(curNum) {
 
  var recordClass = current.getRecordClassName();
  var gr = new GlideRecord(recordClass);
  gr.addQuery('number', curNum);
  gr.query();
 
  if(gr.getRowCount() > 0) {
    var newNum = getNextObjNumberPadded();
    gs.addInfoMessage("The number " + current.number + " was already used by another " +
     recordClass + ". The " + recordClass + " number has been changed to " + newNum);
    current.number = newNum;
  }
}