- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā09-30-2020 09:04 AM
Hello,
We have a catalog item that generates a REQ a little differently than the OOB way. When a REQ is created, it goes through an approval process first. Once the REQ is approved, an SCTASK and RITM gets created under the REQ. The SCTASK is not created under the RITM. My question is, when the SCTASK that is created under the REQ is closed, how can I also close the RITM and REQ or to make things more simple, how can I close all tickets once the SCTASK is closed?
Thanks!
*** EDITED ***
Here is an example of what I am talking about
As you can see when a REQ is created and approved, a RITM and SCTASK is also created. Within the RITM there is an additional SCTASK created. There is redundancy happening here. The users are working within the SCTASK being created on the REQ and not the RITM. If the SCTASK within the RITM is closed, it works as expected by closing the RITM and the REQ but not when the SCTASK in the REQ is closed.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā10-01-2020 08:24 AM
to close the RITM and other SC TASK for this REQ use this
Update the existing BR code with this
// get RITM for this REQ and close it
var ritm = new GlideRecord('sc_req_item');
ritm.addQuery('request', current.request);
ritm.query();
if(ritm.next()){
ritm.state = 3;
ritm.update();
// close SC Task for this RITM
var taskRec = new GlideRecord('sc_task');
taskRec.addQuery('request_item', ritm.sys_id);
taskRec.addEncodeddQuery('stateIN-5,1,2');
taskRec.query();
while(taskRec.next()){
taskRec.state = 3;
taskRec.update();
}
// close the REQ
var req = current.request.getRefRecord();
req.state = 3;
req.update();
Regards
Ankur
Ankur
⨠Certified Technical Architect || ⨠9x ServiceNow MVP || ⨠ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā10-01-2020 12:25 AM
yes you can add this code after the catalog task activity.
Assumption is the catalog task activity will proceed to the next activity only when task is closed
Add this script in the run script of workflow
var req = current.request.getRefRecord();
req.state = 3;
req.update();
Regards
Ankur
Ankur
⨠Certified Technical Architect || ⨠9x ServiceNow MVP || ⨠ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā10-01-2020 05:21 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā10-01-2020 05:45 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā10-01-2020 08:24 AM
to close the RITM and other SC TASK for this REQ use this
Update the existing BR code with this
// get RITM for this REQ and close it
var ritm = new GlideRecord('sc_req_item');
ritm.addQuery('request', current.request);
ritm.query();
if(ritm.next()){
ritm.state = 3;
ritm.update();
// close SC Task for this RITM
var taskRec = new GlideRecord('sc_task');
taskRec.addQuery('request_item', ritm.sys_id);
taskRec.addEncodeddQuery('stateIN-5,1,2');
taskRec.query();
while(taskRec.next()){
taskRec.state = 3;
taskRec.update();
}
// close the REQ
var req = current.request.getRefRecord();
req.state = 3;
req.update();
Regards
Ankur
Ankur
⨠Certified Technical Architect || ⨠9x ServiceNow MVP || ⨠ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā10-01-2020 12:24 PM
Thank you. This is exactly what I was looking for!