
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-20-2019 09:44 PM
I have 3 custom fields in the sn_hr_core_profile table. The details are as follows:
1. u_org_1 (Reference to can_department table)
2. u_org_2 (Reference to can_department table)
3. u_org_3 (Reference to can_department table)
I am running a background script to update these fields. For the purpose of simplification, I have simplified my code:
var users = new GlideRecord('sn_hr_core_profile');
users.query();
var orgNumber='';
while(users.next()){
var k=0;
for(k=0;k<3;k++){
orgNumber.initialize();
orgNumber = 'u_org_'+k;
users.orgNumber = '835e6c81db12f748ed4e94f7db9619a9';
}
users.update();
}
Using this code I am unable to update the records. However, when I try something like:
users.u_org_1 = '835e6c81db12f748ed4e94f7db9619a9';
users.u_org_2 = '835e6c81db12f748ed4e94f7db9619a9';
users.u_org_3 = '835e6c81db12f748ed4e94f7db9619a9';​
it works perfectly. Any suggestions on what I am might be doing wrong?
Solved! Go to Solution.
- Labels:
-
Scripting and Coding

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-20-2019 10:02 PM
Hi there,
What is it you are trying to achieve? Just to update all records having the same u_u_org_1, u_org_2 and u_org_3? Have you considered an easier query with update multiple? I also see a .initialize(). What purpose did you had in mind? The code doesn't make sence to me, though I don't know the functional thought.
Something like:
var gr = new GlideRecord('sn_hr_core_profile');
gr._query();
gr.setValue('gr.u_org_1', '835e6c81db12f748ed4e94f7db9619a9');
gr.setValue('gr.u_org_2', '835e6c81db12f748ed4e94f7db9619a9');
gr.setValue('gr.u_org_3', '835e6c81db12f748ed4e94f7db9619a9');
gr.updateMultiple();
Or is your looping the purpose? Just as exercise or something?
Maybe something like this (untested!):
var gr = new GlideRecord('sn_hr_core_profile');
gr._query();
for(var orgInt = 1; orgInt < 4; orgInt ++) {
gr.setValue('gr.u_org_' + orgInt, '835e6c81db12f748ed4e94f7db9619a9');
}
gr.updateMultiple();
If my answer helped you in any way, please then mark it as helpful.
Kind regards,
Mark
---
Kind regards,
Mark Roethof
Independent ServiceNow Consultant
10x ServiceNow MVP
---
~444 Articles, Blogs, Videos, Podcasts, Share projects - Experiences from the field

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-20-2019 10:02 PM
Hi there,
What is it you are trying to achieve? Just to update all records having the same u_u_org_1, u_org_2 and u_org_3? Have you considered an easier query with update multiple? I also see a .initialize(). What purpose did you had in mind? The code doesn't make sence to me, though I don't know the functional thought.
Something like:
var gr = new GlideRecord('sn_hr_core_profile');
gr._query();
gr.setValue('gr.u_org_1', '835e6c81db12f748ed4e94f7db9619a9');
gr.setValue('gr.u_org_2', '835e6c81db12f748ed4e94f7db9619a9');
gr.setValue('gr.u_org_3', '835e6c81db12f748ed4e94f7db9619a9');
gr.updateMultiple();
Or is your looping the purpose? Just as exercise or something?
Maybe something like this (untested!):
var gr = new GlideRecord('sn_hr_core_profile');
gr._query();
for(var orgInt = 1; orgInt < 4; orgInt ++) {
gr.setValue('gr.u_org_' + orgInt, '835e6c81db12f748ed4e94f7db9619a9');
}
gr.updateMultiple();
If my answer helped you in any way, please then mark it as helpful.
Kind regards,
Mark
---
Kind regards,
Mark Roethof
Independent ServiceNow Consultant
10x ServiceNow MVP
---
~444 Articles, Blogs, Videos, Podcasts, Share projects - Experiences from the field

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-21-2019 07:55 PM
Hi Mark,
Thanks for you response. Your 2nd suggestion did the trick.
The purpose of this question was to make the loop work. I just could not make the loop work with my script. The real purpose of this question was difficult to explain without providing a lot of context, which I felt was unnecessary and I, therefore, simplified the script.
Thanks once again.