🔒 This topic is solved and locked.
Need further help from the community? Please
sign in and ask a new question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Posted 05-29-2020 02:57 PM
(632 views)
Hi All even thogh memid is having name as sasadministartors iam getting incorrect value as vv instead of SAS Administrators if i use nested if not=
syntax,please help
data t;
set work.groupmempersons_info(where=(memid='xxxxxxxxx'));
length desc $255;
call missing (desc);
if memName = "sasadm" or memname = "sasevs" or memname = "sastrust" then put "Account is sasadm, sasevs or sastrust, skipping.";
else
if Name= :'SASAdministrators' or Name= :'DI Developers' then desc='SAS Administrator';
if Name not= :'XXX' and Name not=:'YYY' then desc='vv';
;
rc=metadata_setattr("omsobj:person\"||memid,"Desc",desc);
put rc=;
run;
1 ACCEPTED SOLUTION
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
This statement:
if Name not= :'XXX' and Name not=:'YYY' then desc='vv';
Is always executed regardless of what happened with the earlier if.
I think you want:
data t;
set work.groupmempersons_info(where=(memid='xxxxxxxxx'));
length desc $255;
call missing (desc);
if memName = "sasadm" or memname = "sasevs" or memname = "sastrust" then put "Account is sasadm, sasevs or sastrust, skipping.";
else /* <= this else only effects the next statement*/
if Name= :'SASAdministrators' or Name= :'DI Developers' then desc='SAS Administrator';
ELSE if Name not= :'XXX' and Name not=:'YYY' then desc='vv';
;
rc=metadata_setattr("omsobj:person\"||memid,"Desc",desc);
put rc=;
run;
1 REPLY 1
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
This statement:
if Name not= :'XXX' and Name not=:'YYY' then desc='vv';
Is always executed regardless of what happened with the earlier if.
I think you want:
data t;
set work.groupmempersons_info(where=(memid='xxxxxxxxx'));
length desc $255;
call missing (desc);
if memName = "sasadm" or memname = "sasevs" or memname = "sastrust" then put "Account is sasadm, sasevs or sastrust, skipping.";
else /* <= this else only effects the next statement*/
if Name= :'SASAdministrators' or Name= :'DI Developers' then desc='SAS Administrator';
ELSE if Name not= :'XXX' and Name not=:'YYY' then desc='vv';
;
rc=metadata_setattr("omsobj:person\"||memid,"Desc",desc);
put rc=;
run;