- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-13-2024 01:04 AM
hi All,
i hope everyone is ok.
i do have a catalogue script include that passes a number to a script include.
The script include checks if that number is included in incident records and record producers. Then, the script include passes back the array containing the list of incidents. The issue is that i get the following error message.
"org.mozilla.javascript.NativeArray@26383b51"
When i run the code from script include in a script background the result is ok.
would you know why?
client script
var orderid = g_form.getValue('u_V6_Impacted_Order_Id');
//Call script include
var ga = new GlideAjax('global.OptusUtils'); //Scriptinclude
ga.addParam('sysparm_name', 'getExistingOrder'); //Method
ga.addParam('orderId',orderid); //Parameters
ga.getXML(getResponse);
function getResponse(response){
var res = response.responseXML.documentElement.getAttribute("answer");
alert(res);
}
script include
var order = this.getParameter('sysparm_orderId');
var increc = [];
var gr = new GlideRecord('incident');
gr.addEncodedQuery("cmdb_ci.name=jarvis^active=true^descriptionISNOTEMPTY");
gr.query();
while(gr.next()) {
if(gr.description.indexOf(order)>-1) {
increc.push(gr.number);
}
}
var gr2 = new GlideRecord('sc_item_produced_record');
gr2.addEncodedQuery("producer=53508584dba663807316e3334a961982^task.sys_class_name=incident^task.stateIN1,2,-5,-1,12,11");
gr2.query();
while(gr2.next()) {
if(order == gr2.task.variables.u_V6_Impacted_Order_Id) {
increc.push(gr2.task.number);
}
}
//var answer = increc;
return increc;
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-13-2024 01:32 AM
@El Cuchi Please update your script include script as follows.
var order = this.getParameter('sysparm_orderId');
var increc = [];
var gr = new GlideRecord('incident');
gr.addEncodedQuery("cmdb_ci.name=jarvis^active=true^descriptionISNOTEMPTY");
gr.query();
while(gr.next()) {
if(gr.description.indexOf(order)>-1) {
increc.push(gr.number);
}
}
var gr2 = new GlideRecord('sc_item_produced_record');
gr2.addEncodedQuery("producer=53508584dba663807316e3334a961982^task.sys_class_name=incident^task.stateIN1,2,-5,-1,12,11");
gr2.query();
while(gr2.next()) {
if(order == gr2.task.variables.u_V6_Impacted_Order_Id) {
increc.push(gr2.task.number);
}
}
//var answer = increc;
return increc.toString();
Please mark my response helpful and accepted solution if it addresses your question.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-13-2024 01:32 AM
@El Cuchi Please update your script include script as follows.
var order = this.getParameter('sysparm_orderId');
var increc = [];
var gr = new GlideRecord('incident');
gr.addEncodedQuery("cmdb_ci.name=jarvis^active=true^descriptionISNOTEMPTY");
gr.query();
while(gr.next()) {
if(gr.description.indexOf(order)>-1) {
increc.push(gr.number);
}
}
var gr2 = new GlideRecord('sc_item_produced_record');
gr2.addEncodedQuery("producer=53508584dba663807316e3334a961982^task.sys_class_name=incident^task.stateIN1,2,-5,-1,12,11");
gr2.query();
while(gr2.next()) {
if(order == gr2.task.variables.u_V6_Impacted_Order_Id) {
increc.push(gr2.task.number);
}
}
//var answer = increc;
return increc.toString();
Please mark my response helpful and accepted solution if it addresses your question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-15-2024 06:14 PM
Hi Sandeep,
thank you so much for your time and help.
i tried and did not work.
Interestingly, i run 2 tests.
1 - displayed the value of the order passed by the client script. The result is right as i can see the number i typed via service portal.
2 - i logged the value received in the script include and i can only see null.
regards,
Max