*SAS Packages Framework*, version 20210203

*SAS Packages Framework*, version 20210203

Added test if during loading a macro from the package overwrites an existing macro in sasmacr catalog.
Documentation updated.
This commit is contained in:
yabwon
2021-02-03 21:12:17 +01:00
parent 78f202b150
commit 6f1f30fef9
6 changed files with 43 additions and 39 deletions

View File

@@ -12,7 +12,7 @@
/* */
/* Here is the official version: */
/*
Copyright (c) 2019 - 2020 Bartosz Jablonski (yabwon@gmail.com)
Copyright (c) 2019 - 2021 Bartosz Jablonski (yabwon@gmail.com)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -42,7 +42,7 @@
- to unload, or
- to generate SAS packages.
Version 20210122.
Version 20210203.
See examples below.
A SAS package is a zip file containing a group of files
@@ -81,7 +81,7 @@
*/
)/secure
/*** HELP END ***/
des = 'Macro to load SAS package, version 20210122. Run %loadPackage() for help info.'
des = 'Macro to load SAS package, version 20210203. Run %loadPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -96,7 +96,7 @@ des = 'Macro to load SAS package, version 20210122. Run %loadPackage() for help
%put ### This is short help information for the `loadPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to *load* SAS packages, version `20210122` #;
%put # Macro to *load* SAS packages, version `20210203` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -251,7 +251,7 @@ des = 'Macro to load SAS package, version 20210122. Run %loadPackage() for help
*/
)/secure
/*** HELP END ***/
des = 'Macro to unload SAS package, version 20210122. Run %unloadPackage() for help info.'
des = 'Macro to unload SAS package, version 20210203. Run %unloadPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -266,7 +266,7 @@ des = 'Macro to unload SAS package, version 20210122. Run %unloadPackage() for h
%put ### This is short help information for the `unloadPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to unload SAS packages, version `20210122` #;
%put # Macro to unload SAS packages, version `20210203` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -390,7 +390,7 @@ des = 'Macro to unload SAS package, version 20210122. Run %unloadPackage() for h
*/
)/secure
/*** HELP END ***/
des = 'Macro to get help about SAS package, version 20210122. Run %helpPackage() for help info.'
des = 'Macro to get help about SAS package, version 20210203. Run %helpPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -405,7 +405,7 @@ des = 'Macro to get help about SAS package, version 20210122. Run %helpPackage()
%put ### This is short help information for the `helpPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to get help about SAS packages, version `20210122` #;
%put # Macro to get help about SAS packages, version `20210203` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -515,7 +515,7 @@ TODO:
- add MD5(&packageName.) value hash instead "package" word in filenames [DONE]
*/
/* Macros to install SAS packages, version 20210122 */
/* Macros to install SAS packages, version 20210203 */
/* 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
@@ -534,7 +534,7 @@ TODO:
/secure
minoperator
/*** HELP END ***/
des = 'Macro to install SAS package, version 20210122. Run %%installPackage() for help info.'
des = 'Macro to install SAS package, version 20210203. Run %%installPackage() for help info.'
;
%if (%superq(packagesNames) = ) OR (%qupcase(&packagesNames.) = HELP) %then
%do;
@@ -549,7 +549,7 @@ des = 'Macro to install SAS package, version 20210122. Run %%installPackage() fo
%put ### This is short help information for the `installPackage` macro #;
%put #--------------------------------------------------------------------------------------------#;;
%put # #;
%put # Macro to install SAS packages, version `20210122` #;
%put # Macro to install SAS packages, version `20210203` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -859,7 +859,7 @@ des = 'Macro to install SAS package, version 20210122. Run %%installPackage() fo
/* Macro to list SAS packages in packages folder.
Version 20210122
Version 20210203
A SAS package is a zip file containing a group
of SAS codes (macros, functions, data steps generating
@@ -879,7 +879,7 @@ des = 'Macro to install SAS package, version 20210122. Run %%installPackage() fo
%macro listPackages()/PARMBUFF
des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HELP) for help, version 20210122.'
des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HELP) for help, version 20210203.'
;
%if %QUPCASE(&SYSPBUFF.) = %str(%(HELP%)) %then
%do;
@@ -894,7 +894,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 `20210122` #;
%put # Macro to list available SAS packages, version `20210203` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -1025,7 +1025,7 @@ options ls = &ls_tmp. ps = &ps_tmp. &notes_tmp. &source_tmp.;
/* Macro to generate SAS packages.
Version 20210122
Version 20210203
A SAS package is a zip file containing a group
of SAS codes (macros, functions, data steps generating
@@ -1057,7 +1057,7 @@ options ls = &ls_tmp. ps = &ps_tmp. &notes_tmp. &source_tmp.;
if set to DEF then the !SASROOT/sasv9.cfg is used */
)/secure minoperator
/*** HELP END ***/
des = 'Macro to generate SAS packages, version 20210122. Run %generatePackage() for help info.'
des = 'Macro to generate SAS packages, version 20210203. Run %generatePackage() for help info.'
;
%if (%superq(filesLocation) = ) OR (%qupcase(&filesLocation.) = HELP) %then
%do;
@@ -1072,7 +1072,7 @@ des = 'Macro to generate SAS packages, version 20210122. Run %generatePackage()
%put ### This is short help information for the `generatePackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to generate SAS packages, version `20210122` #;
%put # Macro to generate SAS packages, version `20210203` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -1856,7 +1856,11 @@ data _null_;
continue;
end;
put '%put NOTE- ;';
put '%put NOTE- Element of type ' type 'from the file "' file +(-1) '" will be included;' /;
put '%put NOTE: Element of type ' type 'from the file "' file +(-1) '" will be included;';
if upcase(type)=:'MACRO' then
put '%put %sysfunc(ifc(%SYSMACEXIST(' fileshort ')=1, NOTE# Macro ' fileshort
"exist. It will be overwritten by the macro from the &packageName. package, ));";
put " ";
if upcase(type)=:'EXEC' then
do;
@@ -2455,7 +2459,7 @@ data _null_;
put ' end ; ';
%end;
put 'put "***"; put "* SAS package generated by generatePackage, version 20210122 *"; put "***";';
put 'put "***"; put "* SAS package generated by generatePackage, version 20210203 *"; put "***";';
put 'run; ' /;
@@ -3141,7 +3145,7 @@ TODO: (in Polish)
- dodac ICEloadPackage() [v]
- weryfikacja nadpisywania makr [ ]
- weryfikacja nadpisywania makr [v]
- weryfikacja srodowiska [ ]
@@ -3187,7 +3191,7 @@ TODO: (in Polish)
*/
)/secure
/*** HELP END ***/
des = 'Macro to load multiple SAS packages at one run, version 20210122. Run %loadPackages() for help info.'
des = 'Macro to load multiple SAS packages at one run, version 20210203. Run %loadPackages() for help info.'
parmbuff
;
%if (%superq(packagesNames) = ) OR (%qupcase(&packagesNames.) = HELP) %then
@@ -3203,7 +3207,7 @@ parmbuff
%put ### This is short help information for the `loadPackageS` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro wrapper for the loadPackage macro, version `20210122` #;
%put # Macro wrapper for the loadPackage macro, version `20210203` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -3287,7 +3291,7 @@ parmbuff
hashing_file() function, SAS 9.4M6 */
)/secure
/*** HELP END ***/
des = 'Macro to verify SAS package with the hash digest, version 20210122. Run %verifyPackage() for help info.'
des = 'Macro to verify SAS package with the hash digest, version 20210203. Run %verifyPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -3302,7 +3306,7 @@ des = 'Macro to verify SAS package with the hash digest, version 20210122. Run %
%put ### This is short help information for the `verifyPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to verify SAS package with it hash digest, version `20210122` #;
%put # Macro to verify SAS package with it hash digest, version `20210203` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -3455,7 +3459,7 @@ des = 'Macro to verify SAS package with the hash digest, version 20210122. Run %
*/
)/secure
/*** HELP END ***/
des = 'Macro to preview content of a SAS package, version 20210122. Run %previewPackage() for help info.'
des = 'Macro to preview content of a SAS package, version 20210203. Run %previewPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -3470,7 +3474,7 @@ des = 'Macro to preview content of a SAS package, version 20210122. Run %preview
%put ### This is short help information for the `previewPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to get previwe of a SAS packages, version `20210122` #;
%put # Macro to get previwe of a SAS packages, version `20210203` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;