deleting a record

Balakrishna Ko1
Tera Contributor

I have to delete record that is selected in catalog form. so i have written code below in runscript activity in workflow. the record is not deleting from table only few times it is deleting. can anyone help me on this. thanks

find_real_file.png

script

var gr = new GlideRecord('u_training_courses');

//gr.addQuery('sys_id',current.variables.Requested_for);

gr.addQuery('active',true);

gr.query();

gr.next();

gr.deleteRecord();

1 ACCEPTED SOLUTION

Hi Bala,



1. Field name - 'Requested_for' ('R' in caps). ServiceNow converts the field names to be smaller case by default. Need to change it as 'requested_for' or copy/paste the correct field name.


2. Field name to be queried with is 'group.name' and not 'group'. Make sure you are giving the correct group name (with correct case too).



Please try the below modified script.



var gr = new GlideRecord('sys_user_grmember');


gr.addQuery('group.name','itil_group');   //   group to group.name and make sure the group name is correct with right case


gr.addQuery('user',current.variables.requested_for); // change from Requested_for to requested_for


gr.query();


if(gr.next())


{


gr.deleteRecord();


}




gs.addInfoMessage("Testing " + current.variables.requested_for.getDisplayValue() + " removed");




Please try and share the message if it is not getting deleted.



Hope this helps. Mark the answer as correct/helpful based on impact.



Thanks


Antin


View solution in original post

16 REPLIES 16

Yes Bala,



as told you are running   the query to check all the active record, you need to have some other query in place to get specific records and then take deletion in consideration.


hi ,


i am trying to delete record but not able to delete .can anyone suggest



var gr = new GlideRecord('sys_user_grmember');


gr.setDisplayValue('sys_id',current.variables.Requested_for);//requested_for field is reference for user table .


gr.setDisplayValue('group','itil_group');///group has itil_group values


gr.query();


if(gr.next())


{


gr.deleteRecord();


}


var gr = new GlideRecord('sys_user_grmember');


//gr.setDisplayValue('sys_id',current.variables.Requested_for);//requested_for field is reference for user table .


//gr.setDisplayValue('group','itil_group');///group has itil_group values


gr.addQuery('group','itil_group');


gr.addQuery('sys_id',current.variables.Requested_for);


gr.query();


if(gr.next())


{


gr.deleteRecord();


}



where are you running this?



i would recommend you to use log and see what are you getting as output of this query then use delete operation


it should be like this,



var gr = new GlideRecord('sys_user_grmember');


gr.addQuery('group','itil_group');


gr.addQuery('user',current.variables.Requested_for); // Instead of sys_id you have to pass the requested_for to user


gr.query();


if(gr.next())


{


gr.deleteRecord();


}


Balakrishna Ko1
Tera Contributor

Hi ,


I tried both the scripts but not working . i am writing in run script workflow activity


find_real_file.png


If i   select these option then after approval record should be deleted. so i had written the script but not going through if