- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-13-2023 01:03 AM
Hi Team,
I have new field "Users count" Integer type on group table, I want to calculate number of users added/removed to the grmember table. I have create BR on grmember table with After insert/delete. getting wrong count, please suggest
(function executeRule(current, previous /*null when async*/) {
var qry3 = new GlideRecord('sys_user_group');
qry3.addQuery('sys_id', current.group);
qry3.query();
while(qry3.next()){
var grpm = new GlideAggregate('sys_user_grmember');
grpm.addQuery('group', qry3.sys_id);
grpm.addAggregate('COUNT');
grpm.query();
var groupMembers = 0;
if(grpm.next()){
groupMembers = grpm.getAggregate('COUNT');
gs.addInfoMessage(groupMembers);
}
qry3. user_count= groupMembers;
qry3.update();
}
})(current, previous);
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-13-2023 02:16 AM
Hi @Ash41
Try below code
(function executeRule(current, previous /*null when async*/) {
var qry3 = new GlideRecord('sys_user_group');
qry3.addQuery('sys_id', current.sys_id); //Updated this line
qry3.query();
while(qry3.next()){
var grpm = new GlideAggregate('sys_user_grmember');
grpm.addQuery('group', qry3.sys_id);
grpm.addAggregate('COUNT');
grpm.query();
var groupMembers = 0;
if(grpm.next()){
groupMembers = grpm.getAggregate('COUNT');
gs.addInfoMessage(groupMembers);
}
qry3. user_count= groupMembers;
qry3.update();
}
})(current, previous);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-13-2023 02:16 AM
Hi @Ash41
Try below code
(function executeRule(current, previous /*null when async*/) {
var qry3 = new GlideRecord('sys_user_group');
qry3.addQuery('sys_id', current.sys_id); //Updated this line
qry3.query();
while(qry3.next()){
var grpm = new GlideAggregate('sys_user_grmember');
grpm.addQuery('group', qry3.sys_id);
grpm.addAggregate('COUNT');
grpm.query();
var groupMembers = 0;
if(grpm.next()){
groupMembers = grpm.getAggregate('COUNT');
gs.addInfoMessage(groupMembers);
}
qry3. user_count= groupMembers;
qry3.update();
}
})(current, previous);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-13-2023 03:23 AM - edited 11-13-2023 03:25 AM
Hi @Ash41
(function executeRule(current, previous /*null when async*/) {
var qry3 = new GlideRecord('sys_user_group');
qry3.addQuery('sys_id', current.getValue('group')); //Updated this line
qry3.query();
while(qry3.next()){
var grpm = new GlideAggregate('sys_user_grmember');
grpm.addQuery('group', qry3.sys_id);
grpm.addAggregate('COUNT');
grpm.query();
var groupMembers = 0;
if(grpm.next()){
groupMembers = grpm.getAggregate('COUNT');
}
qry3.user_count= groupMembers;
qry3.update();
}
})(current, previous);
If that helps please mark my answer as correct / helpful!