Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Script Include Question

Community Alums
Not applicable

Hi,

I am trying to auto-populate the owner of a catalog item, but I am getting null. Kindly help.

 

glideAjax

 

function onLoad() {

	var owner = g_form.getUniqueValue();
	var ga = new GlideAjax("onLoad_Owner_Class");
	ga.addParam("sysparm_name","onLoad_Owner_Function");
	ga.addParam("sysparm_owner", owner);
	ga.getXML(callBackFunction);
	function callBackFunction(response){
		var answer = response.responseXML.documentElement.getAttribute('answer');
		//alert(answer);
		g_form.setValue("current_catalog_item_owner", answer);
	}
	

}

 

 

ScriptInclude

 

var onLoad_Owner_Class = Class.create();
onLoad_Owner_Class.prototype = Object.extendsObject(AbstractAjaxProcessor, {

	onLoad_Owner_Function: function(){
		var getSysID = this.getParamater("sysparm_owner");
		var gr = new GlideRecord("sc_cat_item");
		gr.addQuery("sys_id", getSysID);
		gr.query();
		if(gr.next()){
			return gr.owner;
		}
	},

    type: 'onLoad_Owner_Class'
});

 

Regards

Suman P.

7 REPLIES 7

The above script should do the work too. 

Community Alums
Not applicable

Hi @Pratiksha  @Sandeep Rajput ,

I am still getting the empty value for the owner in the alert

 

GlideAjax

 

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

    var own = g_form.getUniqueValue();
	alert(own);
    var ga = new GlideAjax("onLoad_Owner_Class");
    ga.addParam("sysparm_name", "onLoad_Owner_Function");
    ga.addParam("sysparm_owner", own);
    ga.getXML(callBackFunction);

    function callBackFunction(response) {
        var owner_Field = response.responseXML.documentElement.getAttribute('answer');
        alert(owner_Field);
        g_form.setValue("current_catalog_item_owner", owner_Field);
    }


}

 

ScriptInclude

 

var onLoad_Owner_Class = Class.create();
onLoad_Owner_Class.prototype = Object.extendsObject(AbstractAjaxProcessor, {

    onLoad_Owner_Function: function() {
        var getSysID = this.getParamater("sysparm_owner");
        var gr = new GlideRecord("sc_cat_item");
        gr.addQuery("sys_id", getSysID);
        gr.query();
        if (gr.next()) {
            return gr.getValue('owner');
        }
		return '';
    },

    type: 'onLoad_Owner_Class'
});

 

Regards

Suman P.

 

Community Alums
Not applicable

Thank you @Pratiksha  and @Sandeep Rajput  This is the final working script for

 

GlideAJAX

 

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

   
  //  alert(newValue);
    var ga = new GlideAjax("onLoad_Owner_Class");
    ga.addParam("sysparm_name", "onLoad_Owner_Function");
    ga.addParam("sysparm_owner", newValue);
    ga.getXML(callBackFunction);

    function callBackFunction(response) {
        var owner_Field = response.responseXML.documentElement.getAttribute('answer');
     //   alert(owner_Field);
        g_form.setValue("current_catalog_item_owner", owner_Field);
    }


}

 

ScriptInclude

 

var onLoad_Owner_Class = Class.create();
onLoad_Owner_Class.prototype = Object.extendsObject(AbstractAjaxProcessor, {

    onLoad_Owner_Function: function() {
        var getSysID = this.getParameter("sysparm_owner");
        var gr = new GlideRecord("sc_cat_item");
        gr.addQuery("sys_id", getSysID);
        gr.query();
        if (gr.next()) {
            return gr.getDisplayValue('owner');
        } else {
            return "Record not found";
        }
    },

    type: 'onLoad_Owner_Class'
});

 

Regards

Suman P.