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

Nitesh Balusu
Giga Guru

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

This did it.  Thanks a lot Nitesh.

you bet 🙂

vinothkumar
Tera Guru

Can you try like this.

 

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

VAR GR = new GlideRecord('sys_user_grmember');

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

gs.print(gr.getRowCount());

 gr.query();

var count = 0;

while(gr.next()){

gr.deleteRecord();

count = count + 1;

}

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

}