How to use While loop with Else condition

Parul Sahu
Tera Contributor

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');

5 REPLIES 5

Brad Bowman
Kilo Patron
Kilo Patron

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 Guldhammer
Giga Guru

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

Pavankumar_1
Mega Patron

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');
    }
If it helps please click Accept as Solution/hit the Thumb Icon.
ServiceNow Community MVP 2024.
Thanks,
Pavankumar

Pavankumar_1
Mega Patron

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.

If it helps please click Accept as Solution/hit the Thumb Icon.
ServiceNow Community MVP 2024.
Thanks,
Pavankumar