We've updated the ServiceNow Community Code of Conduct, adding guidelines around AI usage, professionalism, and content violations. Read more

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

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  ||  10x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

1 REPLY 1

Ankur Bawiskar
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  ||  10x ServiceNow MVP  ||  ServiceNow Community Leader