Cancel RITM button

 combined client/server UI action

onclick: cancel_ritm()

action: he_cancel_ritm_records

condition: && gs.hasRole('catalog_manager');

script: (include additional script to cancel approvals but this may happen OOTB)

function he_cancel_ritm() { var res = prompt("Enter cancellation reason:"); if (res) { g_form.setValue('comments', 'RITM cancelled for reason: ' + res); gsftSubmit(null, g_form.getFormElement(), 'he_cancel_ritm_records'); } } if (typeof window == 'undefined') he_cancel_ritm_records(); function he_cancel_ritm_records() { action.setRedirectURL(current); cancelTasks(current.sys_id); gs.addInfoMessage(current.number + ' is now cancelled'); current.state = '4'; gs.eventQueue('he.ritm.cancelled', current, '', '');//--queue an email--this can be used later once the enhancement to create a 'closed cancelled' state value has been completed, for now the standard close notification will fire. current.update(); } function cancelTasks (ritm_sysid){ var grTasks=new GlideRecord('sc_task'); grTasks.addActiveQuery(); grTasks.addQuery('request_item', ritm_sysid); grTasks.query(); while ({ gs.addInfoMessage('Cancelling task ' + grTasks.number); grTasks.state=4; grTasks.update(); } }


Popular posts from this blog

Running transform maps asynchronously

GlideRecord setValue

Post a command to the ECC queue for the mid server to initiate a powershell file copy