run script workflow to cancel all previous approvals

brendanwilson84
Kilo Guru

Hi Guys

I am trying to create a run script in my workflow to look at all previous approval and move them to a cancelled state if "restart approvals" is clicked on the form.

Restarting the approvals will generate the approvals over again according to the workflow and basically restart the workflow. But we want all other approvals previous moved to cancelled state.

I was looking at run script but i am no code guy! Has anyone ever done this in run script to cancelled all previous approvals on a record and what there code might look like?

1 ACCEPTED SOLUTION

Sharique Azim
Mega Sage

Hi Brendan,



You can use this ONLY for cancelling the approval.



var app=new GlideRecord('sysapproval_approver');


app.addQuery('sysapproval',current.sys_id);


app.query();


while(app.next()){


    app.state='cancelled';


    app.autoSysFields(false);


    app.setWorkflow(false);    


    app.update();



}


View solution in original post

3 REPLIES 3

Sharique Azim
Mega Sage

Hi Brendan,



You can use this ONLY for cancelling the approval.



var app=new GlideRecord('sysapproval_approver');


app.addQuery('sysapproval',current.sys_id);


app.query();


while(app.next()){


    app.state='cancelled';


    app.autoSysFields(false);


    app.setWorkflow(false);    


    app.update();



}


Sharique, if i could id buy you a drink!



Thanks so much that worked.  


HAHAHA.. sure!