{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":38453,"path":"platform-administration/c_EnforcingUniqueNumbering.md","title":"Enforcing unique numbering","bundle":null,"doc_type":null,"release":"australia","body":"\n# Enforcing unique numbering\n\nAlthough duplicate numbers are rare, numbering does not enforce uniqueness, by default.\n\nTo enforce uniqueness, you can:\n\n-   Create a before business rule on insert only to check for duplicate values and replace duplicates with the next available number.\n-   Enable a unique index on the table. For more information, see [Create a table index](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/table-administration-and-data-management/t_CreateCustomIndex.md).\n\n    **Note:** While unique indexes ensure data integrity they also prevent any insert involving a duplicate number. This may cause unexpected errors during data entry.\n\n\n## Sample business rule\n\nThis 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. The following script references a script created in [Configure left padding of a system number in a table](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/t_RenumberingRecords.md).\n\n```javascript\nvar curNum = current.number + '';\n \nif(curNum) {\n \n  var recordClass = current.getRecordClassName();\n  var now_GR = new GlideRecord(recordClass);\n  now_GR.addQuery('number', curNum);\n  now_GR.setLimit(1);  \n  now_GR.query();\n \n  if(now_GR.getRowCount() > 0) {\n    var newNum = getNextObjNumberPadded();\n    gs.addInfoMessage(\"The number \" + current.number + \" was already used by another \" +\n     recordClass + \". The \" + recordClass + \" number has been changed to \" + newNum);\n    current.number = newNum;\n  }\n}\n\n```\n\n**Parent Topic:**[Record numbering](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/c_ManagingRecordNumbering.md)\n\n**Related topics**  \n\n\n[Business rules](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/api-reference/c_BusinessRules.md)\n\n"}}