How to write UI action script to bring RITM variables to change request description?

Dakarapu Ramya1
Kilo Contributor

Hi all,

We have a requirement whenever user clicks on new change request in related list from RITM  for normal , emergency change variables on RITM should get populated in description.

find_real_file.png

I tried using the script on OOB UI action but no result , Can anyone help with the script:

find_real_file.png

1 ACCEPTED SOLUTION

Hi,

then use display business rule on change_request and same script

it will work

var ritm = new GlideRecord('sc_req_item');
ritm.get(current.getValue('parent'));

var arr = [];
var variables = ritm.variables.getElements(); 
for (var i=0;i<variables.length;i++) { 
	var question = variables[i].getQuestion();
	var label = question.getLabel();
	var value = question.getDisplayValue();
	if(label != '' && value != ''){
		arr.push(label + ":" + value + "");
	}
}
current.description = arr.join('\n');

Regards
Ankur

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

View solution in original post

19 REPLIES 19

Hi,

then use display business rule on change_request and same script

it will work

var ritm = new GlideRecord('sc_req_item');
ritm.get(current.getValue('parent'));

var arr = [];
var variables = ritm.variables.getElements(); 
for (var i=0;i<variables.length;i++) { 
	var question = variables[i].getQuestion();
	var label = question.getLabel();
	var value = question.getDisplayValue();
	if(label != '' && value != ''){
		arr.push(label + ":" + value + "");
	}
}
current.description = arr.join('\n');

Regards
Ankur

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

@Dakarapu Ramya 

it worked for me well

find_real_file.png

RITM

find_real_file.png

Regards
Ankur

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

Hi @Ankur Bawiskar 

I have tried with script on display BR , it is working fine. Here it is fetching all variable values but how to fetch it only for particular variables.

Thank you for help.!!

Kind Regards,

Ramya.

Glad to know that my script worked.

Would you mind marking my response as correct and helpful to close the thread.

The discussion can continue for your further question

Regards
Ankur

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

@Dakarapu Ramya 

For showing particular variable you need to compare the variable name

var ritm = new GlideRecord('sc_req_item');
ritm.get(current.getValue('parent'));

var myVariablesToShow = ['requested_by','email','phone']; // this array holds variables you want to show

var arrayUtil = new global.ArrayUtil();

var arr = [];
var variables = ritm.variables.getElements(); 
for (var i=0;i<variables.length;i++) { 
	var question = variables[i].getQuestion();
	var label = question.getLabel();
	var value = question.getDisplayValue();
	var name = question.getName();
	if(label != '' && value != '' && arrayUtil.contains(myVariablesToShow, name)){
		arr.push(label + ":" + value + "");
	}
}
current.description = arr.join('\n');

Regards
Ankur

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