- 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-02-2023 06:55 AM
Hi @Community Alums
Found it...!!!
In script include,
update below line as toString() - parenthesis is missing
var changeArr = this.getParameter('sysparm_changeID').toString.split(',');
with this :
var changeArr = this.getParameter('sysparm_changeID').toString().split(',');
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-02-2023 06:48 AM
Can you please try from your end, I am very much in need of this.
Regards
Suman P.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-02-2023 07:00 AM
Thank you, I sent you linkedIn Connection request. You saved me.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-02-2023 07:05 AM
Sure...!! & always welcome...!!!
ServiceNow Developer
I know one thing, and that is that I know nothing.
- Socrates