Client Script and Script Include Issue

Wasdom_Kung
Tera Guru

Hello,
I am currently using a client script, which calls a script include to pull information from a RITM and populate it into a multi-line text field on a record producer but keep getting an error.

I've referenced it with one I created which pulled from a RITM and populated a text field on a catalog item but can't see where it's going wrong - can anyone point me in the right direction? 

 

Thanks in advance.

Client script:

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

    var gajax = new GlideAjax('LOTH_GetRequestedItemDetails');
    gajax.addParam('sysparm_name', 'isRITM');
    gajax.addParam('sysparm_ritm', newValue);
    gajax.getXML(ajaxResponse);

    function ajaxResponse(response) {
        var answer = JSON.parse(response.responseXML.documentElement.getAttribute("answer"));
        var disputeRequest = 'Request: ' + answer.request;
        var disputerequestedFor = 'Requested for: ' + answer.requestedFor;
		var disputecontact = 'Contact number: ' + answer.contact;
		var disputelocation = 'Location : ' + answer.location;

        g_form.setValue('u_requested_item_details', + disputeRequest + disputerequestedFor + disputecontact + disputelocation);
	}
}

 

 


Script include:

 

 

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

    isRITM: function() {
        var ritm = this.getParameter('sysparm_ritm');
        var retRes = {};
        //get user record:
        var gr = new GlideRecord('sc_req_item');
        gr.addQuery('sys_id', ritm);
        gr.query();
        if (gr.next()) {
            retRes.request = gr.request + '\n';
			retRes.requestedFor = gr.requestedFor + '\n';
			retRes.contact = gr.variables.u_phone_contact + '\n';
			retRes.location = gr.variables.u.location + '\n';
        }
        return new JSON().encode(retRes);
    },
    type: 'LOTH_GetRequestedItemDetails'
});

 

1 ACCEPTED SOLUTION

Wasdom_Kung
Tera Guru

This was fixed with the following:

Client Script:

function onChange(control, oldValue, newValue, isLoading) {
    if (isLoading || newValue == '') {
        return;
    }
    var gajax = new GlideAjax('LOTH_GetRequestedItemDetails');
    gajax.addParam('sysparm_name', 'isRITM');
    gajax.addParam('sysparm_ritm', newValue);
    gajax.getXMLAnswer(ajaxResponse);
}

function ajaxResponse(response) {
    var answer = JSON.parse(response);
    var disputeRequest = 'Request: ' + answer.request;
    var disputeItem = 'Item: ' + answer.item;
    var disputeRequestedFor = 'Requested for: ' + answer.requested_for;
    var disputeRequestedForID = 'Requested for user ID: ' + answer.requestedForID;
    var disputeContact = 'Contact number: ' + answer.contact;
    var disputeLocation = 'Location: ' + answer.location;
	//var disputeResolver = 'Resolving team: ' + answer.resolver;
	//var disputeClosingComments = "Closing comments: " + answer.comments;
    g_form.setValue('u_requested_item_details', disputeRequest + '\n' + disputeItem + '\n' + disputeRequestedFor + '\n' + disputeRequestedForID + '\n' + disputeContact + '\n' + disputeLocation); //+ '\n' + disputeResolver + '\n' + disputeClosingComments);
}


Script Include:

var LOTH_GetRequestedItemDetails = Class.create();
LOTH_GetRequestedItemDetails.prototype = Object.extendsObject(AbstractAjaxProcessor, {
    isRITM: function() {
        var ritm = this.getParameter('sysparm_ritm');
        var retRes = {};
        //get user record:
        var gr = new GlideRecord('sc_req_item');
        if (!gr.get(ritm)) {
			return;
        } else {
            retRes.request = gr.request.getDisplayValue();
            retRes.item = gr.cat_item.getDisplayValue();
            retRes.requested_for = gr.request.requested_for.getDisplayValue();
            retRes.requestedForID = gr.request.requested_for.user_name.getDisplayValue();
            retRes.contact = gr.variables.u_phone_contact.getDisplayValue();
            retRes.location = gr.variables.location.getDisplayValue();
			//retRes.resolver = gr.sc_task.assignment_group.getDisplayValue();
			//retRes.comments = gr.comments;
        }
        return JSON.stringify(retRes);
    },
});

View solution in original post

6 REPLIES 6

Rahul Kumar17
Tera Guru

Hi,

 

In the script include

 

retRes.location = gr.variables.u_location + '\n';

 

Thanks,

Rahul Kumar

If my response helped please mark it correct and close the thread.

Thanks,
Rahul Kumar

Wasdom_Kung
Tera Guru

This was fixed with the following:

Client Script:

function onChange(control, oldValue, newValue, isLoading) {
    if (isLoading || newValue == '') {
        return;
    }
    var gajax = new GlideAjax('LOTH_GetRequestedItemDetails');
    gajax.addParam('sysparm_name', 'isRITM');
    gajax.addParam('sysparm_ritm', newValue);
    gajax.getXMLAnswer(ajaxResponse);
}

function ajaxResponse(response) {
    var answer = JSON.parse(response);
    var disputeRequest = 'Request: ' + answer.request;
    var disputeItem = 'Item: ' + answer.item;
    var disputeRequestedFor = 'Requested for: ' + answer.requested_for;
    var disputeRequestedForID = 'Requested for user ID: ' + answer.requestedForID;
    var disputeContact = 'Contact number: ' + answer.contact;
    var disputeLocation = 'Location: ' + answer.location;
	//var disputeResolver = 'Resolving team: ' + answer.resolver;
	//var disputeClosingComments = "Closing comments: " + answer.comments;
    g_form.setValue('u_requested_item_details', disputeRequest + '\n' + disputeItem + '\n' + disputeRequestedFor + '\n' + disputeRequestedForID + '\n' + disputeContact + '\n' + disputeLocation); //+ '\n' + disputeResolver + '\n' + disputeClosingComments);
}


Script Include:

var LOTH_GetRequestedItemDetails = Class.create();
LOTH_GetRequestedItemDetails.prototype = Object.extendsObject(AbstractAjaxProcessor, {
    isRITM: function() {
        var ritm = this.getParameter('sysparm_ritm');
        var retRes = {};
        //get user record:
        var gr = new GlideRecord('sc_req_item');
        if (!gr.get(ritm)) {
			return;
        } else {
            retRes.request = gr.request.getDisplayValue();
            retRes.item = gr.cat_item.getDisplayValue();
            retRes.requested_for = gr.request.requested_for.getDisplayValue();
            retRes.requestedForID = gr.request.requested_for.user_name.getDisplayValue();
            retRes.contact = gr.variables.u_phone_contact.getDisplayValue();
            retRes.location = gr.variables.location.getDisplayValue();
			//retRes.resolver = gr.sc_task.assignment_group.getDisplayValue();
			//retRes.comments = gr.comments;
        }
        return JSON.stringify(retRes);
    },
});