Client Script to set the value

carlh
Kilo Guru

Hi All,

Will anyone help me come up with a client script that will copy the value of a subcategory to the Configuration Item field?   I can't write javascript and am in a hurry

I believe it it should be "on change" type.

Incident table

psuedo script

If "subcategory" changes to "anything", set   "Configuration Item" to same as "subcategory"

Will copying the display name into that reference field work if they are the same?

Currently, I have a reporting issue with the way I've enhanced the form and think this may be the quickest fix Until we figure out how to fix the data issue we've created

if I had this script I could remove several ui policies and actions which are becoming confusing and sort of have me cornered at the moment.  

Please let let me know if you can help.

Thanks in advance for your time and assistance!

regards,   Carl

1 ACCEPTED SOLUTION

first create script include mark that check box client callable



find_real_file.png


var test = Class.create();


test.prototype = Object.extendsObject(AbstractAjaxProcessor, {


ajaxFunction_LocationAjax : function() {


var fo='';


var customerID = this.getParameter('sysparm_custid'); //paramter from the client side


var ag = new GlideRecord('cmdb_ci');


ag.addQuery('name', customerID);


ag.query();


while (ag.next()) {


fo= ag.sys_id;



gs.log('value is :'+fo);


}


return fo;


},




type: 'test'


});






find_real_file.png




function onChange(control, oldValue, newValue, isLoading, isTemplate) {


if (isLoading || newValue === '') {


return;


}



//Type appropriate comment here, and begin script below


var customerNo = g_form.getValue('subcategory');


var gajax = new GlideAjax('test'); // call the Script Include class


// call the public method


gajax.addParam('sysparm_name', 'ajaxFunction_LocationAjax');


// pass the sysID to the method


gajax.addParam('sysparm_custid', customerNo);


//callback function is used to return the result, passed to the getXML function


gajax.getXML(callBackLocation);



function callBackLocation(response) {


var answer = response.responseXML.documentElement.getAttribute('answer');


alert(answer);


g_form.setValue('cmdb_ci', answer);


}


}


View solution in original post

41 REPLIES 41

The one that says "undefined" is the 2nd alert which is in line 16 of the script.



It seems line 8 worked and returned the incident number



The field is cmdb_ci. When I right click and "show cmdb_ci" it shows that it's on the task table.





Get Outlook for iOS<https://aka.ms/o0ukef>


if that is first alert then it should show the subcategory in the alert , not the inc number.


I just cut and pasted the script since I can't write or read them. Sorry I'm no help on this .



Get Outlook for iOS<https://aka.ms/o0ukef>


Sorry Carl for not being big help here. Lets give a last try , can you plese right click on the subcategory label and post the screen shot ?


find_real_file.png