- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-02-2023 07:57 PM
Hi Team,
We have a bulk list of demand numbers to be close complete through background script.
And also,
We have a bulk list of demand task to be close Skipped through background script.
How to achieve it - Thanks for the advance.
Thanks,
Sai
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-02-2023 09:31 PM
Hi @thaduri sai ,
You can try the following script to close demands and their corresponding demand tasks from a fix script or background script.
This will not trigger any notifications too as I have used setWorkflow(false).
var dmnGr = new GlideRecord("dmn_demand");
dmnGr.addEncodedQuery("YOUR ENCODED QUERY); //Paste your encoded here by copying it from the list view filter bread crumbs
dmnGr.query();
//close corresponding demand tasks
while(dmnGr._next()){
var dtskGr = new GlideRecord("dmn_demand_task");
dtskGr.addQuery("parent", dmnGr.getUniqueValue());
dtskGr.addQuery("state", "!=", "3");
dtskGr.query();
while(dtskGr._next()){
dtskGr.setWorkflow(false);
dtskGr.autoSysFields(false);
dtskGr.state = "3";
dtskGr.update();
}
//Close the demand
dmnGr.setWorkflow(false);
dmnGr.autoSysFields(false);
dmnGr.state = "9";
dmnGr.update();
}
Please mark my answer helpful and accept as solution if it helped you 👍✅
Anvesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-15-2023 10:03 PM
@thaduri sai Try this, I did a mistake in function name.
var gr = new GlideRecord("dmn_demand");
gr.addEncodedQuery("sys_class_name=dmn_demand^number=DEMAND NUMBER");
gr.query();
while(gr._next()){
var dmntask = new GlideRecord("dmn_demand_task");
dmntask.addQuery("parent", gr.getUniqueValue());
dmntask.addQuery("state", "!=", "3");
dmntask.addQuery("state", "!=", "7");
dmntask.query();
while(dmntask._next()){
dmntask.setWorkflow(false);
dmntask.state = "3";
dmntask.update();
}
gr.setWorkflow(false);
gr.state = "9";
gr.update();
}
Anvesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-19-2023 05:46 PM
@thaduri sai You can try using this line of code. But as we are using setWorkflow(false); the comment might not appear in proper order. You can try and check.
var gr = new GlideRecord("dmn_demand");
gr.addEncodedQuery("sys_class_name=dmn_demand^number=DEMAND NUMBER");
gr.query();
while(gr._next()){
var dmntask = new GlideRecord("dmn_demand_task");
dmntask.addQuery("parent", gr.getUniqueValue());
dmntask.addQuery("state", "!=", "3");
dmntask.addQuery("state", "!=", "7");
dmntask.query();
while(dmntask._next()){
dmntask.setWorkflow(false);
dmntask.state = "3";
dmntask.work_notes = "YOUR STANDARD COMMENT";
dmntask.update();
}
gr.setWorkflow(false);
gr.state = "9";
gr.work_notes = "YOUR STANDARD COMMENT";
gr.update();
}
If the above code is not working for you, what you can do is, update work notes for all the demands and it's tasks first then close them like this.
//Update work notes
var gr = new GlideRecord("dmn_demand");
gr.addEncodedQuery("sys_class_name=dmn_demand^number=DEMAND NUMBER");
gr.query();
while(gr._next()){
var dmntask = new GlideRecord("dmn_demand_task");
dmntask.addQuery("parent", gr.getUniqueValue());
dmntask.addQuery("state", "!=", "3");
dmntask.addQuery("state", "!=", "7");
dmntask.query();
while(dmntask._next()){
dmntask.work_notes = "YOUR STANDARD COMMENT";
dmntask.autoSysFields(false);
dmntask.update();
}
gr.work_notes = "YOUR STANDARD COMMENT";
gr.autoSysFields(false);
gr.update();
}
//Close Tasks and Demand
var gr = new GlideRecord("dmn_demand");
gr.addEncodedQuery("sys_class_name=dmn_demand^number=DEMAND NUMBER");
gr.query();
while(gr._next()){
var dmntask = new GlideRecord("dmn_demand_task");
dmntask.addQuery("parent", gr.getUniqueValue());
dmntask.addQuery("state", "!=", "3");
dmntask.addQuery("state", "!=", "7");
dmntask.query();
while(dmntask._next()){
dmntask.setWorkflow(false);
dmntask.state = "3";
dmntask.update();
}
gr.setWorkflow(false);
gr.state = "9";
gr.update();
}
Please mark my answer helpful and accept as a solution if it helped 👍✅
Anvesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-15-2023 08:55 PM
when I executed above script - some things is insert (taska_str_10).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-15-2023 10:03 PM
@thaduri sai Try this, I did a mistake in function name.
var gr = new GlideRecord("dmn_demand");
gr.addEncodedQuery("sys_class_name=dmn_demand^number=DEMAND NUMBER");
gr.query();
while(gr._next()){
var dmntask = new GlideRecord("dmn_demand_task");
dmntask.addQuery("parent", gr.getUniqueValue());
dmntask.addQuery("state", "!=", "3");
dmntask.addQuery("state", "!=", "7");
dmntask.query();
while(dmntask._next()){
dmntask.setWorkflow(false);
dmntask.state = "3";
dmntask.update();
}
gr.setWorkflow(false);
gr.state = "9";
gr.update();
}
Anvesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-18-2023 05:55 AM
Hi @AnveshKumar M ,
Thanks for your help - Code working as expected.
But we have to update standard comment for all demands.
Can you please add that line in code.
Thanks,
Saikrishna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-19-2023 05:46 PM
@thaduri sai You can try using this line of code. But as we are using setWorkflow(false); the comment might not appear in proper order. You can try and check.
var gr = new GlideRecord("dmn_demand");
gr.addEncodedQuery("sys_class_name=dmn_demand^number=DEMAND NUMBER");
gr.query();
while(gr._next()){
var dmntask = new GlideRecord("dmn_demand_task");
dmntask.addQuery("parent", gr.getUniqueValue());
dmntask.addQuery("state", "!=", "3");
dmntask.addQuery("state", "!=", "7");
dmntask.query();
while(dmntask._next()){
dmntask.setWorkflow(false);
dmntask.state = "3";
dmntask.work_notes = "YOUR STANDARD COMMENT";
dmntask.update();
}
gr.setWorkflow(false);
gr.state = "9";
gr.work_notes = "YOUR STANDARD COMMENT";
gr.update();
}
If the above code is not working for you, what you can do is, update work notes for all the demands and it's tasks first then close them like this.
//Update work notes
var gr = new GlideRecord("dmn_demand");
gr.addEncodedQuery("sys_class_name=dmn_demand^number=DEMAND NUMBER");
gr.query();
while(gr._next()){
var dmntask = new GlideRecord("dmn_demand_task");
dmntask.addQuery("parent", gr.getUniqueValue());
dmntask.addQuery("state", "!=", "3");
dmntask.addQuery("state", "!=", "7");
dmntask.query();
while(dmntask._next()){
dmntask.work_notes = "YOUR STANDARD COMMENT";
dmntask.autoSysFields(false);
dmntask.update();
}
gr.work_notes = "YOUR STANDARD COMMENT";
gr.autoSysFields(false);
gr.update();
}
//Close Tasks and Demand
var gr = new GlideRecord("dmn_demand");
gr.addEncodedQuery("sys_class_name=dmn_demand^number=DEMAND NUMBER");
gr.query();
while(gr._next()){
var dmntask = new GlideRecord("dmn_demand_task");
dmntask.addQuery("parent", gr.getUniqueValue());
dmntask.addQuery("state", "!=", "3");
dmntask.addQuery("state", "!=", "7");
dmntask.query();
while(dmntask._next()){
dmntask.setWorkflow(false);
dmntask.state = "3";
dmntask.update();
}
gr.setWorkflow(false);
gr.state = "9";
gr.update();
}
Please mark my answer helpful and accept as a solution if it helped 👍✅
Anvesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-21-2023 11:24 PM
Hi @AnveshKumar M ,
For work notes I have written this script - but it's getting update only 1 demand - why it's happening I don't could you please help here.
var gr = new GlideRecord("dmn_demand");
gr.addEncodedQuery("sys_class_name=dmn_demand^number=DEMAND NUMBER");
gr.query();
while(gr._next()){
var dmntask = new GlideRecord("dmn_demand_task");
dmntask.addQuery("parent", gr.getUniqueValue());
dmntask.addQuery("state", "!=", "3");
dmntask.addQuery("state", "!=", "7");
dmntask.query();
while(dmntask._next()){
dmntask.work_notes = "YOUR STANDARD COMMENT";
dmntask.autoSysFields(false);
dmntask.update();
}
gr.work_notes = "YOUR STANDARD COMMENT";
gr.autoSysFields(false);
gr.update();
}
