Running Background script for mass update

salma4
Kilo Explorer

Needed to close a number Requested Items and related Catalog tasks as as mass update.

Was trying with the bacground script on demo :

var a = ["RITM0000006","RITM0000007"];

for(i=0;i<=a.length-1;i++)

{

var tsk = new GlideRecord('sc_task');

tsk.addQuery('request_item', a[i]);

tsk.query();

while (task.next()) {    

tsk.state = 7;

gs.print(tsk.number + " TASK number");

gs.print(a[i]);

//tsk.update();

}

var req = new GlideRecord('sc_req_item');

req.addQuery('number', a[i]);

req.query();

while (req.next()) {    

req.state = 3;

gs.print(req.number + " RITM number");

//req.update();

}

}

Its ends up updating only the first while loop. Updating the state of Tasks and not the Requested Item states.

When I interchanged the while loops it updates the state of Requested Items only and not the Task states.

What could be the issue or will there be any other approach.

The actual list of Requested Items is like a hundred.

1 ACCEPTED SOLUTION

manikorada
ServiceNow Employee
ServiceNow Employee

Salma,



You have some syntax errors in our script, I have changed this little bit like following:


var a = ["RITM0000006","RITM0000007"];


for(i=0;i<=a.length-1;i++)


{


var tsk = new GlideRecord('sc_task');


tsk.addQuery('request_item.number', a[i]);


tsk.query();


while (tsk.next()) {  


tsk.state = 7;


gs.print(tsk.number + " TASK number");


gs.print(a[i]);


tsk.update();


}


var req = new GlideRecord('sc_req_item');


req.addQuery('number', a[i]);


req.query();


while (req.next()) {  


req.state = 3;


gs.print(req.number + " RITM number");


req.update();


}


}



I have tested this in demo instance and this is working fine.


View solution in original post

3 REPLIES 3

manikorada
ServiceNow Employee
ServiceNow Employee

Salma,



You have some syntax errors in our script, I have changed this little bit like following:


var a = ["RITM0000006","RITM0000007"];


for(i=0;i<=a.length-1;i++)


{


var tsk = new GlideRecord('sc_task');


tsk.addQuery('request_item.number', a[i]);


tsk.query();


while (tsk.next()) {  


tsk.state = 7;


gs.print(tsk.number + " TASK number");


gs.print(a[i]);


tsk.update();


}


var req = new GlideRecord('sc_req_item');


req.addQuery('number', a[i]);


req.query();


while (req.next()) {  


req.state = 3;


gs.print(req.number + " RITM number");


req.update();


}


}



I have tested this in demo instance and this is working fine.


Thank You! Mani


Awesome!