Skip to main content

ServiceNow code a business rule to close child tasks added manually of a Change request belt-and-braces

Ideally the workflows and ootb business rules should handle these scenarios

but as a catch all, make it asynch update so it doesn't clash with any workflows

 

(function executeRule(current, previous /*null when async*/ ) { var cTask = new GlideRecord("change_task"); cTask.addQuery("change_request", current.sys_id); cTask.addEncodedQuery('state!=3'); cTask.query(); while (cTask.next()) { cTask.state = 3; cTask.work_notes = 'Task closed as Change Request ' + current.number + ' got cancelled'; cTask.update(); } })(current, previous);

 

(ServiceNow )

Comments

Popular posts from this blog

Get URL Parameter - server side script (portal or classic UI)

Classic UI : var sURL_editparam = gs . action . getGlideURI (). getMap (). get ( ' sysparm_aparameter ' ); if ( sURL_editparam == 'true' ) { gs . addInfoMessage ( 'parameter passed ); } Portal : var sURL_editparam = $sp . getParameter ( " sysparm_aparameter " ); if ( sURL_editparam == 'true' ) { gs . addInfoMessage ( 'parameter passed ); }

URL link in addInfoMessage

var ga=new GlideAjax('gld_HR_ajax'); ga.addParam('sysparm_name', 'checkEmployeeNumber_hrProfile'); ga.addParam('sysparm_hrprofilenumber', g_form.getValue('number')); ga.addParam('sysparm_employeenumber', newValue); ga.getXMLAnswer(function(answer) { if (answer!='undefined' && answer!=''){ var navURL="<a style='text-decoration:underline;color:blue' href=hr_profile.do?sysparm_query=number=" + answer + ">" + answer + "</a><img width='3' src='images/s.gif'/>"; var sMsg='The employee number entered already exists on another HR Profile ' + navURL; //alert(sMsg); g_form.showErrorBox('employee_number', 'error - please check'); g_form.addInfoMessage(sMsg); } });