Cleaning empty group member records

lrossy31
Tera Expert

Hello everyone,

 

I am trying to remove all records from the grpmember table that shows the group empty.  I am running a background script but only deletes one record and script exits.

Here is what I have:

gs.log("Begin removeBlankRecords","clean up group members");

VAR GR = new GlideRecord('sys_user_grmember');

gr.addEncodedQuery('group.nameISEMPTY^ORuser.nameISEMPTY');

gr.query();

var count = 0;

while(gr.next()){

if(gr.deleteRecord()){

count = count + 1;

}

else{ gs.log("Could not delete sys_user_grmember record: sys_id = "+gr.sys_id,"clean up group members");

}

gs.log("Total blank records deleted: "+count, "clean up group members");

}

 

Will greatly appreciate any assistance.

1 ACCEPTED SOLUTION

Nitesh Balusu
Giga Guru

try using gr.deleteMultiple() instead of gr.deleteRecord()

View solution in original post

6 REPLIES 6

lrossy31
Tera Expert

Hello there,

 

I tried the change to the script and still deletes only one record.

can you try this?

 

var count = 0;
var gr = new GlideRecord('sys_user_grmember');
gr.addEncodedQuery('group.nameISEMPTY^ORuser.nameISEMPTY');
gr.query();

while(gr.next()){

gr.deletemultiple();

count++;

}

gs.print("Total blank records deleted: "+count);