SAS Packages Framework, version 20240927

## SAS Packages Framework, version `20240927`

---

### Changes

- Aesthetic changes in log when running the `%installPackage()` macro, notes about successful/failed installation.
- New parameter `SFRCVN` added to the `%installPackage()` macro, `SFRCVN` provides a *name* for a macro variable to store value of the *success-failure return code* of the installation process. Return value has the following form: `<number of successes>.<number of failures>` The macro variable is created as a *global* macro variable.
- Documentation updated.

---
This commit is contained in:
Bart Jablonski
2024-09-27 11:25:33 +02:00
parent 3f950e11ce
commit 45127a057e
17 changed files with 314 additions and 127 deletions

View File

@@ -42,7 +42,7 @@
- to unload, or
- to generate SAS packages.
Version 20240711.
Version 20240927.
See examples below.
A SAS package is a zip file containing a group of files
@@ -89,7 +89,7 @@
*/
)/secure
/*** HELP END ***/
des = 'Macro to load SAS package, version 20240711. Run %loadPackage() for help info.'
des = 'Macro to load SAS package, version 20240927. Run %loadPackage() for help info.'
minoperator
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
@@ -105,7 +105,7 @@ minoperator
%put ### This is short help information for the `loadPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to *load* SAS packages, version `20240711` #;
%put # Macro to *load* SAS packages, version `20240927` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -214,7 +214,7 @@ minoperator
%GOTO ENDofloadPackage;
%end;
/* local variables for options */
%local ls_tmp ps_tmp notes_tmp source_tmp stimer_tmp fullstimer_tmp msglevel_tmp;
%local ls_tmp ps_tmp notes_tmp source_tmp stimer_tmp fullstimer_tmp msglevel_tmp mautocomploc_tmp;
%let ls_tmp = %sysfunc(getoption(ls));
%let ps_tmp = %sysfunc(getoption(ps));
%let notes_tmp = %sysfunc(getoption(notes));
@@ -222,8 +222,9 @@ minoperator
%let stimer_tmp = %sysfunc(getoption(stimer));
%let fullstimer_tmp = %sysfunc(getoption(fullstimer));
%let msglevel_tmp = %sysfunc(getoption(msglevel));
%let mautocomploc_tmp = %sysfunc(getoption(mautocomploc));
options NOnotes NOsource ls=MAX ps=MAX NOfullstimer NOstimer msglevel=N;
options NOnotes NOsource ls=MAX ps=MAX NOfullstimer NOstimer msglevel=N NOmautocomploc;
%local _PackageFileref_;
/* %let _PackageFileref_ = P%sysfunc(MD5(%lowcase(&packageName.)),hex7.); */
@@ -333,7 +334,7 @@ minoperator
options ls = &ls_tmp. ps = &ps_tmp.
&notes_tmp. &source_tmp.
&stimer_tmp. &fullstimer_tmp.
msglevel=&msglevel_tmp.;
msglevel=&msglevel_tmp. &mautocomploc_tmp.;
%ENDofloadPackage:
%mend loadPackage;
@@ -360,7 +361,7 @@ minoperator
*/
)/secure
/*** HELP END ***/
des = 'Macro to unload SAS package, version 20240711. Run %unloadPackage() for help info.'
des = 'Macro to unload SAS package, version 20240927. Run %unloadPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -375,7 +376,7 @@ des = 'Macro to unload SAS package, version 20240711. Run %unloadPackage() for h
%put ### This is short help information for the `unloadPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to unload SAS packages, version `20240711` #;
%put # Macro to unload SAS packages, version `20240927` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -442,14 +443,15 @@ des = 'Macro to unload SAS package, version 20240711. Run %unloadPackage() for h
%end;
/* local variables for options */
%local ls_tmp ps_tmp notes_tmp source_tmp msglevel_tmp;
%local ls_tmp ps_tmp notes_tmp source_tmp msglevel_tmp mautocomploc_tmp;
%let ls_tmp = %sysfunc(getoption(ls));
%let ps_tmp = %sysfunc(getoption(ps));
%let notes_tmp = %sysfunc(getoption(notes));
%let source_tmp = %sysfunc(getoption(source));
%let msglevel_tmp = %sysfunc(getoption(msglevel));
%let mautocomploc_tmp = %sysfunc(getoption(mautocomploc));
options NOnotes NOsource ls=MAX ps=MAX msglevel=N;
options NOnotes NOsource ls=MAX ps=MAX msglevel=N NOmautocomploc;
%local _PackageFileref_;
/* %let _PackageFileref_ = P%sysfunc(MD5(%lowcase(&packageName.)),hex7.); */
@@ -489,7 +491,8 @@ des = 'Macro to unload SAS package, version 20240711. Run %unloadPackage() for h
%else %put ERROR:[&sysmacroname] File "&path./&packageName..&zip." does not exist!;
filename &_PackageFileref_. clear;
options ls = &ls_tmp. ps = &ps_tmp. &notes_tmp. &source_tmp. msglevel = &msglevel_tmp.;
options ls = &ls_tmp. ps = &ps_tmp. &notes_tmp. &source_tmp.
msglevel = &msglevel_tmp. &mautocomploc_tmp.;
%ENDofunloadPackage:
%mend unloadPackage;
@@ -524,7 +527,7 @@ des = 'Macro to unload SAS package, version 20240711. Run %unloadPackage() for h
*/
)/secure
/*** HELP END ***/
des = 'Macro to get help about SAS package, version 20240711. Run %helpPackage() for help info.'
des = 'Macro to get help about SAS package, version 20240927. Run %helpPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -539,7 +542,7 @@ des = 'Macro to get help about SAS package, version 20240711. Run %helpPackage()
%put ### This is short help information for the `helpPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to get help about SAS packages, version `20240711` #;
%put # Macro to get help about SAS packages, version `20240927` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -616,14 +619,15 @@ des = 'Macro to get help about SAS package, version 20240711. Run %helpPackage()
%end;
/* local variables for options */
%local ls_tmp ps_tmp notes_tmp source_tmp msglevel_tmp;
%local ls_tmp ps_tmp notes_tmp source_tmp msglevel_tmp mautocomploc_tmp;
%let ls_tmp = %sysfunc(getoption(ls));
%let ps_tmp = %sysfunc(getoption(ps));
%let notes_tmp = %sysfunc(getoption(notes));
%let source_tmp = %sysfunc(getoption(source));
%let msglevel_tmp = %sysfunc(getoption(msglevel));
%let mautocomploc_tmp = %sysfunc(getoption(mautocomploc));
options NOnotes NOsource ls=MAX ps=MAX msglevel=N;
options NOnotes NOsource ls=MAX ps=MAX msglevel=N NOmautocomploc;
%local _PackageFileref_;
/* %let _PackageFileref_ = P%sysfunc(MD5(%lowcase(&packageName.)),hex7.); */
@@ -666,7 +670,8 @@ des = 'Macro to get help about SAS package, version 20240711. Run %helpPackage()
%else %put ERROR:[&sysmacroname] File "&path./&packageName..&zip." does not exist!;
filename &_PackageFileref_. clear;
options ls = &ls_tmp. ps = &ps_tmp. &notes_tmp. &source_tmp. msglevel = &msglevel_tmp.;
options ls = &ls_tmp. ps = &ps_tmp. &notes_tmp. &source_tmp.
msglevel = &msglevel_tmp. &mautocomploc_tmp.;
%ENDofhelpPackage:
%mend helpPackage;
@@ -678,7 +683,7 @@ TODO:
*/
/*+installPackage+*/
/* Macros to install SAS packages, version 20240711 */
/* Macros to install SAS packages, version 20240927 */
/* A SAS package is a zip file containing a group of files
with SAS code (macros, functions, data steps generating
data, etc.) wrapped up together and %INCLUDEed by
@@ -697,11 +702,12 @@ TODO:
, URLoptions = /* options for the `sourcePath` URLs */
, loadAddCnt=0 /* should the additional content be loaded?
default is 0 - means No, 1 means Yes */
, SFRCVN = /* name of a macro variable to store success-failure return code value */
)
/secure
minoperator
/*** HELP END ***/
des = 'Macro to install SAS package, version 20240711. Run %%installPackage() for help info.'
des = 'Macro to install SAS package, version 20240927. Run %%installPackage() for help info.'
;
%if (%superq(packagesNames) = ) OR (%qupcase(&packagesNames.) = HELP) %then
%do;
@@ -716,7 +722,7 @@ des = 'Macro to install SAS package, version 20240711. Run %%installPackage() fo
%put ### This is short help information for the `installPackage` macro #;
%put #--------------------------------------------------------------------------------------------#;;
%put # #;
%put # Macro to install SAS packages, version `20240711` #;
%put # Macro to install SAS packages, version `20240927` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -760,7 +766,7 @@ des = 'Macro to install SAS package, version 20240711. Run %%installPackage() fo
%put # - `version=` Indicates which historical version of a package to install. #;
%put # Historical version are available only if `mirror=0` is set. #;
%put # Default value is null which means "install the latest". #;
%put # When there are multiple packages to install version #;
%put # When there are multiple packages to install version variable #;
%put # is scan sequentially. #;
%put # #;
%put # - `replace=` With default value of `1` it causes existing package file #;
@@ -780,6 +786,11 @@ des = 'Macro to install SAS package, version 20240711. Run %%installPackage() fo
%put # directory in `<packageName>_AdditionalContent` folder. #;
%put # For other locations use `%nrstr(%%loadPackageAddCnt())` macro. #;
%put # #;
%put # - `SFRCVN=` *Optional.* Provides a NAME for a macro variable to store value of the #;
%put # *success-failure return code* of the installation process. Return value #;
%put # has the following form: `<number of successes>.<number of failures>` #;
%put # The macro variable is created as a *global* macro variable. #;
%put # #;
%put #--------------------------------------------------------------------------------------------#;
%put # #;
%put # Visit: `https://github.com/yabwon/SAS_PACKAGES/tree/main/SPF/Documentation` #;
@@ -828,7 +839,7 @@ des = 'Macro to install SAS package, version 20240711. Run %%installPackage() fo
%end;
/* local variables for options */
%local ls_tmp ps_tmp notes_tmp source_tmp stimer_tmp fullstimer_tmp msglevel_tmp;
%local ls_tmp ps_tmp notes_tmp source_tmp stimer_tmp fullstimer_tmp msglevel_tmp mautocomploc_tmp;
%let ls_tmp = %sysfunc(getoption(ls));
%let ps_tmp = %sysfunc(getoption(ps));
@@ -837,8 +848,9 @@ des = 'Macro to install SAS package, version 20240711. Run %%installPackage() fo
%let stimer_tmp = %sysfunc(getoption(stimer));
%let fullstimer_tmp = %sysfunc(getoption(fullstimer));
%let msglevel_tmp = %sysfunc(getoption(msglevel));
%let mautocomploc_tmp = %sysfunc(getoption(mautocomploc));
options NOnotes NOsource ls=MAX ps=MAX NOfullstimer NOstimer msglevel=N;
options NOnotes NOsource ls=MAX ps=MAX NOfullstimer NOstimer msglevel=N NOmautocomploc;
/*
Reference:
@@ -912,6 +924,10 @@ des = 'Macro to install SAS package, version 20240711. Run %%installPackage() fo
%put ;
%put INFO: Calling: &packagesNames.;
%Local PackagesInstalledSussess PackagesInstalledFail;
%Let PackagesInstalledSussess=;
%let PackagesInstalledFail=;
%do i = 1 %to %sysfunc(countw(&packagesNames., , S));
/*-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-*/
%local packageName packageSubDir vers versA versB;
@@ -945,7 +961,9 @@ des = 'Macro to install SAS package, version 20240711. Run %%installPackage() fo
%do;
%let SPFinitMirror = https://raw.githubusercontent.com/yabwon/SAS_PACKAGES/&vers./SPF/SPFinit.sas;
%end;
%if %superq(mirror) > 1 %then
%put %str( )Mirror %superq(mirror) does not support versioning.;
filename &in URL
"&SPFinitMirror."
recfm=N lrecl=1;
@@ -965,6 +983,12 @@ des = 'Macro to install SAS package, version 20240711. Run %%installPackage() fo
%let packageSubDir = %lowcase(&packageName.)/raw/&vers./;
%end;
%end;
%else
%do;
%if %superq(mirror) > 0 %then
%put %str( )Mirror %superq(mirror) does not support versioning.;
%end;
filename &in URL "&sourcePath.&packageSubDir.%lowcase(&packageName.).zip"
%if (%superq(URLuser) ne ) %then
%do;
@@ -1039,6 +1063,21 @@ des = 'Macro to install SAS package, version 20240711. Run %%installPackage() fo
filename &in clear;
filename &out clear;
%if 0 = &installationRC. %then
%do;
%if %superq(vers)= %then
%Let PackagesInstalledSussess=&PackagesInstalledSussess. &packageName.;
%else
%Let PackagesInstalledSussess=&PackagesInstalledSussess. &packageName.(&vers.);
%end;
%else
%do;
%if %superq(vers)= %then
%Let PackagesInstalledFail=&PackagesInstalledFail. &packageName.;
%else
%let PackagesInstalledFail=&PackagesInstalledFail. &packageName.(&vers.);
%end;
%if 1 = &loadAddCnt.
AND 0 = &installationRC.
AND NOT (%upcase(&packageName.) in (SPFINIT SASPACKAGEFRAMEWORK SASPACKAGESFRAMEWORK))
@@ -1054,14 +1093,60 @@ des = 'Macro to install SAS package, version 20240711. Run %%installPackage() fo
%put *** %lowcase(&packageName.) end *******************************************;
/*-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-*/
%end;
%local sucsCount sucsCountWords;
%let sucsCount=0;
%if NOT(%superq(PackagesInstalledSussess)=) %then
%do;
%put %str( );
%let sucsCount=%sysfunc(countw(%superq(PackagesInstalledSussess),%str( )));
%if 1=&sucsCount. %then
%put INFO: Package %superq(PackagesInstalledSussess) installed.;
%else %if 1<&sucsCount. %then
%do;
%let sucsCountWords=%sysfunc(abs(&sucsCount.),words.);
%put INFO: Successfully installed &sucsCountWords. packages:;
%put %str( )&PackagesInstalledSussess.;
%end;
%end;
%local failCount failCountWords;
%let failCount=0;
%if NOT(%superq(PackagesInstalledFail)=) %then
%do;
%put %str( );
%let failCount=%sysfunc(countw(%superq(PackagesInstalledFail),%str( )));
%if 1=&failCount. %then
%put WARNING: Failed to install %superq(PackagesInstalledFail) package.;
%else %if 1<&failCount. %then
%do;
%let failCountWords=%sysfunc(abs(&failCount.),words.);
%put WARNING: Failed to install &failCountWords. packages:;
%put WARNING- &PackagesInstalledFail.;
%end;
%end;
%put %str( );
%if NOT(%superq(SFRCVN)=) %then
%do;
data _null_;
length SFRCVN $ 32;
SFRCVN = compress(symget('SFRCVN'),"_","KAD");
value = "&sucsCount..&failCount.";
put 'INFO: Success-Failure-Return-Code macroVariable Name is: ' SFRCVN
/ ' with value: ' value
/ ;
call symputX(SFRCVN, value, "G");
run;
%end;
%packagesListError:
options ls = &ls_tmp. ps = &ps_tmp.
&notes_tmp. &source_tmp.
&stimer_tmp. &fullstimer_tmp.
msglevel=&msglevel_tmp.;
msglevel=&msglevel_tmp. &mautocomploc_tmp.;
%ENDofinstallPackage:
%mend installPackage;
@@ -1170,7 +1255,7 @@ des = 'Macro to install SAS package, version 20240711. Run %%installPackage() fo
Macro to list SAS packages in packages folder.
Version 20240711
Version 20240927
A SAS package is a zip file containing a group
of SAS codes (macros, functions, data steps generating
@@ -1188,8 +1273,9 @@ des = 'Macro to install SAS package, version 20240711. Run %%installPackage() fo
*//*** HELP END ***/
%macro listPackages()/secure PARMBUFF
des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HELP) for help, version 20240711.'
%macro listPackages()
/secure PARMBUFF
des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HELP) for help, version 20240927.'
;
%if %QUPCASE(&SYSPBUFF.) = %str(%(HELP%)) %then
%do;
@@ -1204,7 +1290,7 @@ des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HE
%put ### This is short help information for the `listPackages` macro #;
%put #-----------------------------------------------------------------------------------------#;;
%put # #;
%put # Macro to list available SAS packages, version `20240711` #;
%put # Macro to list available SAS packages, version `20240927` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -1355,7 +1441,7 @@ options ls = &ls_tmp. ps = &ps_tmp. &notes_tmp. &source_tmp.;
Macro to generate SAS packages.
Version 20240711
Version 20240927
A SAS package is a zip file containing a group
of SAS codes (macros, functions, data steps generating
@@ -1395,7 +1481,7 @@ options ls = &ls_tmp. ps = &ps_tmp. &notes_tmp. &source_tmp.;
file name be created */
)/ secure minoperator
/*** HELP END ***/
des = 'Macro to generate SAS packages, version 20240711. Run %generatePackage() for help info.'
des = 'Macro to generate SAS packages, version 20240927. Run %generatePackage() for help info.'
;
%if (%superq(filesLocation) = ) OR (%qupcase(&filesLocation.) = HELP) %then
%do;
@@ -1410,7 +1496,7 @@ des = 'Macro to generate SAS packages, version 20240711. Run %generatePackage()
%put ### This is short help information for the `generatePackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to generate SAS packages, version `20240711` #;
%put # Macro to generate SAS packages, version `20240927` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -2207,7 +2293,7 @@ title6 "MD5 hashed fileref of package lowcase name: &_PackageFileref_.";
title8 "Required SAS packages: %qsysfunc(compress(%superq(packageReqPackages),%str(%'%")))" ; /* " */
%end;
footnote1 "SAS Packages Framework, version 20240711";
footnote1 "SAS Packages Framework, version 20240927";
proc print data = &filesWithCodes.(drop=base folderRef fileRef rc folderid _abort_ fileId additionalContent);
run;
@@ -2928,7 +3014,7 @@ data _null_;
%end;
put +(-1) '`.;''' /
' !! '' %put The macro generated: '' !! put(dtCASLudf, E8601DT19.-L) !! ";"' /
' !! '' %put with the SAS Packages Framework version 20240711.;''' /
' !! '' %put with the SAS Packages Framework version 20240927.;''' /
' !! '' %put ****************************************************************************;''' /
' !! '' %GOTO theEndOfTheMacro;''' /
' !! '' %end;''' ;
@@ -3093,7 +3179,7 @@ data _null_;
%end;
put +(-1) '`.; '' !!' /
''' %put The macro generated: ''' " !! put(dtIML, E8601DT19.-L) !! " '''; '' !!' /
''' %put with the SAS Packages Framework version 20240711.; '' !! ' /
''' %put with the SAS Packages Framework version 20240927.; '' !! ' /
''' %put ****************************************************************************; '' !! ' /
''' %GOTO theEndOfTheMacro; '' !! ' /
''' %end; '' !! ' /
@@ -3881,7 +3967,7 @@ data _null_;
%end;
put 'put " " / @3 "--------------------------------------------------------------------" / " ";'
/ 'put @3 "*SAS package generated by SAS Package Framework, version `20240711`*";'
/ 'put @3 "*SAS package generated by SAS Package Framework, version `20240927`*";'
/ 'put " " / @3 "--------------------------------------------------------------------";';
put 'run; ' /;
@@ -4918,7 +5004,7 @@ data &filesWithCodes.markdown;
%end;
put " " / "--------------------------------------------------------------------" / " "
/ "*SAS package generated by SAS Package Framework, version `20240711`*"
/ "*SAS package generated by SAS Package Framework, version `20240927`*"
/ " " / "--------------------------------------------------------------------" / " ";
put "# The `&packageName.` package content";
@@ -5196,7 +5282,7 @@ TODO: (in Polish)
*/
)/secure
/*** HELP END ***/
des = 'Macro to load multiple SAS packages at one run, version 20240711. Run %loadPackages() for help info.'
des = 'Macro to load multiple SAS packages at one run, version 20240927. Run %loadPackages() for help info.'
parmbuff
;
%if (%superq(packagesNames) = ) OR (%qupcase(&packagesNames.) = HELP) %then
@@ -5212,7 +5298,7 @@ parmbuff
%put ### This is short help information for the `loadPackageS` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro wrapper for the loadPackage macro, version `20240711` #;
%put # Macro wrapper for the loadPackage macro, version `20240927` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -5309,7 +5395,7 @@ parmbuff
hashing_file() function, SAS 9.4M6 */
)/secure
/*** HELP END ***/
des = 'Macro to verify SAS package with the hash digest, version 20240711. Run %verifyPackage() for help info.'
des = 'Macro to verify SAS package with the hash digest, version 20240927. Run %verifyPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -5324,7 +5410,7 @@ des = 'Macro to verify SAS package with the hash digest, version 20240711. Run %
%put ### This is short help information for the `verifyPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to verify SAS package with it hash digest, version `20240711` #;
%put # Macro to verify SAS package with it hash digest, version `20240927` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -5379,7 +5465,7 @@ des = 'Macro to verify SAS package with the hash digest, version 20240711. Run %
%GOTO ENDofverifyPackage;
%end;
%local ls_tmp ps_tmp notes_tmp source_tmp stimer_tmp fullstimer_tmp msglevel_tmp;
%local ls_tmp ps_tmp notes_tmp source_tmp stimer_tmp fullstimer_tmp msglevel_tmp mautocomploc_tmp;
%let ls_tmp = %sysfunc(getoption(ls));
%let ps_tmp = %sysfunc(getoption(ps));
%let notes_tmp = %sysfunc(getoption(notes));
@@ -5387,8 +5473,9 @@ des = 'Macro to verify SAS package with the hash digest, version 20240711. Run %
%let stimer_tmp = %sysfunc(getoption(stimer));
%let fullstimer_tmp = %sysfunc(getoption(fullstimer));
%let msglevel_tmp = %sysfunc(getoption(msglevel));
%let mautocomploc_tmp = %sysfunc(getoption(mautocomploc));
options NOnotes NOsource ls=MAX ps=MAX NOfullstimer NOstimer msglevel=N;
options NOnotes NOsource ls=MAX ps=MAX NOfullstimer NOstimer msglevel=N NOmautocomploc;
%local _PackageFileref_;
/* %let _PackageFileref_ = P%sysfunc(MD5(%lowcase(&packageName.)),hex7.); */
@@ -5472,7 +5559,7 @@ des = 'Macro to verify SAS package with the hash digest, version 20240711. Run %
options ls = &ls_tmp. ps = &ps_tmp.
&notes_tmp. &source_tmp.
&stimer_tmp. &fullstimer_tmp.
msglevel=&msglevel_tmp.;
msglevel=&msglevel_tmp. &mautocomploc_tmp.;
%ENDofverifyPackage:
%mend verifyPackage;
@@ -5503,7 +5590,7 @@ des = 'Macro to verify SAS package with the hash digest, version 20240711. Run %
*/
)/secure
/*** HELP END ***/
des = 'Macro to preview content of a SAS package, version 20240711. Run %previewPackage() for help info.'
des = 'Macro to preview content of a SAS package, version 20240927. Run %previewPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -5518,7 +5605,7 @@ des = 'Macro to preview content of a SAS package, version 20240711. Run %preview
%put ### This is short help information for the `previewPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to get preview of a SAS packages, version `20240711` #;
%put # Macro to get preview of a SAS packages, version `20240927` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -5586,13 +5673,15 @@ des = 'Macro to preview content of a SAS package, version 20240711. Run %preview
%GOTO ENDofpreviewPackage;
%end;
%local ls_tmp ps_tmp notes_tmp source_tmp msglevel_tmp;
%local ls_tmp ps_tmp notes_tmp source_tmp msglevel_tmp mautocomploc_tmp;
%let ls_tmp = %sysfunc(getoption(ls));
%let ps_tmp = %sysfunc(getoption(ps));
%let notes_tmp = %sysfunc(getoption(notes));
%let source_tmp = %sysfunc(getoption(source));
%let msglevel_tmp = %sysfunc(getoption(msglevel));
options NOnotes NOsource ls=MAX ps=MAX msglevel=N;
%let mautocomploc_tmp = %sysfunc(getoption(mautocomploc));
options NOnotes NOsource ls=MAX ps=MAX msglevel=N NOmautocomploc;
%local _PackageFileref_;
/* %let _PackageFileref_ = P%sysfunc(MD5(%lowcase(&packageName.)),hex7.); */
@@ -5632,7 +5721,8 @@ des = 'Macro to preview content of a SAS package, version 20240711. Run %preview
%else %put ERROR:[&sysmacroname] File "&path./&packageName..&zip." does not exist!;
filename &_PackageFileref_. clear;
options ls = &ls_tmp. ps = &ps_tmp. &notes_tmp. &source_tmp. msglevel = &msglevel_tmp.;
options ls = &ls_tmp. ps = &ps_tmp. &notes_tmp. &source_tmp.
msglevel = &msglevel_tmp. &mautocomploc_tmp.;
%ENDofpreviewPackage:
%mend previewPackage;
@@ -5645,7 +5735,7 @@ des = 'Macro to preview content of a SAS package, version 20240711. Run %preview
when empty the "packages" value is used */
)/secure
/*** HELP END ***/
des = 'Macro to list directories pointed by "packages" fileref, version 20240711. Run %extendPackagesFileref(HELP) for help info.'
des = 'Macro to list directories pointed by "packages" fileref, version 20240927. Run %extendPackagesFileref(HELP) for help info.'
;
%if %QUPCASE(&packages.) = HELP %then
@@ -5661,7 +5751,7 @@ des = 'Macro to list directories pointed by "packages" fileref, version 20240711
%put ### This is short help information for the `extendPackagesFileref` macro #;
%put #-----------------------------------------------------------------------------------------#;;
%put # #;
%put # Macro to list directories pointed by 'packages' fileref, version `20240711` #;
%put # Macro to list directories pointed by 'packages' fileref, version `20240927` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -5762,7 +5852,7 @@ filename packages list;
is provided in required version */
)/secure
/*** HELP END ***/
des = 'Macro to load additional content for a SAS package, version 20240711. Run %loadPackageAddCnt() for help info.'
des = 'Macro to load additional content for a SAS package, version 20240927. Run %loadPackageAddCnt() for help info.'
minoperator
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
@@ -5778,7 +5868,7 @@ minoperator
%put ### This is short help information for the `loadPackageAddCnt` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to *load* additional content for a SAS package, version `20240711` #;
%put # Macro to *load* additional content for a SAS package, version `20240927` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -5843,7 +5933,7 @@ minoperator
%GOTO ENDofloadPackageAddCnt;
%end;
/* local variables for options */
%local ls_tmp ps_tmp notes_tmp source_tmp stimer_tmp fullstimer_tmp msglevel_tmp zip;
%local ls_tmp ps_tmp notes_tmp source_tmp stimer_tmp fullstimer_tmp msglevel_tmp mautocomploc_tmp zip;
%let ls_tmp = %sysfunc(getoption(ls));
%let ps_tmp = %sysfunc(getoption(ps));
%let notes_tmp = %sysfunc(getoption(notes));
@@ -5851,10 +5941,11 @@ minoperator
%let stimer_tmp = %sysfunc(getoption(stimer));
%let fullstimer_tmp = %sysfunc(getoption(fullstimer));
%let msglevel_tmp = %sysfunc(getoption(msglevel));
%let mautocomploc_tmp = %sysfunc(getoption(mautocomploc));
%let zip = zip;
options NOnotes NOsource ls=MAX ps=MAX NOfullstimer NOstimer msglevel=N;
options NOnotes NOsource ls=MAX ps=MAX NOfullstimer NOstimer msglevel=N NOmautocomploc;
%local _PackageFileref_;
/* %let _PackageFileref_ = P%sysfunc(MD5(%lowcase(&packageName.)),hex7.); */
@@ -6107,7 +6198,7 @@ minoperator
options ls = &ls_tmp. ps = &ps_tmp.
&notes_tmp. &source_tmp.
&stimer_tmp. &fullstimer_tmp.
msglevel=&msglevel_tmp.;
msglevel=&msglevel_tmp. &mautocomploc_tmp.;
%ENDofloadPackageAddCnt:
%mend loadPackageAddCnt;