Background script to copy a value from one field to another.

carlh
Kilo Guru

Hello All.

One my first day working in Service Now, I added a custom reference field called "Club Name" (u_locationref_1) to the incident form.

I didn't realize at the time that there is some out of the box functionality built using the "location" field.   We ended up with about 100k incidents where the "location" field is blank but the good news in I do have the values in my custom field.

I need a background script that will go in to every incident and copy the value of my "Club Name" (u_locationref_1) to the "Location" field and not send notifications or run BR's?

Once it's done, I will be able to delete the custom field and just use location.

Can any one help?

Thanks

Carl

1 ACCEPTED SOLUTION

Pradeep Sharma
ServiceNow Employee
ServiceNow Employee

Hi Carl,



Here you go.


updateincidents();


function updateincidents()


{


var gr = new GlideRecord('incident');


//gr.addQuery('u_locationref_1ISNOTEMPTY'); add this line if you want to filter records i.e locationref is not empty


gr.query();


while(gr.next())


  {


  gr.location = gr.getValue('u_locationref_1');


  gr.setWorkflow(false);


  gr.autoSysFields(false);


  gr.update();


}


}


Background Scripts — ServiceNow Elite


View solution in original post

18 REPLIES 18

Pradeep Sharma
ServiceNow Employee
ServiceNow Employee

Hi Carl,



Here you go.


updateincidents();


function updateincidents()


{


var gr = new GlideRecord('incident');


//gr.addQuery('u_locationref_1ISNOTEMPTY'); add this line if you want to filter records i.e locationref is not empty


gr.query();


while(gr.next())


  {


  gr.location = gr.getValue('u_locationref_1');


  gr.setWorkflow(false);


  gr.autoSysFields(false);


  gr.update();


}


}


Background Scripts — ServiceNow Elite


Thanks Pradeep.




To be sure I have to ask. Would this be a bad idea to run during working hours?



Almost 100k records



Get Outlook for iOS<https://aka.ms/o0ukef>


Pradeep Sharma
ServiceNow Employee
ServiceNow Employee

Hi Carl,



It shouldn't but I would prefer it to be run during NON BUSINESS HOURS.


100K records will take a few minutes. If this is production, then I agree with Pradeep - after hours.