Auto Numbering for Existing Records

Jag5
Tera Guru

Hello Experts,

I have created auto numbering for existing software model table. The issue is we have few old records for which we need numbering as well but it works only for newly created records. Is there a way to generate numbering for existing records as well. Thank you in advance.

Thanks & Regards,

Jag.

1 ACCEPTED SOLUTION

Michael Ritchie
ServiceNow Employee
ServiceNow Employee

Sorry change line 6 to gr.u_number so...


var gr = new GlideRecord("cmdb_software_product_model");


gr.orderBy('sys_created_on');


gr.query();


while (gr.next()) {


  var nm = new NumberManager('cmdb_software_product_model');


  gr.u_number = nm.getNextObjNumberPadded();


  gr.autoSysFields(false);   // Do not update sys_updated_on, sys_updated_by, and sys_mod_count


  gr.setWorkflow(false);       // Do not run any other business rules


  gr.update();


}


View solution in original post

42 REPLIES 42

Alikutty A
Tera Sage

Hi,



You need to generate the number for old records in sequence using a background script and then update the latest counter in your number table for new records.



Thanks


Please Hit like, Helpful or Correct depending on the impact of the response


Hello Alikutty,



Thank you for your response. Could you please provide me some reference background script if you have any.



Thanks & Regards,


Jag.


var gr = new GlideRecord('cmdb_software_product_model');   //This should be your table.


gr.query();


var prefix   = "SW";     //Change to your numbering prefix


var counter = "0000000";   //Should be set to number of 0's in your number


while(gr.next()){


counter += 1;


gr.number = prefix+counter;     //number should be your field name for number column


}



Please try and let me know, Once number is populated, you should update your counter in numbering table to the latest counter.



Thanks


Please Hit like, Helpful or Correct depending on the impact of the response


Hello Alikutty,



After running the background script, the number is not getting populated. It still showing empty.



Thanks & Regards,


Jag.