- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-01-2023 08:45 PM
Hi,
I have written 2 GlideAJAX with one ScriptIncludes encapsulating both the functions. I have to see that the incidents and RITM's selected as list collector at the task level `should populate in the work notes. Incidents are displaying well, but not RITM's. Kindly help.
GlideAjax 1:
function onSubmit() {
//Type appropriate comment here, and begin script below
var inc = g_form.getValue("incidents_submitted_by_itam");
var ga = new GlideAjax("listCollectorWNClass");
ga.addParam("sysparm_name", "listCollectorIncidentFunction");
ga.addParam("sysparm_id", inc);
ga.getXMLWait();
var answer = ga.getAnswer();
g_form.setValue("work_notes", answer);
// g_form.work_notes = answer;
}
GlideAjax 2
function onSubmit() {
//Type appropriate comment here, and begin script below
var rq_item = g_form.getValue("requests_submitted_by_itam");
var ga = new GlideAjax("listCollectorWNClass");
ga.addParam("sysparm_name", "listCollectorRITMFunction");
ga.addParam("sysparm_id", rq_item);
ga.getXMLWait();
var answer = ga.getAnswer();
g_form.setValue("work_notes", answer);
}
ScriptIncludes
var listCollectorWNClass = Class.create();
listCollectorWNClass.prototype = Object.extendsObject(AbstractAjaxProcessor, {
listCollectorIncidentFunction: function() {
var incArr = this.getParameter('sysparm_id').toString().split(',');
var numArr = [];
var answer;
for (var i = 0; i < incArr.length; i++) {
var inc1 = new GlideRecord('incident');
if (inc1.get(incArr[i].toString())) {
numArr.push(inc1.number);
}
}
gs.log("Test for Suman", numArr);
answer = numArr.join(',');
return answer;
// return JSON.stringify(numArr);
},
listCollectorRITMFunction: function() {
var rqArr = this.getParameter('sysparm_id').toString().split(',');
var numArr = [];
for (var i = 0; i < rqArr.length; i++) {
var rq_itm = new GlideRecord('sc_req_item');
if (rq_itm.get(rqArr[i].toString())) {
numArr.push(rq_itm.number);
}
}
gs.log("Test for Suman", numArr);
answer = numArr.join(',');
return answer;
// return JSON.stringify(numArr);
},
type: 'listCollectorWNClass'
});
Regards
Suman P.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-02-2023 05:00 AM
Hi @Community Alums
Highlighted the changes below in red
Script include :
listCollectorIncRitmFunction: function() {
var incArr = this.getParameter('sysparm_incId').toString().split(',');
var ritmArr = this.getParameter('sysparm_ritmId').toString().split(',');
var newIncArray =[];
var newritmArray =[];
var object = {
incident :'',
ritm :''
};
for (var i = 0; i < incArr.length; i++) {
var inc1 = new GlideRecord('incident');
if (inc1.get(incArr[i].toString())) {
newIncArray.push(inc1.number);
}
}
object.incident = newIncArray.toString();
for (var i = 0; i < ritmArr.length; i++) {
var rq_itm = new GlideRecord('sc_req_item');
if (rq_itm.get(ritmArr[i].toString())) {
newritmArray.push(rq_itm.number);
}
}
object.ritm = newritmArray.toString();
return JSON.stringify(object);
},
Client script :
function onSubmit() {
//Type appropriate comment here, and begin script below
var inc = g_form.getValue("incidents_submitted_by_itam");
var rq_item = g_form.getValue("requests_submitted_by_itam");
/*Inc & Ritm both*/
var gaIncRitm = new GlideAjax("listCollectorWNClass");
gaIncRitm.addParam("sysparm_name", "listCollectorIncRitmFunction");
gaIncRitm.addParam("sysparm_ritmId", rq_item);
gaIncRitm.addParam("sysparm_incId", inc);
gaIncRitm.getXMLWait();
/*Set values*/
/*Put some alerts- info messages to check what you are receiving from script include*/
g_form.addInfoMessage('Response=' + JSON.parse(gaIncRitm.getAnswer()));
var answer = JSON.parse(gaIncRitm.getAnswer());
var setValues = "Incident :" + answer.incident.toString() + '\n' + 'Ritms :' + answer.ritm.toString();
g_form.setValue("work_notes", setValues);
}
This should work.
I'm able to get it in worknotes :
ServiceNow Developer
I know one thing, and that is that I know nothing.
- Socrates

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-01-2023 09:14 PM
Hi @Community Alums,
Have you tried debugging your code? Have you verified if the values (RITM numbers) are getting returned by the Script Include function?
Also, I have a slightly unrelated question. Is there a particular reason to be using getXMLWait() instead of getXMLAnswer() maybe?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-01-2023 10:12 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-01-2023 10:31 PM - edited 10-01-2023 10:38 PM
Hi,
Great to hear that. So, is your issue resolved, or are the RITMs not getting populated yet?
In case your issue isn't resolved, one thing that I would like to know is if you are submitting both incidents and RITMs at the same time. Would it be possible to merge the two Client Scripts so that you could perform the field update at one go?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-01-2023 10:52 PM
Hi @Arpan Baishya ,
My issue isn't resolved. RITM's are not getting populated into Work notes. In the screenshot you can see only incidents. Maybe I will try merging both the client scripts into one and check.
Regards
Suman P.