- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-03-2018 04:34 PM
Hi guys,
I've tried to follow the guide at https://community.servicenow.com/community?id=community_article&sys_id=9f7ce2e1dbd0dbc01dcaf3231f96196e to create a client script which uses script include but the script is not accessing the script include (or i'm not reading the data correctly). I have used this process in other Client scripts in slightly different manners and they work fine so i'm not sure what's happening, if I can get another set of eyes that would be greatly appreciated.
The table inherits the incident table, and uses a matrix of category/subcategory to determine the priority/SLA duration.
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var ga = new GlideAjax('AL_SCRIPT');
ga.addParam('sysparm_name','getPriority');
ga.addParam('sysparm_category', g_form.getValue('category'));
ga.addParam('sysparm_subcategory', g_form.getValue('subcategory'));
ga.getXML(parseAjax);
}
function parseAjax(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
g_form.addInfoMessage('priority: ' + answer);
if(answer){
g_form.setValue('priority',answer);
}
}
script include below:
var AL_SCRIPT = Class.create();
AL_SCRIPT.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getPriority: function () {
gs.addInfoMessage("finding priority");
var category = this.getParameter('sysparm_category');
var subcategory = this.getParameter('sysparm_subcategory');
var gr = new GlideRecord('u_ncr_matrix');
gr.addQuery('u_category', category);
gr.addQuery('u_subcategory', category);
gr.query();
if(gr.next()){
return gr.u_priority;
} else return false;
},
type: 'AL_SCRIPT'
});
Solved! Go to Solution.
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-03-2018 09:59 PM
Might be a silly question but have you checked that "Client callable" is ticked on your script include?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-03-2018 04:57 PM
g_form.addInfoMessage will not work in client script.
Please use alert('priority: ' + answer);
Regards,
Sachin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-03-2018 05:53 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-03-2018 08:19 PM
Yes, addInfoMessage does workon Client. Can you try debugging by using alert at client level , what value you are passing and getting as answer ? If object is returned use gr.getValue instead.
Also, by chance did you rename your scriptinclude function name of SI itself. If so it doesn't work properly in such cases. Try creating a new one, it will work.
Thanks
Kushagra
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-03-2018 08:36 PM
Hi Kushagra,
As per the screenshot I have printed the data that I am passing into the script, and it shows the correct string value is being passed in to the addParam functions.
the script include is called "AL_SCRIPT", and it was a new script that I created. What I think the issue might be is related to the structure in how I've created the script include.