Dot walk field using GlideAggregate.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-26-2020 01:40 AM
Hi,
I need to get the reference fields from task table to task_slo table. But i don't see the right output that i am expecting.
Email script:
(function runMailScript(/* GlideRecord */ current, /* TemplatePrinter */ template,
/* Optional EmailOutbound */ email, /* Optional GlideRecord */ email_action,
/* Optional GlideRecord */ event) {
gs.log("Ageing- runMailScriptForNeedAttention");
var finalJSONArray = [];
var obj = {};
var stateValue,getEscalatedValue,getReopenValue,getTtrValue,getRecommitValue,groupCount,assignmentGroup,numberVal1,assGroup1;
var query = 'numberSTARTSWITHinc^ORnumberSTARTSWITHgreq^assigned_to=5bf08e8cdbb87300bda4d602ca96198b^active=true';
var gr2 = new GlideRecord('task');
gr2.addEncodedQuery(query);
gr2.query();
if(gr2.next())
{
var numberVal = gr2.number.getDisplayValue();
gs.log("Ageing- numberVal: " + numberVal);
var assGroup = gr2.assignment_group.getDisplayValue();
gs.log("Ageing- assGroup: " + assGroup);
var assTo = gr2.assigned_to.getDisplayValue();
gs.log("Ageing- assTo: " + assTo);
var inc = new GlideAggregate('task_sla');
inc.addQuery('gr2.assigned_to', '5bf08e8cdbb87300bda4d602ca96198b');
inc.addQuery('has_breached','true');
inc.addQuery('active','true');
inc.addAggregate('COUNT');
inc.groupBy('has_breached');
inc.groupBy('active');
inc.query();
if(inc.next())
{
gs.log("Ageing- Inside 2nd if task_sla 1st");
gs.log("Ageing- details:" + inc.assignment_group);
numberVal1 = inc.task.getDisplayValue();
assGroup1 = inc.task.assignment_group.getDisplayValue();
var assGroup2 = inc.gr2.assignment_group.getDisplayValue();
var assGroup3 = inc.assignment_group.getDisplayValue();
getEscalatedValue = inc.has_breached.getDisplayValue();
gs.log("Ageing- numberVal1: " + numberVal1);
gs.log("Ageing- assGroup1: " + assGroup1);
gs.log("Ageing- getEscalatedValue: " + getEscalatedValue);
gs.log("Ageing- assGroup2: " + assGroup2);
gs.log("Ageing- assGroup3: " + assGroup3);
groupCount = inc.getAggregate('COUNT');
if (JSON.stringify(obj) == "{}")
{
gs.log("Ageing- inside if JSON");
obj.assignment_group = assGroup1;
obj.has_breached = {};
obj.has_breached[getEscalatedValue] = parseInt(groupCount);
obj.inc = parseInt(groupCount);
}
else if (obj.assignment_group == assGroup1)
{
gs.log("Ageing- inside else if");
if (!JSUtil.nil(obj.has_breached[getEscalatedValue]))
{
obj.has_breached[getEscalatedValue] = obj.has_breached[getEscalatedValue] + parseInt(groupCount);
}
else
{
obj.has_breached[getEscalatedValue] = parseInt(groupCount);
}
}
else
{
gs.log("Ageing- inside else last");
finalJSONArray.push(obj);
obj = {};
obj.has_breached = {};
obj.has_breached[getEscalatedValue] = parseInt(groupCount);
obj.inc = parseInt(groupCount);
}
}
finalJSONArray.push(obj);
gs.info("Ageing- Special ININC-finalJSONArray: " + JSON.stringify(finalJSONArray));
}
})(current, template, email, email_action, event);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-26-2020 01:59 AM
Hi Hemanth,
Try replacing "var assGroup3 = inc.assignment_group.getDisplayValue();" by
var assGroup3 = inc.getValue(assignment_group);
You can refer the below thread
https://community.servicenow.com/community?id=community_question&sys_id=b8d7032ddb1cdbc01dcaf3231f9619a4
Please Mark it correct/helpful if this reslove this issue.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-26-2020 02:20 AM
Hi Sachin,
It's not working.
The issue is when querying GlideAggregate.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-24-2024 09:31 AM
Small correction.
Put assignment_group in quotes.
Like
var assGroup3 = inc.getValue("assignment_group");

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-26-2020 02:50 AM
HI Hemanth,
Could you please let us know the actual requirement which you are trying to achieve with this script so that it will be easy for us to decode and get the best solution for you.
Regards,
Alok