How to use While loop with Else condition
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-02-2023 01:28 AM
Hi All,
I have a requirement where I need to delete the inactive users from assignment groups. Also After deltion I need tocheck if the user is still present in grp member table then give error else it will give the records in excel sheet .
For this I have a below script after delete record , I am checking users in grp member table ut I am not sure how to use while and else condition
var grGrpMember1 = new GlideRecord('sys_user_grmember');
grGrpMember1.addEncodedQuery('group.nameLIKEJM.HR.^group.nameNOT LIKEsecure^user=' + group_member[i]);
grGrpMember1.query();
while (grGrpMember1.next()) {
//print error
gs.info('Parul error');
} else {
gs.info('Parul No error');
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-02-2023 06:00 AM
Try it like this:
var grGrpMember1 = new GlideRecord('sys_user_grmember');
grGrpMember1.addEncodedQuery('group.nameLIKEJM.HR.^group.nameNOT LIKEsecure^user=' + group_member[i]);
grGrpMember1.query();
if (!grGrpMember1.hasnext() {
gs.info('Parul No error');
}
while (grGrpMember1.next()) {
//print error
gs.info('Parul error');
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-02-2023 06:13 AM
This would also work:
var grGrpMember1 = new GlideRecord('sys_user_grmember');
grGrpMember1.addEncodedQuery('group.nameLIKEJM.HR.^group.nameNOT LIKEsecure^user=' + group_member[i]);
grGrpMember1.query();
while (grGrpMember1.next()) {
//print error
gs.info('Parul error');
}
if (grGrpMember1.getRowCount() == 0) {
gs.info('Parul No error');
}
But in this case, I would probably just do something like this:
var grGrpMember1 = new GlideRecord('sys_user_grmember');
grGrpMember1.addEncodedQuery('group.nameLIKEJM.HR.^group.nameNOT LIKEsecure^user=' + group_member[i]);
grGrpMember1.query();
if (grGrpMember1.next()) {
//print error
gs.info('Parul error');
} else {
gs.info('Parul No error');
}
Br.
Mark
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-02-2023 07:13 AM
Hi @Parul Sahu ,
Else condition need If but If condition does not need else try as below
var grGrpMember1 = new GlideRecord('sys_user_grmember');
grGrpMember1.addEncodedQuery('group.nameLIKEJM.HR.^group.nameNOT LIKEsecure^user=' + group_member[i]);
grGrpMember1.query();
while (grGrpMember1.next()) {
//print error
gs.info('Parul error');
}
if (!grGrpMember1.next()) {
gs.info('Parul No error');
}
ServiceNow Community MVP 2024.
Thanks,
Pavankumar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-13-2023 01:00 AM
Hi @Parul Sahu ,
If my response helps you to resolve the issue close the question by Accepting solution and hit thumb icon. From Correct answers others will get benefited in future.
If not share more details about the requirement.
ServiceNow Community MVP 2024.
Thanks,
Pavankumar