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.

Getting error "Move function declaration to function body root." in client script.

VIKAS MISHRA
Tera Contributor

I have written one onchange client script where i have declared one function also but getting warning for that function says "Move function declaration to function body root.".

Kindly check the below code where i am getting error for the function "checkValidMatchCommodityParse".

Please suggest how may i resolve that warning coming.

 

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
if (newValue == 'NDA') {
g_form.clearValue('x_amex_sr_commodity_level_1');
g_form.clearValue('x_amex_sr_commodity_level_2');
g_form.clearValue('x_amex_sr_commodity_level_3');
g_form.clearValue('x_amex_sr_commodity_level_4');
g_form.clearValue('x_amex_sr_pu_commodity_code');
g_form.setDisplay('x_amex_sr_commodity_level_1', 'false');
g_form.setDisplay('x_amex_sr_commodity_level_2', 'false');
g_form.setDisplay('x_amex_sr_commodity_level_3', 'false');
g_form.setDisplay('x_amex_sr_commodity_level_4', 'false');
g_form.setDisplay('x_amex_sr_pu_commodity_code', 'false');
} else if (newValue != 'NDA') {
g_form.setDisplay('x_amex_sr_commodity_level_1', 'true');
g_form.setDisplay('x_amex_sr_commodity_level_2', 'true');
g_form.setDisplay('x_amex_sr_commodity_level_3', 'true');
g_form.setDisplay('x_amex_sr_commodity_level_4', 'true');
g_form.setDisplay('x_amex_sr_pu_commodity_code', 'true');

if ((g_form.getValue(x_amex_sr_contract_id)) != '' && (g_form.getValue(x_amex_sr_pu_commodity_code)) == '') {
var ga = new GlideAjax('SourcingEngagementUtils_2');
ga.addparam('sysparam_name', 'checkValidMatchCommodity');
ga.addParam('sysparam_contractid', g_form.getValue('contractid'));
ga.getXML(checkValidMatchCommodityParse);
}

function checkValidMatchCommodityParse(response)
{
var answer = response.responseXML.documentElement.getAttribute("answer");
g_form.setValue('x_amex_sr_commodity_level_1', answer);
g_form.setValue('x_amex_sr_commodity_level_2', answer);
g_form.setValue('x_amex_sr_commodity_level_3', answer);
g_form.setValue('x_amex_sr_commodity_level_4', answer);
g_form.setValue('x_amex_sr_pu_commodity_code', answer);
}
//Type appropriate comment here, and begin script below
}
}

1 ACCEPTED SOLUTION

Ankur Bawiskar
Tera Patron
Tera Patron

Hi,

it's a warning which you can ignore

If you wish you can update it as this; i.e. move the function outside onChange

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
	if (isLoading || newValue === '') {
		return;
	}
	if (newValue == 'NDA') {
		g_form.clearValue('x_amex_sr_commodity_level_1');
		g_form.clearValue('x_amex_sr_commodity_level_2');
		g_form.clearValue('x_amex_sr_commodity_level_3');
		g_form.clearValue('x_amex_sr_commodity_level_4');
		g_form.clearValue('x_amex_sr_pu_commodity_code');
		g_form.setDisplay('x_amex_sr_commodity_level_1', 'false');
		g_form.setDisplay('x_amex_sr_commodity_level_2', 'false');
		g_form.setDisplay('x_amex_sr_commodity_level_3', 'false');
		g_form.setDisplay('x_amex_sr_commodity_level_4', 'false');
		g_form.setDisplay('x_amex_sr_pu_commodity_code', 'false');
	} else if (newValue != 'NDA') {
		g_form.setDisplay('x_amex_sr_commodity_level_1', 'true');
		g_form.setDisplay('x_amex_sr_commodity_level_2', 'true');
		g_form.setDisplay('x_amex_sr_commodity_level_3', 'true');
		g_form.setDisplay('x_amex_sr_commodity_level_4', 'true');
		g_form.setDisplay('x_amex_sr_pu_commodity_code', 'true');

		if ((g_form.getValue(x_amex_sr_contract_id)) != '' && (g_form.getValue(x_amex_sr_pu_commodity_code)) == '') {
			var ga = new GlideAjax('SourcingEngagementUtils_2');
			ga.addparam('sysparam_name', 'checkValidMatchCommodity');
			ga.addParam('sysparam_contractid', g_form.getValue('contractid'));
			ga.getXML(checkValidMatchCommodityParse);
		}
		//Type appropriate comment here, and begin script below
	}
}

function checkValidMatchCommodityParse(response){
	var answer = response.responseXML.documentElement.getAttribute("answer");
	g_form.setValue('x_amex_sr_commodity_level_1', answer);
	g_form.setValue('x_amex_sr_commodity_level_2', answer);
	g_form.setValue('x_amex_sr_commodity_level_3', answer);
	g_form.setValue('x_amex_sr_commodity_level_4', answer);
	g_form.setValue('x_amex_sr_pu_commodity_code', answer);
}

regards
Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

1 REPLY 1

Ankur Bawiskar
Tera Patron
Tera Patron

Hi,

it's a warning which you can ignore

If you wish you can update it as this; i.e. move the function outside onChange

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
	if (isLoading || newValue === '') {
		return;
	}
	if (newValue == 'NDA') {
		g_form.clearValue('x_amex_sr_commodity_level_1');
		g_form.clearValue('x_amex_sr_commodity_level_2');
		g_form.clearValue('x_amex_sr_commodity_level_3');
		g_form.clearValue('x_amex_sr_commodity_level_4');
		g_form.clearValue('x_amex_sr_pu_commodity_code');
		g_form.setDisplay('x_amex_sr_commodity_level_1', 'false');
		g_form.setDisplay('x_amex_sr_commodity_level_2', 'false');
		g_form.setDisplay('x_amex_sr_commodity_level_3', 'false');
		g_form.setDisplay('x_amex_sr_commodity_level_4', 'false');
		g_form.setDisplay('x_amex_sr_pu_commodity_code', 'false');
	} else if (newValue != 'NDA') {
		g_form.setDisplay('x_amex_sr_commodity_level_1', 'true');
		g_form.setDisplay('x_amex_sr_commodity_level_2', 'true');
		g_form.setDisplay('x_amex_sr_commodity_level_3', 'true');
		g_form.setDisplay('x_amex_sr_commodity_level_4', 'true');
		g_form.setDisplay('x_amex_sr_pu_commodity_code', 'true');

		if ((g_form.getValue(x_amex_sr_contract_id)) != '' && (g_form.getValue(x_amex_sr_pu_commodity_code)) == '') {
			var ga = new GlideAjax('SourcingEngagementUtils_2');
			ga.addparam('sysparam_name', 'checkValidMatchCommodity');
			ga.addParam('sysparam_contractid', g_form.getValue('contractid'));
			ga.getXML(checkValidMatchCommodityParse);
		}
		//Type appropriate comment here, and begin script below
	}
}

function checkValidMatchCommodityParse(response){
	var answer = response.responseXML.documentElement.getAttribute("answer");
	g_form.setValue('x_amex_sr_commodity_level_1', answer);
	g_form.setValue('x_amex_sr_commodity_level_2', answer);
	g_form.setValue('x_amex_sr_commodity_level_3', answer);
	g_form.setValue('x_amex_sr_commodity_level_4', answer);
	g_form.setValue('x_amex_sr_pu_commodity_code', answer);
}

regards
Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader