1
0
mirror of https://github.com/sasjs/core.git synced 2026-01-07 09:30:06 +00:00

Compare commits

...

3 Commits

Author SHA1 Message Date
Allan Bowe
54a24ced83 fix: using sasjs username in mf_getuser() 2022-06-17 15:54:30 +00:00
Allan Bowe
57ae2981f1 Merge pull request #256 from sasjs/allanbowe/mp-abort-fails-on-windows-254
fix: superq() for sysprocessname
2022-06-17 15:29:22 +02:00
Allan Bowe
a3043ac685 fix: superq() for sysprocessname 2022-06-17 13:28:51 +00:00
6 changed files with 76 additions and 68 deletions

72
all.sas
View File

@@ -1141,18 +1141,19 @@ or %index(&pgm,/tests/testteardown)
@author Allan Bowe @author Allan Bowe
**/ **/
%macro mf_getuser(type=META %macro mf_getuser(
)/*/STORE SOURCE*/; )/*/STORE SOURCE*/;
%local user metavar; %local user;
%if &type=OS %then %let metavar=_secureusername;
%else %let metavar=_metaperson;
%if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %let user=&SYS_COMPUTE_SESSION_OWNER; %if %symexist(_sasjs_username) %then %let user=&_sasjs_username;
%else %if %symexist(&metavar) %then %do; %else %if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %do;
%if %length(&&&metavar)=0 %then %let user=&sysuserid; %let user=&SYS_COMPUTE_SESSION_OWNER;
%end;
%else %if %symexist(_metaperson) %then %do;
%if %length(&_metaperson)=0 %then %let user=&sysuserid;
/* sometimes SAS will add @domain extension - remove for consistency */ /* sometimes SAS will add @domain extension - remove for consistency */
/* but be sure to quote in case of usernames with commas */ /* but be sure to quote in case of usernames with commas */
%else %let user=%unquote(%scan(%quote(&&&metavar),1,@)); %else %let user=%unquote(%scan(%quote(&_metaperson),1,@));
%end; %end;
%else %let user=&sysuserid; %else %let user=&sysuserid;
@@ -2256,7 +2257,7 @@ Usage:
%if %symexist(_SYSINCLUDEFILEDEVICE) %if %symexist(_SYSINCLUDEFILEDEVICE)
/* abort cancel FILE does not restart outside the INCLUDE on Viya 3.5 */ /* abort cancel FILE does not restart outside the INCLUDE on Viya 3.5 */
and %str(&SYSPROCESSNAME) ne %str(Compute Server) and %superq(SYSPROCESSNAME) ne %str(Compute Server)
%then %do; %then %do;
%if "*&_SYSINCLUDEFILEDEVICE*" ne "**" %then %do; %if "*&_SYSINCLUDEFILEDEVICE*" ne "**" %then %do;
data &errds; data &errds;
@@ -2274,7 +2275,7 @@ Usage:
/* Web App Context */ /* Web App Context */
%if %symexist(_PROGRAM) %if %symexist(_PROGRAM)
or %str(&SYSPROCESSNAME) = %str(Compute Server) or %superq(SYSPROCESSNAME) = %str(Compute Server)
or &mode=INCLUDE or &mode=INCLUDE
%then %do; %then %do;
options obs=max replace mprint; options obs=max replace mprint;
@@ -15243,18 +15244,19 @@ data _null_;
put '%end; '; put '%end; ';
put '%mend mp_jsonout; '; put '%mend mp_jsonout; ';
put ' '; put ' ';
put '%macro mf_getuser(type=META '; put '%macro mf_getuser( ';
put ')/*/STORE SOURCE*/; '; put ')/*/STORE SOURCE*/; ';
put ' %local user metavar; '; put ' %local user; ';
put ' %if &type=OS %then %let metavar=_secureusername; ';
put ' %else %let metavar=_metaperson; ';
put ' '; put ' ';
put ' %if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %let user=&SYS_COMPUTE_SESSION_OWNER; '; put ' %if %symexist(_sasjs_username) %then %let user=&_sasjs_username; ';
put ' %else %if %symexist(&metavar) %then %do; '; put ' %else %if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %do; ';
put ' %if %length(&&&metavar)=0 %then %let user=&sysuserid; '; put ' %let user=&SYS_COMPUTE_SESSION_OWNER; ';
put ' %end; ';
put ' %else %if %symexist(_metaperson) %then %do; ';
put ' %if %length(&_metaperson)=0 %then %let user=&sysuserid; ';
put ' /* sometimes SAS will add @domain extension - remove for consistency */ '; put ' /* sometimes SAS will add @domain extension - remove for consistency */ ';
put ' /* but be sure to quote in case of usernames with commas */ '; put ' /* but be sure to quote in case of usernames with commas */ ';
put ' %else %let user=%unquote(%scan(%quote(&&&metavar),1,@)); '; put ' %else %let user=%unquote(%scan(%quote(&_metaperson),1,@)); ';
put ' %end; '; put ' %end; ';
put ' %else %let user=&sysuserid; '; put ' %else %let user=&sysuserid; ';
put ' '; put ' ';
@@ -19952,18 +19954,19 @@ data _null_;
put '%end; '; put '%end; ';
put '%mend mp_jsonout; '; put '%mend mp_jsonout; ';
put ' '; put ' ';
put '%macro mf_getuser(type=META '; put '%macro mf_getuser( ';
put ')/*/STORE SOURCE*/; '; put ')/*/STORE SOURCE*/; ';
put ' %local user metavar; '; put ' %local user; ';
put ' %if &type=OS %then %let metavar=_secureusername; ';
put ' %else %let metavar=_metaperson; ';
put ' '; put ' ';
put ' %if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %let user=&SYS_COMPUTE_SESSION_OWNER; '; put ' %if %symexist(_sasjs_username) %then %let user=&_sasjs_username; ';
put ' %else %if %symexist(&metavar) %then %do; '; put ' %else %if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %do; ';
put ' %if %length(&&&metavar)=0 %then %let user=&sysuserid; '; put ' %let user=&SYS_COMPUTE_SESSION_OWNER; ';
put ' %end; ';
put ' %else %if %symexist(_metaperson) %then %do; ';
put ' %if %length(&_metaperson)=0 %then %let user=&sysuserid; ';
put ' /* sometimes SAS will add @domain extension - remove for consistency */ '; put ' /* sometimes SAS will add @domain extension - remove for consistency */ ';
put ' /* but be sure to quote in case of usernames with commas */ '; put ' /* but be sure to quote in case of usernames with commas */ ';
put ' %else %let user=%unquote(%scan(%quote(&&&metavar),1,@)); '; put ' %else %let user=%unquote(%scan(%quote(&_metaperson),1,@)); ';
put ' %end; '; put ' %end; ';
put ' %else %let user=&sysuserid; '; put ' %else %let user=&sysuserid; ';
put ' '; put ' ';
@@ -22294,18 +22297,19 @@ data _null_;
put '%end; '; put '%end; ';
put '%mend mp_jsonout; '; put '%mend mp_jsonout; ';
put ' '; put ' ';
put '%macro mf_getuser(type=META '; put '%macro mf_getuser( ';
put ')/*/STORE SOURCE*/; '; put ')/*/STORE SOURCE*/; ';
put ' %local user metavar; '; put ' %local user; ';
put ' %if &type=OS %then %let metavar=_secureusername; ';
put ' %else %let metavar=_metaperson; ';
put ' '; put ' ';
put ' %if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %let user=&SYS_COMPUTE_SESSION_OWNER; '; put ' %if %symexist(_sasjs_username) %then %let user=&_sasjs_username; ';
put ' %else %if %symexist(&metavar) %then %do; '; put ' %else %if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %do; ';
put ' %if %length(&&&metavar)=0 %then %let user=&sysuserid; '; put ' %let user=&SYS_COMPUTE_SESSION_OWNER; ';
put ' %end; ';
put ' %else %if %symexist(_metaperson) %then %do; ';
put ' %if %length(&_metaperson)=0 %then %let user=&sysuserid; ';
put ' /* sometimes SAS will add @domain extension - remove for consistency */ '; put ' /* sometimes SAS will add @domain extension - remove for consistency */ ';
put ' /* but be sure to quote in case of usernames with commas */ '; put ' /* but be sure to quote in case of usernames with commas */ ';
put ' %else %let user=%unquote(%scan(%quote(&&&metavar),1,@)); '; put ' %else %let user=%unquote(%scan(%quote(&_metaperson),1,@)); ';
put ' %end; '; put ' %end; ';
put ' %else %let user=&sysuserid; '; put ' %else %let user=&sysuserid; ';
put ' '; put ' ';

View File

@@ -23,18 +23,19 @@
@author Allan Bowe @author Allan Bowe
**/ **/
%macro mf_getuser(type=META %macro mf_getuser(
)/*/STORE SOURCE*/; )/*/STORE SOURCE*/;
%local user metavar; %local user;
%if &type=OS %then %let metavar=_secureusername;
%else %let metavar=_metaperson;
%if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %let user=&SYS_COMPUTE_SESSION_OWNER; %if %symexist(_sasjs_username) %then %let user=&_sasjs_username;
%else %if %symexist(&metavar) %then %do; %else %if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %do;
%if %length(&&&metavar)=0 %then %let user=&sysuserid; %let user=&SYS_COMPUTE_SESSION_OWNER;
%end;
%else %if %symexist(_metaperson) %then %do;
%if %length(&_metaperson)=0 %then %let user=&sysuserid;
/* sometimes SAS will add @domain extension - remove for consistency */ /* sometimes SAS will add @domain extension - remove for consistency */
/* but be sure to quote in case of usernames with commas */ /* but be sure to quote in case of usernames with commas */
%else %let user=%unquote(%scan(%quote(&&&metavar),1,@)); %else %let user=%unquote(%scan(%quote(&_metaperson),1,@));
%end; %end;
%else %let user=&sysuserid; %else %let user=&sysuserid;

View File

@@ -74,7 +74,7 @@
%if %symexist(_SYSINCLUDEFILEDEVICE) %if %symexist(_SYSINCLUDEFILEDEVICE)
/* abort cancel FILE does not restart outside the INCLUDE on Viya 3.5 */ /* abort cancel FILE does not restart outside the INCLUDE on Viya 3.5 */
and %str(&SYSPROCESSNAME) ne %str(Compute Server) and %superq(SYSPROCESSNAME) ne %str(Compute Server)
%then %do; %then %do;
%if "*&_SYSINCLUDEFILEDEVICE*" ne "**" %then %do; %if "*&_SYSINCLUDEFILEDEVICE*" ne "**" %then %do;
data &errds; data &errds;
@@ -92,7 +92,7 @@
/* Web App Context */ /* Web App Context */
%if %symexist(_PROGRAM) %if %symexist(_PROGRAM)
or %str(&SYSPROCESSNAME) = %str(Compute Server) or %superq(SYSPROCESSNAME) = %str(Compute Server)
or &mode=INCLUDE or &mode=INCLUDE
%then %do; %then %do;
options obs=max replace mprint; options obs=max replace mprint;

View File

@@ -315,18 +315,19 @@ data _null_;
put '%end; '; put '%end; ';
put '%mend mp_jsonout; '; put '%mend mp_jsonout; ';
put ' '; put ' ';
put '%macro mf_getuser(type=META '; put '%macro mf_getuser( ';
put ')/*/STORE SOURCE*/; '; put ')/*/STORE SOURCE*/; ';
put ' %local user metavar; '; put ' %local user; ';
put ' %if &type=OS %then %let metavar=_secureusername; ';
put ' %else %let metavar=_metaperson; ';
put ' '; put ' ';
put ' %if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %let user=&SYS_COMPUTE_SESSION_OWNER; '; put ' %if %symexist(_sasjs_username) %then %let user=&_sasjs_username; ';
put ' %else %if %symexist(&metavar) %then %do; '; put ' %else %if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %do; ';
put ' %if %length(&&&metavar)=0 %then %let user=&sysuserid; '; put ' %let user=&SYS_COMPUTE_SESSION_OWNER; ';
put ' %end; ';
put ' %else %if %symexist(_metaperson) %then %do; ';
put ' %if %length(&_metaperson)=0 %then %let user=&sysuserid; ';
put ' /* sometimes SAS will add @domain extension - remove for consistency */ '; put ' /* sometimes SAS will add @domain extension - remove for consistency */ ';
put ' /* but be sure to quote in case of usernames with commas */ '; put ' /* but be sure to quote in case of usernames with commas */ ';
put ' %else %let user=%unquote(%scan(%quote(&&&metavar),1,@)); '; put ' %else %let user=%unquote(%scan(%quote(&_metaperson),1,@)); ';
put ' %end; '; put ' %end; ';
put ' %else %let user=&sysuserid; '; put ' %else %let user=&sysuserid; ';
put ' '; put ' ';

View File

@@ -317,18 +317,19 @@ data _null_;
put '%end; '; put '%end; ';
put '%mend mp_jsonout; '; put '%mend mp_jsonout; ';
put ' '; put ' ';
put '%macro mf_getuser(type=META '; put '%macro mf_getuser( ';
put ')/*/STORE SOURCE*/; '; put ')/*/STORE SOURCE*/; ';
put ' %local user metavar; '; put ' %local user; ';
put ' %if &type=OS %then %let metavar=_secureusername; ';
put ' %else %let metavar=_metaperson; ';
put ' '; put ' ';
put ' %if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %let user=&SYS_COMPUTE_SESSION_OWNER; '; put ' %if %symexist(_sasjs_username) %then %let user=&_sasjs_username; ';
put ' %else %if %symexist(&metavar) %then %do; '; put ' %else %if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %do; ';
put ' %if %length(&&&metavar)=0 %then %let user=&sysuserid; '; put ' %let user=&SYS_COMPUTE_SESSION_OWNER; ';
put ' %end; ';
put ' %else %if %symexist(_metaperson) %then %do; ';
put ' %if %length(&_metaperson)=0 %then %let user=&sysuserid; ';
put ' /* sometimes SAS will add @domain extension - remove for consistency */ '; put ' /* sometimes SAS will add @domain extension - remove for consistency */ ';
put ' /* but be sure to quote in case of usernames with commas */ '; put ' /* but be sure to quote in case of usernames with commas */ ';
put ' %else %let user=%unquote(%scan(%quote(&&&metavar),1,@)); '; put ' %else %let user=%unquote(%scan(%quote(&_metaperson),1,@)); ';
put ' %end; '; put ' %end; ';
put ' %else %let user=&sysuserid; '; put ' %else %let user=&sysuserid; ';
put ' '; put ' ';

View File

@@ -459,18 +459,19 @@ data _null_;
put '%end; '; put '%end; ';
put '%mend mp_jsonout; '; put '%mend mp_jsonout; ';
put ' '; put ' ';
put '%macro mf_getuser(type=META '; put '%macro mf_getuser( ';
put ')/*/STORE SOURCE*/; '; put ')/*/STORE SOURCE*/; ';
put ' %local user metavar; '; put ' %local user; ';
put ' %if &type=OS %then %let metavar=_secureusername; ';
put ' %else %let metavar=_metaperson; ';
put ' '; put ' ';
put ' %if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %let user=&SYS_COMPUTE_SESSION_OWNER; '; put ' %if %symexist(_sasjs_username) %then %let user=&_sasjs_username; ';
put ' %else %if %symexist(&metavar) %then %do; '; put ' %else %if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %do; ';
put ' %if %length(&&&metavar)=0 %then %let user=&sysuserid; '; put ' %let user=&SYS_COMPUTE_SESSION_OWNER; ';
put ' %end; ';
put ' %else %if %symexist(_metaperson) %then %do; ';
put ' %if %length(&_metaperson)=0 %then %let user=&sysuserid; ';
put ' /* sometimes SAS will add @domain extension - remove for consistency */ '; put ' /* sometimes SAS will add @domain extension - remove for consistency */ ';
put ' /* but be sure to quote in case of usernames with commas */ '; put ' /* but be sure to quote in case of usernames with commas */ ';
put ' %else %let user=%unquote(%scan(%quote(&&&metavar),1,@)); '; put ' %else %let user=%unquote(%scan(%quote(&_metaperson),1,@)); ';
put ' %end; '; put ' %end; ';
put ' %else %let user=&sysuserid; '; put ' %else %let user=&sysuserid; ';
put ' '; put ' ';