Autopopulate categoryowner depends upon category and subcategory

sibasundarsahoo
Tera Contributor
 
8 REPLIES 8

Anand Kumar P
Giga Patron
Giga Patron

Try with below script i have updated

Script Include -

var datadependencyutils = Class.create();
datadependencyutils.prototype = {
    initialize: function() {},
    getCategoryOwnersApprovaldependsuponCategory: function() {
        //var array1 = '';
var category = this.getParameter('sysparm_u_category');
var subcategory = this.getParameter('sysparm_u_sub_category');

        if (u_category == 'Other' || u_category == 'Content Management' || u_category == 'Tech Solution Delivery (Software Engineering Tools)' || u_category == 'Knowledge Management' || u_category == 'Taxonomy Management (Data)' || u_category == 'Artificial Intelligence' || u_category == 'Business Analytics' || u_category == 'Business Intelligence' || u_category == 'Claim Management' || u_category == 'Quality Management') {
            var gr4 = new GlideRecord('u_datadependency');
            gr4.addEncodedQuery('u_dependent_value=' + u_category + '^u_element=Category Owner Approval^active=true');
            gr4.query();
            if (gr4.next()) {
                var userapproval2 = gr4.u_user_approval;
                if (userapproval2.indexOf(',') >= 0) {
                    userapproval2 = userapproval2.substring(0, userapproval2.indexOf(','));
                }
                return userapproval2;
            }
        } else {
            if (u_sub_category == '') //subcatg == ''
            return '';
            var gr3 = new GlideRecord('u_datadependency');
            gr3.addEncodedQuery('u_dependent_value=' + u_category + '^u_dependent_value_2=' + u_sub_category + '^u_element=Category Owner Approval^active=true');
            gr3.query();
            if (gr3.next()) {
                var userapproval = gr3.u_user_approval;
                if (userapproval.indexOf(',') >= 0) {
                    //gs.log("approver"+userapproval);
                    userapproval = userapproval.substring(0, userapproval.indexOf(','));
                }
                return  userapproval;
            }
        }
    },
 
    type: 'datadependencyutils'
};

Onchange Clientscript -
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}

var category = g_form.getValue('u_category');
var subCategory = g_form.getValue('u_sub_category');

if (category) {
var ga = new GlideAjax('datadependencyutils');
ga.addParam('sysparm_name', 'getCategoryOwnersApprovaldependsuponCategory');
ga.addParam('sysparm_u_category', category);
ga.addParam('sysparm_u_sub_category', subCategory);
ga.getXML(function(response) {
var approvalUser = response.responseXML.documentElement.getAttribute("answer");
if (approvalUser) {
g_form.setValue('u_category_owner', approvalUser);
} else {
g_form.clearValue('u_category_owner');
}
});
}
}

 

If my response helped, please mark it as the accepted solution and give a thumbs up👍.
Thanks,
Anand

i tried this script but it is not working

 

i put a alert below the function. 

alert('Data sent to si'+response); - this one
but when i checked it in portal view in response it showing this 'Data sent to si[object Object]
'

var AutopopulateCategoryOwner = Class.create();
AutopopulateCategoryOwner.prototype = {
    initialize: function() {},
    getCategoryOwnersApprovaldependsuponCategory: function() {
        //var array1 = '';
        var category = this.getParameter('sysparm_u_category');
        var subcategory = this.getParameter('sysparm_u_sub_category');
        var array1 = {};
        if (category == 'Other' || category == 'Content Management' || category == 'Tech Solution Delivery (Software Engineering Tools)' || category == 'Knowledge Management' || category == 'Taxonomy Management (Data)' || category == 'Artificial Intelligence' || category == 'Business Analytics' || category == 'Business Intelligence' || category == 'Claim Management' || category == 'Quality Management') {
            var gr4 = new GlideRecord('u_datadependency');
            gr4.addQuery('u_dependent_value', category);
            gr4.addQuery('u_element', 'Category Owner Approval');
            gr4.addActiveQuery();
            gr4.query();
            if (gr4.next()) {
                array1.app = gr4.u_user_approval;
            }
            return JSON.stringify(array1);
        }

    },
    type: 'AutopopulateCategoryOwner'
};