In Script Include while (sr.next()) is not looping, But in Back Ground Script it is working fine.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-07-2024 09:08 PM
var ga = new GlideAjax('rca_technique'); //Scriptinclude
Script Include which is Client Callable :-
var rca_technique = Class.create();
In Background Script It is giving correct output
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-08-2024 05:25 AM
You are missing the sysparm identification on the parameter that you are passing from the client to the Script Include, and I'm not sure if it's going to like another underscore, so best to go with something like:
ga.addParam('sysparm_sysid', g_form.getUniqueValue()); //Parameters
This will already be a string, so you don't need to convert it in the server script.
...
var sysId = this.getParameter('sysid');
var gr = new GlideRecord('problem');
gr.addQuery('sys_id', sysId);
...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-08-2024 05:32 AM
Hi @Sridhar G ,
for passing any values from Client to server side via GlideAjax we use "sysparm" which was missing in ur code for sys id.
Try updated code.
Client:
var ga = new GlideAjax('rca_technique'); //Scriptinclude
ga.addParam('sysparm_name', 'getState'); //Method
ga.addParam('sysparm_sysid', g_form.getUniqueValue()); //Parameters
ga.getXMLAnswer(getResponse);
Server Side:
var rca_technique = Class.create();
rca_technique.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getState: function() {
var sysId = this.getParameter('sysparm_sysid');
var sysId1 = sysId.toString();
var gr = new GlideRecord('problem');
gr.addQuery('sys_id', sysId1);
gr.query();
while (gr.next()) {
var answer = gr.getValue('state');
}
return answer.toString();
},
type: 'rca_technique'
});
Thanks,
Danish
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-08-2024 12:30 PM
Hi @Sridhar G ,
There are few errors in your code please find the corrected code,
Client script:
var ga = new GlideAjax('rca_technique'); //Scriptinclude
ga.addParam('sysparm_name', 'getState'); //Method
ga.addParam('sysparm_id', g_form.getUniqueValue()); //Parameters
ga.getXMLAnswer(getResponse);
}
function getResponse(response){
var ans = response.responseXML.documentElement.getAttribute('answer');
alert("line number " + ans);
//write the operation which you want to do (seeting value, making field readonly etc)
}
script include:
var rca_technique = Class.create();
rca_technique.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getState: function() {
var sysId = this.getParameter('sysparm_id');
var gr = new GlideRecord('problem');
gr.addQuery('sys_id', sysId);
gr.query();
while (gr.next()) {
var answer = gr.getValue('state');
}
return answer.toString();
},
type: 'rca_technique'
});
Please mark this comment as Correct Answer/Helpful if it helped you.
Regards,
Swathi Sarang