set a value by using runscript in workflow

Rakhesh
Kilo Guru

Hi ALL,

 

I want to set a field value(string) in approval table by using runscript in Workflow. I wrote one runscript but it did not works. Guys, please have a look once.

 

var gr = new GlideRecord('sysapproval_approver');
gr.addQuery('sysapproval', current.sys_id);
gr.query();
if(gr.next()){
gr.u_approval_type='First leval Approval';// u_approval_type is a field name
}

 

Regards,

Rakhesh

1 ACCEPTED SOLUTION

Erm, from what I see right now - you are trying to execute the script before actually creating the approval. Could you perhaps try to swap the places of the Run Script activity and the Approval activity and see what your logs log then? It just seems like you're trying to edit the record before actually creating it 🙂

View solution in original post

17 REPLIES 17

But which table is the workflow running on?

sc_req_item

gs.log('found ' + gr.getRowCount() + ' records');
if(gr.next()){ //change this line to while(gr.next()){ to loop through records
gs.log('TEST FOUND APPROVAL RECORD');
gr.u_approval_type='First level Approval';
gr.update();
}

 

How many records has the query found when logging their count (first line)?

found 0 records

Ah, there is the issue - it does not enter the if-block because there are simply no records found to update.

Now, can you take a screenshot or give context about your workflow process? Perhaps you are trying to run this script before creating the actual approval? Or perhaps you are trying to assign the approval to an invalid user?