pr8172510
Kilo Sage

Hey @terrieb,

 

Create This Business Rule on sc_req_item

Table: Requested Item [sc_req_item]
When: Before
Update: 
Order: 1 (very important - lower than OOB rules)
Condition: current.state == 'closed_complete' && current.request.state != 'closed_complete'

(function executeRule(current, previous) {

var request = current.request;

if (!request) {
return;
}

// Count how many RITMs are still open (not closed)
var openRITM = new GlideRecord('sc_req_item');
openRITM.addQuery('request', request);
openRITM.addQuery('state', 'NOT IN', 'closed_complete,closed_incomplete,cancelled');
openRITM.addQuery('sys_id', '!=', current.sys_id); // Exclude current RITM
openRITM.setLimit(1);
openRITM.query();

if (openRITM.hasNext()) {
// There are other open RITMs - prevent the parent Request from closing
gs.eventQueue('sc_request.reopen', request, request.sys_id, null);

gs.addInfoMessage('Request #' + request.number + ' remains open. Waiting for other requested items to complete.');
}

})(current, previous);