diff --git a/README.md b/README.md index ca08f63..5fb7235 100644 --- a/README.md +++ b/README.md @@ -125,6 +125,7 @@ filename mc url "https://raw.githubusercontent.com/sasjs/core/main/all.sas"; - macro names must be lowercase - one macro per file - prefixes: + - _mcf_ for macro compiled functions (proc fcmp) - _mf_ for macro functions (can be used in open code). - _ml_ for macros that are used to compile LUA modules - _mm_ for metadata macros (interface with the metadata server). @@ -183,6 +184,7 @@ When contributing to this library, it is therefore important to ensure that all - All dataset references must be 2 level (eg `work.blah`, not `blah`). This is to avoid contention when options [DATASTMTCHK](https://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000279064.htm)=ALLKEYWORDS is in effect. - Avoid naming collisions! All macro variables should be local scope. Use system generated work tables where possible - eg `data ; set sashelp.class; run; data &output; set &syslast; run;` - The use of `quit;` for `proc sql` is optional unless you are looking to benefit from the timing statistics. +- Use [sasjs lint](https://github.com/sasjs/lint)! ## General Notes @@ -193,7 +195,6 @@ When contributing to this library, it is therefore important to ensure that all We are currently on major release v3. The following changes are planned when the next major (breaking) release becomes necessary: * Remove `dbg` parameter from mp_jsonout.sas (implement mdebug instead) -* Remove `END_DTTM` and `START_DTTM` from mx_webout JSON ## Star Gazing diff --git a/all.sas b/all.sas index ca6c030..532b9c2 100644 --- a/all.sas +++ b/all.sas @@ -2198,7 +2198,8 @@ Usage: if symexist('_debug') then debug=quote(trim(symget('_debug'))); else debug='""'; put '>>weboutBEGIN<<'; - put '{"START_DTTM" : "' "%sysfunc(datetime(),datetime20.3)" '"'; + put '{"SYSDATE" : "' "&SYSDATE" '"'; + put ',"SYSTIME" : "' "&SYSTIME" '"'; put ',"sasjsAbort" : [{'; put ' "MSG":' msg ; put ' ,"MAC": "' "&mac" '"}]'; @@ -2227,7 +2228,7 @@ Usage: put ',"SYSVLONG" : ' sysvlong; syswarningtext=quote(trim(symget('syswarningtext'))); put ",""SYSWARNINGTEXT"" : " syswarningtext; - put ',"END_DTTM" : "' "%sysfunc(datetime(),datetime20.3)" '" '; + put ',"END_DTTM" : "' "%sysfunc(datetime(),E8601DT26.6)" '" '; put "}" @; put '>>weboutEND<<'; run; @@ -7712,7 +7713,6 @@ filename &tempref clear; %macro mp_jsonout(action,ds,jref=_webout,dslabel=,fmt=Y ,engine=DATASTEP - ,dbg=0 /* DEPRECATED */ ,missing=NULL ,showmeta=NO )/*/STORE SOURCE*/; @@ -12844,7 +12844,6 @@ data _null_; put ' '; put '%macro mp_jsonout(action,ds,jref=_webout,dslabel=,fmt=Y '; put ' ,engine=DATASTEP '; - put ' ,dbg=0 /* DEPRECATED */ '; put ' ,missing=NULL '; put ' ,showmeta=NO '; put ')/*/STORE SOURCE*/; '; @@ -13175,7 +13174,7 @@ data _null_; put ' sysvlong=quote(trim(symget(''sysvlong''))); '; put ' put '',"SYSVLONG" : '' sysvlong; '; put ' put ",""SYSWARNINGTEXT"" : ""&syswarningtext"" "; '; - put ' put '',"END_DTTM" : "'' "%sysfunc(datetime(),datetime20.3)" ''" ''; '; + put ' put '',"END_DTTM" : "'' "%sysfunc(datetime(),E8601DT26.6)" ''" ''; '; put ' length memsize $32; '; put ' memsize="%sysfunc(INPUTN(%sysfunc(getoption(memsize)), best.),sizekmg.)"; '; put ' memsize=quote(cats(memsize)); '; @@ -16681,7 +16680,7 @@ run; sysvlong=quote(trim(symget('sysvlong'))); put ',"SYSVLONG" : ' sysvlong; put ",""SYSWARNINGTEXT"" : ""&syswarningtext"" "; - put ',"END_DTTM" : "' "%sysfunc(datetime(),datetime20.3)" '" '; + put ',"END_DTTM" : "' "%sysfunc(datetime(),E8601DT26.6)" '" '; length memsize $32; memsize="%sysfunc(INPUTN(%sysfunc(getoption(memsize)), best.),sizekmg.)"; memsize=quote(cats(memsize)); @@ -16988,7 +16987,7 @@ run; sysvlong=quote(trim(symget('sysvlong'))); put ',"SYSVLONG" : ' sysvlong; put ",""SYSWARNINGTEXT"" : ""&syswarningtext"" "; - put ',"END_DTTM" : "' "%sysfunc(datetime(),datetime20.3)" '" '; + put ',"END_DTTM" : "' "%sysfunc(datetime(),E8601DT26.6)" '" '; length autoexec $512; autoexec=quote(urlencode(trim(getoption('autoexec')))); put ',"AUTOEXEC" : ' autoexec; @@ -17980,7 +17979,6 @@ data _null_; put ' '; put '%macro mp_jsonout(action,ds,jref=_webout,dslabel=,fmt=Y '; put ' ,engine=DATASTEP '; - put ' ,dbg=0 /* DEPRECATED */ '; put ' ,missing=NULL '; put ' ,showmeta=NO '; put ')/*/STORE SOURCE*/; '; @@ -18368,7 +18366,7 @@ data _null_; put ' sysvlong=quote(trim(symget(''sysvlong''))); '; put ' put '',"SYSVLONG" : '' sysvlong; '; put ' put ",""SYSWARNINGTEXT"" : ""&syswarningtext"" "; '; - put ' put '',"END_DTTM" : "'' "%sysfunc(datetime(),datetime20.3)" ''" ''; '; + put ' put '',"END_DTTM" : "'' "%sysfunc(datetime(),E8601DT26.6)" ''" ''; '; put ' length memsize $32; '; put ' memsize="%sysfunc(INPUTN(%sysfunc(getoption(memsize)), best.),sizekmg.)"; '; put ' memsize=quote(cats(memsize)); '; @@ -22227,7 +22225,7 @@ filename &fref1 clear; sysvlong=quote(trim(symget('sysvlong'))); put ',"SYSVLONG" : ' sysvlong; put ",""SYSWARNINGTEXT"" : ""&syswarningtext"" "; - put ',"END_DTTM" : "' "%sysfunc(datetime(),datetime20.3)" '" '; + put ',"END_DTTM" : "' "%sysfunc(datetime(),E8601DT26.6)" '" '; length memsize $32; memsize="%sysfunc(INPUTN(%sysfunc(getoption(memsize)), best.),sizekmg.)"; memsize=quote(cats(memsize)); diff --git a/base/mf_abort.sas b/base/mf_abort.sas index 91bffcd..caa9281 100644 --- a/base/mf_abort.sas +++ b/base/mf_abort.sas @@ -11,7 +11,7 @@ @cond **/ -%macro mf_abort(mac=mf_abort.sas, type=deprecated, msg=, iftrue=%str(1=1) +%macro mf_abort(mac=mf_abort.sas, msg=, iftrue=%str(1=1) )/*/STORE SOURCE*/; %if not(%eval(%unquote(&iftrue))) %then %return; diff --git a/base/mp_abort.sas b/base/mp_abort.sas index 48ed281..40a9f09 100644 --- a/base/mp_abort.sas +++ b/base/mp_abort.sas @@ -173,7 +173,8 @@ if symexist('_debug') then debug=quote(trim(symget('_debug'))); else debug='""'; put '>>weboutBEGIN<<'; - put '{"START_DTTM" : "' "%sysfunc(datetime(),datetime20.3)" '"'; + put '{"SYSDATE" : "' "&SYSDATE" '"'; + put ',"SYSTIME" : "' "&SYSTIME" '"'; put ',"sasjsAbort" : [{'; put ' "MSG":' msg ; put ' ,"MAC": "' "&mac" '"}]'; @@ -202,7 +203,7 @@ put ',"SYSVLONG" : ' sysvlong; syswarningtext=quote(trim(symget('syswarningtext'))); put ",""SYSWARNINGTEXT"" : " syswarningtext; - put ',"END_DTTM" : "' "%sysfunc(datetime(),datetime20.3)" '" '; + put ',"END_DTTM" : "' "%sysfunc(datetime(),E8601DT26.6)" '" '; put "}" @; put '>>weboutEND<<'; run; diff --git a/base/mp_jsonout.sas b/base/mp_jsonout.sas index 20fefd4..5a3443d 100644 --- a/base/mp_jsonout.sas +++ b/base/mp_jsonout.sas @@ -62,7 +62,6 @@ %macro mp_jsonout(action,ds,jref=_webout,dslabel=,fmt=Y ,engine=DATASTEP - ,dbg=0 /* DEPRECATED */ ,missing=NULL ,showmeta=NO )/*/STORE SOURCE*/; diff --git a/meta/mm_createwebservice.sas b/meta/mm_createwebservice.sas index f9c9cc8..e90f2fd 100644 --- a/meta/mm_createwebservice.sas +++ b/meta/mm_createwebservice.sas @@ -95,7 +95,6 @@ data _null_; put ' '; put '%macro mp_jsonout(action,ds,jref=_webout,dslabel=,fmt=Y '; put ' ,engine=DATASTEP '; - put ' ,dbg=0 /* DEPRECATED */ '; put ' ,missing=NULL '; put ' ,showmeta=NO '; put ')/*/STORE SOURCE*/; '; @@ -426,7 +425,7 @@ data _null_; put ' sysvlong=quote(trim(symget(''sysvlong''))); '; put ' put '',"SYSVLONG" : '' sysvlong; '; put ' put ",""SYSWARNINGTEXT"" : ""&syswarningtext"" "; '; - put ' put '',"END_DTTM" : "'' "%sysfunc(datetime(),datetime20.3)" ''" ''; '; + put ' put '',"END_DTTM" : "'' "%sysfunc(datetime(),E8601DT26.6)" ''" ''; '; put ' length memsize $32; '; put ' memsize="%sysfunc(INPUTN(%sysfunc(getoption(memsize)), best.),sizekmg.)"; '; put ' memsize=quote(cats(memsize)); '; diff --git a/meta/mm_updatestpsourcecode.sas b/meta/mm_updatestpsourcecode.sas index 785fee7..114bcb8 100644 --- a/meta/mm_updatestpsourcecode.sas +++ b/meta/mm_updatestpsourcecode.sas @@ -13,9 +13,6 @@ @param [in] stpcode= the source file (or fileref) containing the SAS code to load into the stp. For multiple files, they should simply be concatenated first. @param [in] minify= set to YES in order to strip comments, blank lines, and CRLFs. - - @param frefin= deprecated - a unique fileref is now always used - @param frefout= deprecated - a unique fileref is now always used @param mDebug= set to 1 to show debug messages in the log @version 9.3 @@ -30,16 +27,8 @@ ,stpcode= ,minify=NO ,mdebug=0 - /* deprecated */ - ,frefin=inmeta - ,frefout=outmeta ); -%if &frefin ne inmeta or &frefout ne outmeta %then %do; - %put %str(WARN)ING: the frefin and frefout parameters will be deprecated in - an upcoming release.; -%end; - /* first, check if STP exists */ %local tsuri; %let tsuri=stopifempty ; diff --git a/meta/mm_webout.sas b/meta/mm_webout.sas index 64370e6..e50cbde 100644 --- a/meta/mm_webout.sas +++ b/meta/mm_webout.sas @@ -165,7 +165,7 @@ sysvlong=quote(trim(symget('sysvlong'))); put ',"SYSVLONG" : ' sysvlong; put ",""SYSWARNINGTEXT"" : ""&syswarningtext"" "; - put ',"END_DTTM" : "' "%sysfunc(datetime(),datetime20.3)" '" '; + put ',"END_DTTM" : "' "%sysfunc(datetime(),E8601DT26.6)" '" '; length memsize $32; memsize="%sysfunc(INPUTN(%sysfunc(getoption(memsize)), best.),sizekmg.)"; memsize=quote(cats(memsize)); diff --git a/server/ms_webout.sas b/server/ms_webout.sas index a14c257..9cc8026 100644 --- a/server/ms_webout.sas +++ b/server/ms_webout.sas @@ -161,7 +161,7 @@ sysvlong=quote(trim(symget('sysvlong'))); put ',"SYSVLONG" : ' sysvlong; put ",""SYSWARNINGTEXT"" : ""&syswarningtext"" "; - put ',"END_DTTM" : "' "%sysfunc(datetime(),datetime20.3)" '" '; + put ',"END_DTTM" : "' "%sysfunc(datetime(),E8601DT26.6)" '" '; length autoexec $512; autoexec=quote(urlencode(trim(getoption('autoexec')))); put ',"AUTOEXEC" : ' autoexec; diff --git a/viya/mv_createwebservice.sas b/viya/mv_createwebservice.sas index 7d03359..045690e 100644 --- a/viya/mv_createwebservice.sas +++ b/viya/mv_createwebservice.sas @@ -239,7 +239,6 @@ data _null_; put ' '; put '%macro mp_jsonout(action,ds,jref=_webout,dslabel=,fmt=Y '; put ' ,engine=DATASTEP '; - put ' ,dbg=0 /* DEPRECATED */ '; put ' ,missing=NULL '; put ' ,showmeta=NO '; put ')/*/STORE SOURCE*/; '; @@ -627,7 +626,7 @@ data _null_; put ' sysvlong=quote(trim(symget(''sysvlong''))); '; put ' put '',"SYSVLONG" : '' sysvlong; '; put ' put ",""SYSWARNINGTEXT"" : ""&syswarningtext"" "; '; - put ' put '',"END_DTTM" : "'' "%sysfunc(datetime(),datetime20.3)" ''" ''; '; + put ' put '',"END_DTTM" : "'' "%sysfunc(datetime(),E8601DT26.6)" ''" ''; '; put ' length memsize $32; '; put ' memsize="%sysfunc(INPUTN(%sysfunc(getoption(memsize)), best.),sizekmg.)"; '; put ' memsize=quote(cats(memsize)); '; diff --git a/viya/mv_getaccesstoken.sas b/viya/mv_getaccesstoken.sas deleted file mode 100644 index 4de3924..0000000 --- a/viya/mv_getaccesstoken.sas +++ /dev/null @@ -1,32 +0,0 @@ -/** - @file mv_getaccesstoken.sas - @brief deprecated - replaced by mv_tokenrefresh.sas - - @version VIYA V.03.04 - @author Allan Bowe, source: https://github.com/sasjs/core - -