Issue
Symptoms
Requested Item is "Cancelled" before the REQ was Approved.
Release
Any supported release
Cause
Bad query in one of the RunScript activity which updates the 'sc_req_item' record.
Resolution
The REQ workflow had a RunScript activity in the workflow after an Approval activity.This activity has been connected to the "Rejected" condition of the Approval activity.
From here, once the Approval is "Rejected" on the REQ, the RunScript queries 'sc_req_item' table and update the state to "Cancelled".
But the script has below piece of code:
var rec = new GlideRecord('sc_req_item');
rec.addQuery('request.getDisplayValue()', current.number);
rec.addQuery('active', true);
rec.query();
while(rec.next()){
rec.state =9;
rec.update();
}
The line
rec.addQuery('request.getDisplayValue()', current.number);
from the above code is not valid.So, based on the other query, it grabs all the Active requested item records and update the State to '9' (cancelled).
Replacing the invalid query with
rec.addQuery('request.number', current.number);
resolves the issue.