- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-19-2023 06:33 AM
Hello experts,
I need to implement the following functionality – when the user selects a Business Service in an incident, display an alert in the form with all incidents which have the same Business Service with Priority 1(Critical) and are not "Resolved", "Closed" or "Cancelled"". Below is the client script and sript include I use. The problem is that I am not able to find the propper way to pass the array to the client script so I can use it. Can you please have a look were is my mistake. Thanks!
Client script:
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var userName = new GlideAjax('TaskThree');
userName.addParam('sysparm_name', 'criticalIncidents');
userName.addParam('sysparm_var1', g_form.getValue('business_service'));
userName.getXMLAnswer(callback);
function callback(response) {
var answer = response;
alert(answer);
}
}
Script include:
var TaskThree = Class.create();
TaskThree.prototype = Object.extendsObject(AbstractAjaxProcessor, {
criticalIncidents: function() {
var bs = this.getParameter('sysparm_var1');
var incidentsArr = [];
var gr = new GlideRecord('incident');
gr.addQuery('business_service', bs);
gr.addQuery('priority', 1);
gr.addEncodedQuery('incident_stateNOT IN6,7,8');
gr.query();
while (gr.next()) {
var JsonObj = {};
JsonObj.incidens = gr.number.toString();
incidentsArr.push(JSON.stringify(JsonObj));
return incidentsArr;
}
},
type: 'TaskThree'
});
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-19-2023 10:20 AM - edited 09-19-2023 10:22 AM
Change script includes to below
var TaskThree = Class.create();
TaskThree.prototype = Object.extendsObject(AbstractAjaxProcessor, {
criticalIncidents: function() {
var bs = this.getParameter('sysparm_var1');
var incidentsArr = [];
var sr = new GlideRecord('incident');
sr.addQuery('business_service', bs);
sr.addQuery('priority', 1);
sr.addEncodedQuery('incident_stateNOT IN6,7,8');
sr.query();
while (sr.next()) {
incidentsArr.push(sr.number.toString());
}
return incidentsArr.toString();
},
type: 'TaskThree'
});

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-19-2023 10:20 AM - edited 09-19-2023 10:22 AM
Change script includes to below
var TaskThree = Class.create();
TaskThree.prototype = Object.extendsObject(AbstractAjaxProcessor, {
criticalIncidents: function() {
var bs = this.getParameter('sysparm_var1');
var incidentsArr = [];
var sr = new GlideRecord('incident');
sr.addQuery('business_service', bs);
sr.addQuery('priority', 1);
sr.addEncodedQuery('incident_stateNOT IN6,7,8');
sr.query();
while (sr.next()) {
incidentsArr.push(sr.number.toString());
}
return incidentsArr.toString();
},
type: 'TaskThree'
});
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-20-2023 12:58 AM
Thanks for this solution, Mike! It solved my problem.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-19-2023 11:06 AM - edited 09-19-2023 11:10 AM
Hi @EH Desev
Please use the below code.
Client Script:
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var userName = new GlideAjax('TaskThree');
userName.addParam('sysparm_name', 'criticalIncidents');
userName.addParam('sysparm_var1', g_form.getValue('business_service'));
userName.getXMLAnswer(callback);
function callback(response) {
var answer = response;
alert(answer);
}
}
Server Script:
var TaskThree = Class.create();
TaskThree.prototype = Object.extendsObject(AbstractAjaxProcessor, {
criticalIncidents: function() {
var bs = this.getParameter('sysparm_var1');
var incidentsArr = [];
var sr = new GlideRecord('incident');
sr.addQuery('business_service', bs);
sr.addQuery('priority', 1);
sr.addEncodedQuery('incident_stateNOT IN6,7,8');
sr.query();
while (sr.next()) {
incidentsArr.push(sr.number.toString());
}
return incidentsArr.toString();
},
type: 'TaskThree'
});
Mark the comment as a correct answer and also helpful if this has helped to solve the problem
Krishna Sharma
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-19-2023 12:26 PM
you can only return a string.