- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-24-2023 09:56 AM - edited ‎01-24-2023 10:01 AM
Client script :
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var arr;
var parentRec = g_form.getValue('u_service_business_app');
var ga = new GlideAjax('bappUtils');
ga.addParam('sysparm_name', 'getChildValues');
ga.addParam('sysparm_recparent', parentRec);
ga.getXML(myCallBack);
function myCallBack(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
// arr = 'sys_idIN' + answer; //.split(",");
var splitAnswer = answer.split(',');
for (var i = 0; i < splitAnswer.length; i++) {
g_form.setValue('u_tech_serv_off_app_service', splitAnswer[i]); //g_form.getValue('description') + '\n' + splitAnswer[i]);
}
// g_form.setValue('u_tech_serv_off_app_service', arr);
}
}
Script Include :
var bappUtils = Class.create();
bappUtils.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getChildValues: function() {
var array = [];
var uid = this.getParameter('sysparm_recparent');
var prj = new GlideRecord('cmdb_rel_ci');
prj.addEncodedQuery("parent.sys_class_name=cmdb_ci_business_app^child.sys_class_name=cmdb_ci_service_auto");
prj.addQuery('parent.sys_id', uid);
prj.query();
while (prj.next()) {
var list1 = prj.child.sys_id;
array.push(list1); JSON.stringify(variable);
}
return JSON.stringify(array); //'sys_idIN' + array; //.toString(); //return 'sys_idIN' + retArrayy;
},
type: 'bappUtils'
});
#Anyone help me out here
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-25-2023 03:53 AM
like this
getChildValues: function(u_service_business_app) {
var array = [];
var prj = new GlideRecord('cmdb_rel_ci');
prj.addEncodedQuery("parent.sys_class_name=cmdb_ci_business_app^child.sys_class_name=cmdb_ci_service_auto");
prj.addQuery('parent.sys_id', u_service_business_app);
prj.query();
while (prj.next()) {
var list1 = prj.child.sys_id;
array.push(list1.toString());
}
return 'sys_idIN' + array;
},
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-24-2023 11:49 AM
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var parentRec = g_form.getValue('u_service_business_app');
var ga = new GlideAjax('bappUtils');
ga.addParam('sysparm_name', 'getChildValues');
ga.addParam('sysparm_recparent', parentRec);
ga.getXML(myCallBack);
function myCallBack(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
var ans= answer.split(',');
g_form.setValue('field1', ans[0]); // this will be first value in array
g_form.setValue('field2',ans[1]);// second and go on push values according in Script include
}
}
Script Include :
var bappUtils = Class.create();
bappUtils.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getChildValues: function() {
var array = [];
var uid = this.getParameter('sysparm_recparent');
var prj = new GlideRecord('cmdb_rel_ci');
prj.addEncodedQuery("parent.sys_class_name=cmdb_ci_business_app^child.sys_class_name=cmdb_ci_service_auto");
prj.addQuery('parent.sys_id', uid);
prj.query();
while (prj.next()) {
array.push(prj.child.sys_id.toString());
}
return array.toString();
},
type: 'bappUtils'
});
Thanks,
Bharath
Bharath Chintala
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-25-2023 01:22 AM
Here based on the business appplication i need to list out related application services.[Note : one business applications can have multiple application services.]
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-24-2023 03:16 PM
Might be able to help but what are you trying to do? If your script isn't failing on "JSON.stringify(variable)" because variable is not defined then you're setting the value of u_tech_serv_off_app_service over and over...why?
You also have sys_idIN commented out...are you trying to make a reference qualifier....reference qualifier wouldn't use a client script.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-24-2023 04:31 PM
@Mr khan A reference field can hold only one reference value. If it's an array you need to create a list type field which can hold an comma separated list of reference values.
Please mark as correct answer if this solves your issue.
ServiceNow Community Rising Star, Class of 2023