The CreatorCon Call for Content is officially open! Get started here.

on Before Insert Business Rule problem

Alon Grod
Tera Expert

I have an on Before insert BR on the incident table that suppose to populate the assignment group field. Even though Im getting the log 'TRUE', the assignment group is not populated and instead Im getting an empty value inside the assignment group field. I checked and there is no BR that conflict with this BR. What am I doing wrong?

(function executeRule(current, previous /*null when async*/) {

	// Add your code here
	var loc = current.location;

	var gr = new GlideRecord('cmn_location');
	gr.addEncodedQuery('sys_id='+loc+'^u_assignment_groupISNOTEMPTY');
	gr.query();
	if(gr.hasNext()){
		gs.log('TRUE');
		current.assignment_group = gr.u_assignment_group;
	}
	else{
		
	}

})(current, previous);
1 ACCEPTED SOLUTION

Prince Arora
Tera Sage

@Alon Grod ,

 

hasNext() either returns true or false while next() will actually iterate to the record.

 

try updating the code as:

gr.next()

 

 

View solution in original post

13 REPLIES 13

@Alon Grod 

Thank you for marking my response as helpful.

As per new community feature you can mark multiple responses as correct.

I believe I too have answered your question.

If my response helped please mark it correct and close the thread so that it benefits future readers.

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

Saurabh U
Tera Contributor

Replace gr.hasNext() with gr.next(). hasNext() function just checks if a next record is available and does not point to next record.

Prince Arora
Tera Sage

@Alon Grod ,

 

hasNext() either returns true or false while next() will actually iterate to the record.

 

try updating the code as:

gr.next()

 

 

you always have the right answers!! thank you!!!