- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-31-2022 08:57 AM
Hi,
I have a requirement to get values present in standard change template. From a template I would like to get the value of owner group but unable to fetch them.
Currently I'm using a script to get value present in array place 5 but the drawback is in few templates, the owner group value is placed else where, hence returning the wrong value. I would like to get the value of owner group field and the script I use is
var temp = new GlideRecord('std_change_record_producer');
temp.addEncodedQuery('active=true');
temp.addEncodedQuery('u_numberIN123');
temp.query();
while (temp.next()) {
var unqval = temp.getUniqueValue();
var rec = new GlideRecord('std_change_record_producer');
rec.get(unqval);
var util = new StdChangeUtilsSNC();
var opr = util._parseEncodedQuery(rec.template.template);
var assgrp = opr.vals[4]; //assgrp holds the 5th place value from the array.
Is there anyway that I could get the value of owner group irrespective of where it is placed.
Thanks for the response in advance.
Regards,
Manjushree
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-31-2022 09:58 AM
Thanks for the response. The below script helped me to get a particular value.
var temp = new GlideRecord('std_change_record_producer');
temp.addEncodedQuery('active=true');
temp.addEncodedQuery('u_numberIN123');
temp.query();
while (temp.next()) {
var unqval = temp.getUniqueValue();
var rec = new GlideRecord('std_change_record_producer');
rec.get(unqval);
var assgrp = rec.template.template;
gs.log(assgrp);
assgrp = assgrp.split("assignment_group=")[1];
var group = assgrp.substring(0,32);
gs.log(group);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-31-2022 09:36 AM
This is a script I used in the past to figure out what Standard Change Templates have an inactive assignment group for example. You can run it in a background script.
I am sure it will help you to figure out your answer.
var templateList = "";
var splitListFields = "";
var separateFieldValues = "";
var grGlide = new GlideRecord('sys_template');
grGlide.addEncodedQuery('sys_class_name=std_change_template^table=change_request^active=true');
grGlide.orderByDesc('sys_created_on');
//grGlide.setLimit(1000);
grGlide.query();
while(grGlide._next()){
templateList = grGlide.getValue("template");
splitListFields = templateList.split("^");
for(var i = 0; i < splitListFields.length; i++){
if(splitListFields[i].includes("=")){
separateFieldValues = splitListFields[i].split("=");
if(separateFieldValues[0]=='assignment_group'){
var grGroup = new GlideRecord('sys_user_group');
grGroup.addQuery('sys_id',separateFieldValues[1]);
grGroup.query();
if(grGroup.next()){
if(grGroup.active){
//gs.print('ACTIVE DL "' + grGroup.name + '" for template "' + grGlide.name +'"');
} else {
gs.print('INACTIVE DL "' + grGroup.name + '" for template "' + grGlide.name +'"');
}
}
}
}
}
}
If I helped you with your case, please click the Thumb Icon and mark as Correct.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-31-2022 09:58 AM
Thanks for the response. The below script helped me to get a particular value.
var temp = new GlideRecord('std_change_record_producer');
temp.addEncodedQuery('active=true');
temp.addEncodedQuery('u_numberIN123');
temp.query();
while (temp.next()) {
var unqval = temp.getUniqueValue();
var rec = new GlideRecord('std_change_record_producer');
rec.get(unqval);
var assgrp = rec.template.template;
gs.log(assgrp);
assgrp = assgrp.split("assignment_group=")[1];
var group = assgrp.substring(0,32);
gs.log(group);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-18-2023 11:21 PM
Just if you want to get anything u dont need use substring with counting numbers, try
var group = assgrp.split("^")[0];
It is a better way I guess if you want to get other values because they can be changed in template and have a different length then.