- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-05-2017 09:00 AM
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.
Solved! Go to Solution.
- Labels:
-
Enterprise Asset Management
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-05-2017 11:49 AM
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();
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-05-2017 11:16 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-05-2017 11:19 AM
Only one number was generated in the log? Is the execution breaking after first log?
The prefix I can see as SWM
Thanks
Please Hit like, Helpful or Correct depending on the impact of the response
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-05-2017 11:22 AM
Yeah we kept the prefix as SWM and the execution is not breaking instead showing as completed.
It is not even updating one record.
Thanks,
Jag.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-05-2017 11:29 AM
Since only a single number is printed it does not seem to run or update records after first loop. Can you please run this once, do not change the code and see what counter is printed.
var prefix = "SWM";
var zero = "000";
var counter = 1000;
var gr = new GlideRecord('cmdb_software_product_model');
gr.query();
while(gr.next() && counter<1825){
counter += 1;
var num = counter.toString();
gs.print(prefix+zero+num);
gr.u_number = prefix+zero+num;
gr.setWorkflow(false);
gr.update();
}
gs.print("Counter = " +counter);
Thanks
Please Hit like, Helpful or Correct depending on the impact of the response
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-05-2017 11:38 AM