diff --git a/all.sas b/all.sas index dc9ab92..a2af201 100644 --- a/all.sas +++ b/all.sas @@ -1066,7 +1066,8 @@ or %index(&pgm,/tests/testteardown) %else %if %symexist(&metavar) %then %do; %if %length(&&&metavar)=0 %then %let user=&sysuserid; /* sometimes SAS will add @domain extension - remove for consistency */ - %else %let user=%scan(&&&metavar,1,@); + /* but be sure to quote in case of usernames with commas */ + %else %let user=%unquote(%scan(%quote(&&&metavar),1,@)); %end; %else %let user=&sysuserid; @@ -8640,13 +8641,13 @@ select distinct lowcase(memname) @li mp_abort.sas @li mp_cntlout.sas @li mp_lockanytable.sas + @li mp_storediffs.sas

Related Macros

@li mddl_dc_difftable.sas @li mddl_dc_locktable.sas @li mp_loadformat.test.sas @li mp_lockanytable.sas - @li mp_storediffs.sas @li mp_stackdiffs.sas @@ -8898,7 +8899,8 @@ options ibufsize=&ibufsize; %put &sysmacroname exit vars:; %put _local_; %end; -%mend mp_loadformat;/** +%mend mp_loadformat; +/** @file @brief Mechanism for locking tables to prevent parallel modifications @details Uses a control table to enable ANY table to be locked for updates @@ -15089,7 +15091,8 @@ data _null_; put ' %else %if %symexist(&metavar) %then %do; '; put ' %if %length(&&&metavar)=0 %then %let user=&sysuserid; '; put ' /* sometimes SAS will add @domain extension - remove for consistency */ '; - put ' %else %let user=%scan(&&&metavar,1,@); '; + put ' /* but be sure to quote in case of usernames with commas */ '; + put ' %else %let user=%unquote(%scan(%quote(&&&metavar),1,@)); '; put ' %end; '; put ' %else %let user=&sysuserid; '; put ' '; @@ -15310,6 +15313,7 @@ filename &fname2 clear; %local isgone; data _null_; length type uri $256; + call missing (of _all_); rc=metadata_resolve("omsobj:SASLibrary?@Id='&liburi'",type,uri); call symputx('isgone',type,'l'); run; @@ -20539,7 +20543,8 @@ data _null_; put ' %else %if %symexist(&metavar) %then %do; '; put ' %if %length(&&&metavar)=0 %then %let user=&sysuserid; '; put ' /* sometimes SAS will add @domain extension - remove for consistency */ '; - put ' %else %let user=%scan(&&&metavar,1,@); '; + put ' /* but be sure to quote in case of usernames with commas */ '; + put ' %else %let user=%unquote(%scan(%quote(&&&metavar),1,@)); '; put ' %end; '; put ' %else %let user=&sysuserid; '; put ' '; diff --git a/meta/mm_createwebservice.sas b/meta/mm_createwebservice.sas index 4b41b4f..7e54e4b 100644 --- a/meta/mm_createwebservice.sas +++ b/meta/mm_createwebservice.sas @@ -453,7 +453,8 @@ data _null_; put ' %else %if %symexist(&metavar) %then %do; '; put ' %if %length(&&&metavar)=0 %then %let user=&sysuserid; '; put ' /* sometimes SAS will add @domain extension - remove for consistency */ '; - put ' %else %let user=%scan(&&&metavar,1,@); '; + put ' /* but be sure to quote in case of usernames with commas */ '; + put ' %else %let user=%unquote(%scan(%quote(&&&metavar),1,@)); '; put ' %end; '; put ' %else %let user=&sysuserid; '; put ' '; diff --git a/meta/mm_deletelibrary.sas b/meta/mm_deletelibrary.sas index f400a62..a4b56a1 100644 --- a/meta/mm_deletelibrary.sas +++ b/meta/mm_deletelibrary.sas @@ -78,6 +78,7 @@ filename &fname2 clear; %local isgone; data _null_; length type uri $256; + call missing (of _all_); rc=metadata_resolve("omsobj:SASLibrary?@Id='&liburi'",type,uri); call symputx('isgone',type,'l'); run; diff --git a/tests/crossplatform/mp_loadformat.test.sas b/tests/crossplatform/mp_loadformat.test.sas index 68078d3..0bde24d 100644 --- a/tests/crossplatform/mp_loadformat.test.sas +++ b/tests/crossplatform/mp_loadformat.test.sas @@ -78,7 +78,7 @@ run; outds=work.test_results ) %mp_assert( - iftrue=(%mf_nobs(perm.audit)>7329), + iftrue=(%mf_nobs(perm.audit)=7329), desc=Test 1 - audit table updated, outds=work.test_results ) diff --git a/viya/mv_createwebservice.sas b/viya/mv_createwebservice.sas index 16b8601..6b73e1d 100644 --- a/viya/mv_createwebservice.sas +++ b/viya/mv_createwebservice.sas @@ -655,7 +655,8 @@ data _null_; put ' %else %if %symexist(&metavar) %then %do; '; put ' %if %length(&&&metavar)=0 %then %let user=&sysuserid; '; put ' /* sometimes SAS will add @domain extension - remove for consistency */ '; - put ' %else %let user=%scan(&&&metavar,1,@); '; + put ' /* but be sure to quote in case of usernames with commas */ '; + put ' %else %let user=%unquote(%scan(%quote(&&&metavar),1,@)); '; put ' %end; '; put ' %else %let user=&sysuserid; '; put ' ';