Fix script to close req and Ritm if sc tasks are closed complete / incomplete
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-12-2024 10:25 PM
Hi All,
I have tried to implement a fix script to check if the tasks are closed complete/incomplete and move forward to close the respective RITM and Request. This is the script I have and it is not working properly.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-12-2024 10:41 PM
Hi @Vasavi O ,
Please find the below script which you can use:
var req = new GlideRecord('sc_request');
req.addEncodedQuery('request_stateNOT INclosed_complete,closed_incomplete,closed_cancelled,closed_rejected,closed_skipped');
req.query();
while(req.next()){
var ritm = new GlideRecord('sc_req_item');
ritm.addEncodedQuery('stateNOT IN3,4,7');
ritm.query();
if(!ritm.next()){
req.request_state='closed_complete';
req.update();
}
else{
while(ritm.next()){
var task=new GlideRecord('sc_task');
task.addEncodedQuery('stateNOT IN3,4,7');
task.query();
if(!task.next()){
ritm.state='3';
ritm.update();
}
}
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-13-2024 02:03 AM
Hi @Community Alums , I have used these below script but not working ritm is still not updated.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-12-2024 10:45 PM
Hi @Vasavi O ,
Please try this Code:
var taskGr = new GlideRecord('sc_task');
taskGr.addEncodedQuery('stateIN3,4');
taskGr.query();
while (taskGr.next()) {
var ritmGr = new GlideRecord('sc_req_item');
ritmGr.addQuery('sys_id', taskGr.request_item); // Query the request item related to the task
ritmGr.query();
while (ritmGr.next()) {
if (taskGr.state == 4) { // Closed Incomplete
ritmGr.approval = "rejected";
ritmGr.state = "closed_rejected";
ritmGr.stage = "incomplete";
} else if (taskGr.state == 3) { // Closed Complete
ritmGr.approval = "approved";
ritmGr.state = "closed_complete";
ritmGr.stage = "completed";
}
ritmGr.update();
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-12-2024 11:24 PM
Hi @Nisha15 , I have tried this code and it is not working for me.