- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-15-2026 05:22 AM
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);