SAS Packages Framework, version 20221215

SAS Packages Framework, version 20221215

Changes in the framework:
- Bug fix for `formats` and `proto` with cherry picking.

- Packages regenerated with the latest framework version:
  - SQLinDS [2.2.4]
  - DFA [0.5.4]
  - macroArray [1.0.4]
  - BasePlus [1.18.4]
  - GSM [0.20.4]
  - dynMacroArray [0.2.4]

- New macro `%bpPIPE()` in BasePlus package.

- Documentation updated.
This commit is contained in:
Bartosz Jablonski
2022-12-15 17:56:08 +01:00
parent a282349c86
commit 8807a1560e
26 changed files with 267 additions and 198 deletions

View File

@@ -42,7 +42,7 @@
- to unload, or
- to generate SAS packages.
Version 20221212.
Version 20221215.
See examples below.
A SAS package is a zip file containing a group of files
@@ -86,7 +86,7 @@
*/
)/secure
/*** HELP END ***/
des = 'Macro to load SAS package, version 20221212. Run %loadPackage() for help info.'
des = 'Macro to load SAS package, version 20221215. Run %loadPackage() for help info.'
minoperator
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
@@ -102,7 +102,7 @@ minoperator
%put ### This is short help information for the `loadPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to *load* SAS packages, version `20221212` #;
%put # Macro to *load* SAS packages, version `20221215` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -329,7 +329,7 @@ minoperator
*/
)/secure
/*** HELP END ***/
des = 'Macro to unload SAS package, version 20221212. Run %unloadPackage() for help info.'
des = 'Macro to unload SAS package, version 20221215. Run %unloadPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -344,7 +344,7 @@ des = 'Macro to unload SAS package, version 20221212. Run %unloadPackage() for h
%put ### This is short help information for the `unloadPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to unload SAS packages, version `20221212` #;
%put # Macro to unload SAS packages, version `20221215` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -489,7 +489,7 @@ des = 'Macro to unload SAS package, version 20221212. Run %unloadPackage() for h
*/
)/secure
/*** HELP END ***/
des = 'Macro to get help about SAS package, version 20221212. Run %helpPackage() for help info.'
des = 'Macro to get help about SAS package, version 20221215. Run %helpPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -504,7 +504,7 @@ des = 'Macro to get help about SAS package, version 20221212. Run %helpPackage()
%put ### This is short help information for the `helpPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to get help about SAS packages, version `20221212` #;
%put # Macro to get help about SAS packages, version `20221215` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -634,7 +634,7 @@ TODO:
- add MD5(&packageName.) value hash instead "package" word in filenames [DONE]
*/
/* Macros to install SAS packages, version 20221212 */
/* Macros to install SAS packages, version 20221215 */
/* 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
@@ -657,7 +657,7 @@ TODO:
/secure
minoperator
/*** HELP END ***/
des = 'Macro to install SAS package, version 20221212. Run %%installPackage() for help info.'
des = 'Macro to install SAS package, version 20221215. Run %%installPackage() for help info.'
;
%if (%superq(packagesNames) = ) OR (%qupcase(&packagesNames.) = HELP) %then
%do;
@@ -672,7 +672,7 @@ des = 'Macro to install SAS package, version 20221212. Run %%installPackage() fo
%put ### This is short help information for the `installPackage` macro #;
%put #--------------------------------------------------------------------------------------------#;;
%put # #;
%put # Macro to install SAS packages, version `20221212` #;
%put # Macro to install SAS packages, version `20221215` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -1101,7 +1101,7 @@ des = 'Macro to install SAS package, version 20221212. Run %%installPackage() fo
/* Macro to list SAS packages in packages folder.
Version 20221212
Version 20221215
A SAS package is a zip file containing a group
of SAS codes (macros, functions, data steps generating
@@ -1122,7 +1122,7 @@ des = 'Macro to install SAS package, version 20221212. Run %%installPackage() fo
/*+listPackages+*/
%macro listPackages()/secure PARMBUFF
des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HELP) for help, version 20221212.'
des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HELP) for help, version 20221215.'
;
%if %QUPCASE(&SYSPBUFF.) = %str(%(HELP%)) %then
%do;
@@ -1137,7 +1137,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 `20221212` #;
%put # Macro to list available SAS packages, version `20221215` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -1287,7 +1287,7 @@ options ls = &ls_tmp. ps = &ps_tmp. &notes_tmp. &source_tmp.;
/* Macro to generate SAS packages.
Version 20221212
Version 20221215
A SAS package is a zip file containing a group
of SAS codes (macros, functions, data steps generating
@@ -1324,7 +1324,7 @@ options ls = &ls_tmp. ps = &ps_tmp. &notes_tmp. &source_tmp.;
default value 1 means "delete tests work" */
)/ secure minoperator
/*** HELP END ***/
des = 'Macro to generate SAS packages, version 20221212. Run %generatePackage() for help info.'
des = 'Macro to generate SAS packages, version 20221215. Run %generatePackage() for help info.'
;
%if (%superq(filesLocation) = ) OR (%qupcase(&filesLocation.) = HELP) %then
%do;
@@ -1339,7 +1339,7 @@ des = 'Macro to generate SAS packages, version 20221212. Run %generatePackage()
%put ### This is short help information for the `generatePackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to generate SAS packages, version `20221212` #;
%put # Macro to generate SAS packages, version `20221215` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -2473,30 +2473,18 @@ data _null_;
/* header for multiple functions in one FCMP run */
put "proc fcmp outlib = work.%lowcase(&packageName.fcmp).package ; ";
end;
if 1 = FIRST.type and upcase(type)='PROTO' then
if 1 = isProto and upcase(type)='PROTO' then
do;
/* macro variable for test if cherry picking used PROTO */
put 'data _null_; ';
put ' call symputX("cherryPick_PROTO", 0, "L"); ';
put 'run; ';
end;
if 1 = FIRST.type and upcase(type)='PROTO' then
do;
/* header for multiple functions in one PROTO run */
put "proc proto package = work.%lowcase(&packageName.proto).package ; ";
end;
if 1 = FIRST.type and upcase(type)='IMLMODULE' then
do;
/* macro variable for test if cherry picking used IML */
put 'data _null_; ';
put ' call symputX("cherryPick_IML", 0, "L"); ';
put ' call symputX("cherryPick_IML_ALL", 0, "L"); ';
put 'run; ';
/* header, for IML modules */
put "proc iml ; ";
end;
if 1 = FIRST.type and upcase(type)='FORMATS' then
do;
/* header, for FORMATS */
put "proc format lib = work.%lowcase(&packageName.format) ; ";
end;
if 1 = isFormat and upcase(type)=:'FORMAT' then
do;
/* macro variable for test if cherry picking used FORMAT */
@@ -2504,6 +2492,27 @@ data _null_;
put ' call symputX("cherryPick_FORMAT", 0, "L"); ';
put 'run; ';
end;
if 1 = FIRST.type and upcase(type)='FORMATS' then
do;
/* header, for FORMATS */
put "proc format lib = work.%lowcase(&packageName.format) ; ";
end;
if 1 = isIMLmodule and upcase(type)='IMLMODULE' then
do;
/* macro variable for test if cherry picking used IML */
put 'data _null_; ';
put ' call symputX("cherryPick_IML_ALL", 0, "L"); ';
put 'run; ';
end;
if 1 = FIRST.type and upcase(type)='IMLMODULE' then
do;
/* macro variable for test if cherry picking used IML */
put 'data _null_; ';
put ' call symputX("cherryPick_IML", 0, "L"); ';
put 'run; ';
/* header, for IML modules */
put "proc iml ; ";
end;
/* HEADERS for IML, FCMP, and PROTO - end */
put ' ' /
@@ -2624,7 +2633,7 @@ data _null_;
%end;
put '`.;''' /
' !! '' %put The macro generated: '' !! put(dtCASLudf, datetime19.-L) !! ";"' /
' !! '' %put with the SAS Packages Framework version 20221212.;''' /
' !! '' %put with the SAS Packages Framework version 20221215.;''' /
' !! '' %put ****************************************************************************;''' /
' !! '' %GOTO theEndOfTheMacro;''' /
' !! '' %end;''' ;
@@ -2725,6 +2734,7 @@ data _null_;
put 'options cmplib = (%unquote(%sysfunc(compress(' /
'%sysfunc(getoption(cmplib))' /
',%str(()) ))));';
/* proc delete is adde because "empty" PROTO creates dataset too */
put "proc delete data=work.%lowcase(&packageName.proto); run;";
put '%end;';
end;
@@ -2796,7 +2806,7 @@ data _null_;
%end;
put '`.;' /
' %put The macro generated: ''' " !! put(dtIML, datetime19.-L) !! " '''; ' /
' %put with the SAS Packages Framework version 20221212.; ' /
' %put with the SAS Packages Framework version 20221215.; ' /
' %put ****************************************************************************; ' /
' %GOTO theEndOfTheMacro; ' /
' %end; ' /
@@ -3404,7 +3414,7 @@ data _null_;
put ' end ; ';
%end;
put 'put "***"; put "* SAS package generated by generatePackage, version 20221212 *"; put "***";';
put 'put "***"; put "* SAS package generated by generatePackage, version 20221215 *"; put "***";';
put 'run; ' /;
@@ -4268,7 +4278,7 @@ TODO: (in Polish)
*/
)/secure
/*** HELP END ***/
des = 'Macro to load multiple SAS packages at one run, version 20221212. Run %loadPackages() for help info.'
des = 'Macro to load multiple SAS packages at one run, version 20221215. Run %loadPackages() for help info.'
parmbuff
;
%if (%superq(packagesNames) = ) OR (%qupcase(&packagesNames.) = HELP) %then
@@ -4284,7 +4294,7 @@ parmbuff
%put ### This is short help information for the `loadPackageS` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro wrapper for the loadPackage macro, version `20221212` #;
%put # Macro wrapper for the loadPackage macro, version `20221215` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -4381,7 +4391,7 @@ parmbuff
hashing_file() function, SAS 9.4M6 */
)/secure
/*** HELP END ***/
des = 'Macro to verify SAS package with the hash digest, version 20221212. Run %verifyPackage() for help info.'
des = 'Macro to verify SAS package with the hash digest, version 20221215. Run %verifyPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -4396,7 +4406,7 @@ des = 'Macro to verify SAS package with the hash digest, version 20221212. Run %
%put ### This is short help information for the `verifyPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to verify SAS package with it hash digest, version `20221212` #;
%put # Macro to verify SAS package with it hash digest, version `20221215` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -4567,7 +4577,7 @@ des = 'Macro to verify SAS package with the hash digest, version 20221212. Run %
*/
)/secure
/*** HELP END ***/
des = 'Macro to preview content of a SAS package, version 20221212. Run %previewPackage() for help info.'
des = 'Macro to preview content of a SAS package, version 20221215. Run %previewPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -4582,7 +4592,7 @@ des = 'Macro to preview content of a SAS package, version 20221212. Run %preview
%put ### This is short help information for the `previewPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to get previwe of a SAS packages, version `20221212` #;
%put # Macro to get previwe of a SAS packages, version `20221215` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -4709,7 +4719,7 @@ des = 'Macro to preview content of a SAS package, version 20221212. Run %preview
when empty the "packages" value is used */
)/secure
/*** HELP END ***/
des = 'Macro to list directories pointed by "packages" fileref, version 20221212. Run %extendPackagesFileref(HELP) for help info.'
des = 'Macro to list directories pointed by "packages" fileref, version 20221215. Run %extendPackagesFileref(HELP) for help info.'
;
%if %QUPCASE(&packages.) = HELP %then
@@ -4725,7 +4735,7 @@ des = 'Macro to list directories pointed by "packages" fileref, version 20221212
%put ### This is short help information for the `extendPackagesFileref` macro #;
%put #-----------------------------------------------------------------------------------------#;;
%put # #;
%put # Macro to list directories pointed by 'packages' fileref, version `20221212` #;
%put # Macro to list directories pointed by 'packages' fileref, version `20221215` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;