mirror of
https://github.com/yabwon/SAS_PACKAGES.git
synced 2026-04-21 13:21:33 +00:00
SAS Packages Framework, version 20260125
SAS Packages Framework, version 20260125
Changes:
- New parameters added to the %listPackages() macro.
- Documentation updated.
This commit is contained in:
+151
-75
@@ -43,7 +43,7 @@
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
Version 20251231.
|
||||
Version 20260125.
|
||||
See examples below.
|
||||
|
||||
A SAS package is a zip file containing a group of files
|
||||
@@ -101,7 +101,7 @@ Contributors:
|
||||
*/
|
||||
)/secure
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to load SAS package, version 20251231. Run %loadPackage() for help info.'
|
||||
des = 'Macro to load SAS package, version 20260125. Run %loadPackage() for help info.'
|
||||
minoperator
|
||||
;
|
||||
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
|
||||
@@ -117,7 +117,7 @@ minoperator
|
||||
%put ### This is short help information for the `loadPackage` macro #;
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro to *load* SAS packages, version `20251231` #;
|
||||
%put # Macro to *load* SAS packages, version `20260125` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -394,7 +394,7 @@ minoperator
|
||||
*/
|
||||
)/secure
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to unload SAS package, version 20251231. Run %unloadPackage() for help info.'
|
||||
des = 'Macro to unload SAS package, version 20260125. Run %unloadPackage() for help info.'
|
||||
;
|
||||
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
|
||||
%do;
|
||||
@@ -409,7 +409,7 @@ des = 'Macro to unload SAS package, version 20251231. Run %unloadPackage() for h
|
||||
%put ### This is short help information for the `unloadPackage` macro #;
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro to unload SAS packages, version `20251231` #;
|
||||
%put # Macro to unload SAS packages, version `20260125` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -562,7 +562,7 @@ des = 'Macro to unload SAS package, version 20251231. Run %unloadPackage() for h
|
||||
*/
|
||||
)/secure
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to get help about SAS package, version 20251231. Run %helpPackage() for help info.'
|
||||
des = 'Macro to get help about SAS package, version 20260125. Run %helpPackage() for help info.'
|
||||
;
|
||||
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
|
||||
%do;
|
||||
@@ -577,7 +577,7 @@ des = 'Macro to get help about SAS package, version 20251231. Run %helpPackage()
|
||||
%put ### This is short help information for the `helpPackage` macro #;
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro to get help about SAS packages, version `20251231` #;
|
||||
%put # Macro to get help about SAS packages, version `20260125` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -720,7 +720,7 @@ TODO:
|
||||
*/
|
||||
|
||||
/*+installPackage+*/
|
||||
/* Macros to install SAS packages, version 20251231 */
|
||||
/* Macros to install SAS packages, version 20260125 */
|
||||
/* 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
|
||||
@@ -747,7 +747,7 @@ TODO:
|
||||
/secure
|
||||
minoperator
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to install SAS package, version 20251231. Run %%installPackage() for help info.'
|
||||
des = 'Macro to install SAS package, version 20260125. Run %%installPackage() for help info.'
|
||||
;
|
||||
%if (%superq(packagesNames) = ) OR (%qupcase(&packagesNames.) = HELP) %then
|
||||
%do;
|
||||
@@ -762,7 +762,7 @@ des = 'Macro to install SAS package, version 20251231. Run %%installPackage() fo
|
||||
%put ### This is short help information for the `installPackage` macro #;
|
||||
%put #--------------------------------------------------------------------------------------------#;;
|
||||
%put # #;
|
||||
%put # Macro to install SAS packages, version `20251231` #;
|
||||
%put # Macro to install SAS packages, version `20260125` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -1414,7 +1414,7 @@ des = 'Macro to install SAS package, version 20251231. Run %%installPackage() fo
|
||||
|
||||
Macro to list SAS packages in packages folder.
|
||||
|
||||
Version 20251231
|
||||
Version 20260125
|
||||
|
||||
A SAS package is a zip file containing a group
|
||||
of SAS codes (macros, functions, data steps generating
|
||||
@@ -1432,11 +1432,13 @@ des = 'Macro to install SAS package, version 20251231. Run %%installPackage() fo
|
||||
*//*** HELP END ***/
|
||||
|
||||
|
||||
%macro listPackages()
|
||||
/secure PARMBUFF
|
||||
des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HELP) for help, version 20251231.'
|
||||
%macro listPackages(
|
||||
listDataSet /* Name of a data set to save results */
|
||||
, quiet = 0 /* Indicate if results should be printed in log */
|
||||
)/secure parmbuff
|
||||
des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HELP) for help, version 20260125.'
|
||||
;
|
||||
%if %QUPCASE(&SYSPBUFF.) = %str(%(HELP%)) %then
|
||||
%if (%QUPCASE(&listDataSet.) = HELP) %then
|
||||
%do;
|
||||
%local options_tmp ;
|
||||
%let options_tmp = ls=%sysfunc(getoption(ls)) ps=%sysfunc(getoption(ps))
|
||||
@@ -1449,7 +1451,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 `20251231` #;
|
||||
%put # Macro to list available SAS packages, version `20260125` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -1460,7 +1462,11 @@ des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HE
|
||||
%put # #;
|
||||
%put #### Parameters: #;
|
||||
%put # #;
|
||||
%put # NO PARAMETERS #;
|
||||
%put # 1. `listDataSet` Name of a SAS data set to store results in. #;
|
||||
%put # No data set options are honored. #;
|
||||
%put # #;
|
||||
%put # - `quiet=` *Optional.* Indicates if the LOG printout should be suspended. #;
|
||||
%put # Default value of zero (`0`) means "Do printout", other means "No". #;
|
||||
%put # #;
|
||||
%put # When used as: `%nrstr(%%listPackages(HELP))` it displays this help information. #;
|
||||
%put # #;
|
||||
@@ -1485,6 +1491,8 @@ des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HE
|
||||
%put %nrstr( %%include packages(SPFinit.sas); %%* enable the framework; );
|
||||
%put ;
|
||||
%put %nrstr( %%listPackages() %%* list available packages; );
|
||||
%put ;
|
||||
%put %nrstr( %%listPackages(ListDS,quiet=1) %%* save packages list in ListDS data set; );
|
||||
%put ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;
|
||||
%put ###########################################################################################;
|
||||
%put ;
|
||||
@@ -1492,30 +1500,47 @@ des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HE
|
||||
%GOTO ENDoflistPackages;
|
||||
%end;
|
||||
|
||||
%local ls_tmp ps_tmp notes_tmp source_tmp filesWithCodes;
|
||||
|
||||
%let filesWithCodes = WORK._%sysfunc(datetime(), hex16.)_;
|
||||
%local ls_tmp ps_tmp notes_tmp source_tmp listDataSetCheck ;
|
||||
|
||||
%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 listDataSetCheck=0;
|
||||
|
||||
%let quiet = %sysevalf(NOT(0=%superq(quiet)));
|
||||
|
||||
options NOnotes NOsource ls=MAX ps=MAX;
|
||||
|
||||
data _null_;
|
||||
length baseAll $ 32767 base $ 1024;
|
||||
length listDataSet $ 41;
|
||||
listDataSet = strip(scan(symget('listDataSet'),1,'( )'));
|
||||
call symputX('listDataSet',listDataSet,"L");
|
||||
if not (listDataSet = " ") then
|
||||
call symputX('listDataSetCheck',1,"L");
|
||||
else call symputX('quiet',0,"L");
|
||||
run;
|
||||
|
||||
data _null_
|
||||
%if 1=&listDataSetCheck. %then
|
||||
%do;
|
||||
&listDataSet.(compress=yes keep=k base PackageZIPNumber folder n tag value rename=(folder=PackageZIP k=baseNumber n=tagNumber))
|
||||
%end;
|
||||
;
|
||||
length k 8 baseAll $ 32767 base $ 1024 PackageZIPNumber 8;
|
||||
baseAll = pathname("packages");
|
||||
|
||||
array TAGSLIST[6] $ 16 _temporary_ ("PACKAGE" "TITLE" "VERSION" "AUTHOR" "MAINTAINER" "LICENSE");
|
||||
|
||||
if baseAll = " " then
|
||||
do;
|
||||
put "NOTE: The file reference PACKAGES is not assigned.";
|
||||
put "WARNING: The file reference PACKAGES is not assigned.";
|
||||
stop;
|
||||
end;
|
||||
|
||||
if char(baseAll,1) ^= "(" then baseAll = quote(strip(baseAll)); /* for paths with spaces */
|
||||
|
||||
do k = 1 to kcountw(baseAll, "()", "QS"); drop k;
|
||||
do k = 1 to kcountw(baseAll, "()", "QS"); /*drop k;*/
|
||||
base = dequote(kscanx(baseAll, k, "()", "QS"));
|
||||
|
||||
length folder $ 64 file $ 1024 folderRef fileRef $ 8;
|
||||
@@ -1525,15 +1550,21 @@ data _null_;
|
||||
rc=filename(folderRef, base);
|
||||
folderid=dopen(folderRef);
|
||||
|
||||
putlog " ";
|
||||
put "/*" 100*"+" ;
|
||||
%if 0=&quiet. %then
|
||||
%do;
|
||||
putlog " ";
|
||||
put "/*" 100*"+" ;
|
||||
%end;
|
||||
do i=1 to dnum(folderId); drop i;
|
||||
|
||||
if i = 1 then
|
||||
do;
|
||||
%if 0=&quiet. %then
|
||||
%do;
|
||||
put " #";
|
||||
put " # Listing packages for: " base;
|
||||
put " #";
|
||||
%end;
|
||||
end;
|
||||
|
||||
folder = dread(folderId, i);
|
||||
@@ -1544,7 +1575,7 @@ data _null_;
|
||||
|
||||
EOF = 0;
|
||||
if fileId = 0 and lowcase(kscanx(folder, -1, ".")) = 'zip' then
|
||||
do;
|
||||
do;
|
||||
file = catx('/',base, folder);
|
||||
|
||||
rc1 = filename("package", strip(file), 'zip', 'member="description.sas"');
|
||||
@@ -1553,24 +1584,43 @@ data _null_;
|
||||
|
||||
if rcE then /* if the description.sas exists in the zip then read it */
|
||||
do;
|
||||
putlog " * ";
|
||||
PackageZIPNumber+1;
|
||||
length nn $ 96;
|
||||
if (96-lengthn(file)) < 1 then
|
||||
put " * " file;
|
||||
else
|
||||
do;
|
||||
nn = repeat("*", (96-lengthn(file)));
|
||||
put " * " file nn;
|
||||
end;
|
||||
|
||||
%if 0=&quiet. %then
|
||||
%do;
|
||||
putlog " * ";
|
||||
if (96-lengthn(file)) < 1 then
|
||||
put " * " file;
|
||||
else
|
||||
do;
|
||||
nn = repeat("*", (96-lengthn(file)));
|
||||
put " * " file nn;
|
||||
end;
|
||||
%end;
|
||||
|
||||
infile _DUMMY_ ZIP FILEVAR=file member="description.sas" end=EOF;
|
||||
|
||||
do until(EOF);
|
||||
n = 0;
|
||||
do lineinfile = 1 by 1 until(EOF);
|
||||
input;
|
||||
if strip(upcase(kscanx(_INFILE_,1,":"))) in ("PACKAGE" "TITLE" "VERSION" "AUTHOR" "MAINTAINER" "LICENSE") then
|
||||
|
||||
length tag $ 16 value $ 4096;
|
||||
|
||||
tag = strip(upcase(kscanx(_INFILE_,1,":")));
|
||||
value = kscanx(_INFILE_,2,":");
|
||||
n = whichc(tag, of TAGSLIST[*]);
|
||||
|
||||
if (n > 0) then
|
||||
do;
|
||||
_INFILE_ = kscanx(_INFILE_,1,":") !! ":" !! kscanx(_INFILE_,2,":");
|
||||
putlog " * " _INFILE_;
|
||||
%if 0=&quiet. %then
|
||||
%do;
|
||||
putlog " * " tag +(-1) ":" @ 17 value;
|
||||
%end;
|
||||
%if 1=&listDataSetCheck. %then
|
||||
%do;
|
||||
output &listDataSet.;
|
||||
%end;
|
||||
n=0;
|
||||
end;
|
||||
if strip(upcase(strip(_INFILE_))) =: "DESCRIPTION START:" then leave;
|
||||
end;
|
||||
@@ -1581,15 +1631,41 @@ data _null_;
|
||||
rc = filename(fileRef);
|
||||
end;
|
||||
|
||||
putlog " * ";
|
||||
put 100*"+" "*/";
|
||||
%if 0=&quiet. %then
|
||||
%do;
|
||||
putlog " * ";
|
||||
put 100*"+" "*/";
|
||||
%end;
|
||||
rc = dclose(folderid);
|
||||
rc = filename(folderRef);
|
||||
end;
|
||||
|
||||
stop;
|
||||
label
|
||||
k = "Packages path ordering number."
|
||||
base = "Packages path."
|
||||
PackageZIPNumber = "Packages ZIP file number."
|
||||
folder = "Packages ZIP file."
|
||||
n = "Tag number"
|
||||
tag = "Package Tag Name"
|
||||
value = "Value"
|
||||
;
|
||||
run;
|
||||
|
||||
%if 1=&listDataSetCheck. %then
|
||||
%do;
|
||||
proc sort data=&listDataSet. out=&listDataSet.(compress=yes label='Output from the %listPackages() macro');
|
||||
by baseNumber PackageZIPNumber tagNumber;
|
||||
run;
|
||||
|
||||
%if 0=&quiet. %then
|
||||
%do;
|
||||
%put %str( );
|
||||
%put # Results ptovided in the &listDataSet. data set. #;
|
||||
%put %str( );
|
||||
%end;
|
||||
%end;
|
||||
|
||||
options ls = &ls_tmp. ps = &ps_tmp. ¬es_tmp. &source_tmp.;
|
||||
|
||||
%ENDoflistPackages:
|
||||
@@ -1601,7 +1677,7 @@ options ls = &ls_tmp. ps = &ps_tmp. ¬es_tmp. &source_tmp.;
|
||||
|
||||
Macro to generate SAS packages.
|
||||
|
||||
Version 20251231
|
||||
Version 20260125
|
||||
|
||||
A SAS package is a zip file containing a group
|
||||
of SAS codes (macros, functions, data steps generating
|
||||
@@ -1651,7 +1727,7 @@ options ls = &ls_tmp. ps = &ps_tmp. ¬es_tmp. &source_tmp.;
|
||||
when empty takes buildLocation */
|
||||
)/ secure minoperator
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to generate SAS packages, version 20251231. Run %generatePackage() for help info.'
|
||||
des = 'Macro to generate SAS packages, version 20260125. Run %generatePackage() for help info.'
|
||||
;
|
||||
%if (%superq(filesLocation) = ) OR (%qupcase(&filesLocation.) = HELP) %then
|
||||
%do;
|
||||
@@ -1666,7 +1742,7 @@ des = 'Macro to generate SAS packages, version 20251231. Run %generatePackage()
|
||||
%put ### This is short help information for the `generatePackage` macro #;
|
||||
%put #------------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro to generate SAS packages, version `20251231` #;
|
||||
%put # Macro to generate SAS packages, version `20260125` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -2548,7 +2624,7 @@ title6 "MD5 hashed fileref of package lowcase name: &_PackageFileref_.";
|
||||
title&_titleNumber_. "Package ZIP file location is: &buildLocation.";
|
||||
%end;
|
||||
|
||||
footnote1 "SAS Packages Framework, version 20251231";
|
||||
footnote1 "SAS Packages Framework, version 20260125";
|
||||
|
||||
proc print
|
||||
data = &filesWithCodes.(drop=base build folderRef fileRef rc folderid _abort_ fileId additionalContent)
|
||||
@@ -3367,7 +3443,7 @@ data _null_;
|
||||
%end;
|
||||
put +(-1) '`.;'''
|
||||
/ ' !! '' %put The macro generated: '' !! put(dtCASLudf, E8601DT19.-L) !! ";"'
|
||||
/ ' !! '' %put with the SAS Packages Framework version 20251231.;'''
|
||||
/ ' !! '' %put with the SAS Packages Framework version 20260125.;'''
|
||||
/ ' !! '' %put ****************************************************************************;'''
|
||||
/ ' !! '' %GOTO theEndOfTheMacro;'''
|
||||
/ ' !! '' %end;''' ;
|
||||
@@ -3531,7 +3607,7 @@ data _null_;
|
||||
%end;
|
||||
put +(-1) '`.; '' !!' /
|
||||
''' %put The macro generated: ''' " !! put(dtIML, E8601DT19.-L) !! " '''; '' !! ' /
|
||||
''' %put with the SAS Packages Framework version 20251231.; '' !! ' /
|
||||
''' %put with the SAS Packages Framework version 20260125.; '' !! ' /
|
||||
''' %put ****************************************************************************; '' !! ' /
|
||||
''' %GOTO theEndOfTheMacro; '' !! ' /
|
||||
''' %end; '' !! ' /
|
||||
@@ -4334,7 +4410,7 @@ data _null_;
|
||||
%end;
|
||||
|
||||
put 'put " " / @3 "---------------------------------------------------------------------" / " ";'
|
||||
/ 'put @3 "*SAS package generated by SAS Package Framework, version `20251231`*";'
|
||||
/ 'put @3 "*SAS package generated by SAS Package Framework, version `20260125`*";'
|
||||
/ "put @3 '*under `&sysscp.`(`&sysscpl.`) operating system,*';"
|
||||
/ "put @3 '*using SAS release: `&sysvlong4.`.*';"
|
||||
/ 'put " " / @3 "---------------------------------------------------------------------";';
|
||||
@@ -4773,7 +4849,7 @@ options &qlenmax_fstimer_tmp.;
|
||||
|
||||
/*+SPFint_gnPckg_tests+*/
|
||||
%macro SPFint_gnPckg_tests()/secure minoperator
|
||||
des='SAS Packages Framework internal macro. Executable only inside the %generatePackage() macro. The macro encapsulates the test part of the process. Version 20251231.';
|
||||
des='SAS Packages Framework internal macro. Executable only inside the %generatePackage() macro. The macro encapsulates the test part of the process. Version 20260125.';
|
||||
/* macro picks up all macrovariables from external scope, so from the %generatePackage() macro */
|
||||
%if %sysmexecname(%sysmexecdepth-1) in (GENERATEPACKAGE) %then
|
||||
%do;
|
||||
@@ -5422,7 +5498,7 @@ options "elenmax_tmp.;
|
||||
|
||||
/*+SPFint_gnPckg_markdown+*/
|
||||
%macro SPFint_gnPckg_markdown()/secure minoperator
|
||||
des='SAS Packages Framework internal macro. Executable only inside the %generatePackage() macro. The macro encapsulates the markdown documentation part of the process. Version 20251231.';
|
||||
des='SAS Packages Framework internal macro. Executable only inside the %generatePackage() macro. The macro encapsulates the markdown documentation part of the process. Version 20260125.';
|
||||
/* macro picks up all macrovariables from external scope, so from the %generatePackage() macro */
|
||||
%if %sysmexecname(%sysmexecdepth-1) in (GENERATEPACKAGE) %then
|
||||
%do;
|
||||
@@ -5534,7 +5610,7 @@ data &filesWithCodes.markdown;
|
||||
%end;
|
||||
|
||||
put " " / "---------------------------------------------------------------------" / " "
|
||||
/ "*SAS package generated by SAS Package Framework, version `20251231`,*"
|
||||
/ "*SAS package generated by SAS Package Framework, version `20260125`,*"
|
||||
/ "*under `&sysscp.`(`&sysscpl.`) operating system,*"
|
||||
/ "*using SAS release: `&sysvlong4.`.*"
|
||||
/ " " / "---------------------------------------------------------------------" / " ";
|
||||
@@ -5675,7 +5751,7 @@ options &MarkDownOptionsTmp.;
|
||||
|
||||
/*+SPFint_gnPckg_arch+*/
|
||||
%macro SPFint_gnPckg_arch()/secure minoperator
|
||||
des='SAS Packages Framework internal macro. Executable only inside the %generatePackage() macro. The macro encapsulates the archive version generation part of the process. Version 20251231.';
|
||||
des='SAS Packages Framework internal macro. Executable only inside the %generatePackage() macro. The macro encapsulates the archive version generation part of the process. Version 20260125.';
|
||||
/* macro picks up all macrovariables from external scope, so from the %generatePackage() macro */
|
||||
%if %sysmexecname(%sysmexecdepth-1) in (GENERATEPACKAGE) %then
|
||||
%do;
|
||||
@@ -5842,7 +5918,7 @@ TODO: (in Polish)
|
||||
*/
|
||||
)/secure
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to load multiple SAS packages at one run, version 20251231. Run %loadPackages() for help info.'
|
||||
des = 'Macro to load multiple SAS packages at one run, version 20260125. Run %loadPackages() for help info.'
|
||||
parmbuff
|
||||
;
|
||||
%if (%superq(packagesNames) = ) OR (%qupcase(&packagesNames.) = HELP) %then
|
||||
@@ -5858,7 +5934,7 @@ parmbuff
|
||||
%put ### This is short help information for the `loadPackageS` macro #;
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro wrapper for the loadPackage macro, version `20251231` #;
|
||||
%put # Macro wrapper for the loadPackage macro, version `20260125` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -5956,7 +6032,7 @@ parmbuff
|
||||
hashing_file() function, SAS 9.4M6 */
|
||||
)/secure
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to verify SAS package with the hash digest, version 20251231. Run %verifyPackage() for help info.'
|
||||
des = 'Macro to verify SAS package with the hash digest, version 20260125. Run %verifyPackage() for help info.'
|
||||
;
|
||||
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
|
||||
%do;
|
||||
@@ -5971,7 +6047,7 @@ des = 'Macro to verify SAS package with the hash digest, version 20251231. Run %
|
||||
%put ### This is short help information for the `verifyPackage` macro #;
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro to verify SAS package with it hash digest, version `20251231` #;
|
||||
%put # Macro to verify SAS package with it hash digest, version `20260125` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -6154,7 +6230,7 @@ des = 'Macro to verify SAS package with the hash digest, version 20251231. Run %
|
||||
*/
|
||||
)/secure
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to preview content of a SAS package, version 20251231. Run %previewPackage() for help info.'
|
||||
des = 'Macro to preview content of a SAS package, version 20260125. Run %previewPackage() for help info.'
|
||||
;
|
||||
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
|
||||
%do;
|
||||
@@ -6169,7 +6245,7 @@ des = 'Macro to preview content of a SAS package, version 20251231. Run %preview
|
||||
%put ### This is short help information for the `previewPackage` macro #;
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro to get preview of a SAS packages, version `20251231` #;
|
||||
%put # Macro to get preview of a SAS packages, version `20260125` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -6301,7 +6377,7 @@ des = 'Macro to preview content of a SAS package, version 20251231. Run %preview
|
||||
when empty the "packages" value is used */
|
||||
)/secure
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to list directories pointed by "packages" fileref, version 20251231. Run %extendPackagesFileref(HELP) for help info.'
|
||||
des = 'Macro to list directories pointed by "packages" fileref, version 20260125. Run %extendPackagesFileref(HELP) for help info.'
|
||||
;
|
||||
|
||||
%if %QUPCASE(&packages.) = HELP %then
|
||||
@@ -6317,7 +6393,7 @@ des = 'Macro to list directories pointed by "packages" fileref, version 20251231
|
||||
%put ### This is short help information for the `extendPackagesFileref` macro #;
|
||||
%put #-----------------------------------------------------------------------------------------#;;
|
||||
%put # #;
|
||||
%put # Macro to list directories pointed by 'packages' fileref, version `20251231` #;
|
||||
%put # Macro to list directories pointed by 'packages' fileref, version `20260125` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -6419,7 +6495,7 @@ filename packages list;
|
||||
is provided in required version */
|
||||
)/secure
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to load additional content for a SAS package, version 20251231. Run %loadPackageAddCnt() for help info.'
|
||||
des = 'Macro to load additional content for a SAS package, version 20260125. Run %loadPackageAddCnt() for help info.'
|
||||
minoperator
|
||||
;
|
||||
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
|
||||
@@ -6435,7 +6511,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 `20251231` #;
|
||||
%put # Macro to *load* additional content for a SAS package, version `20260125` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -6804,7 +6880,7 @@ minoperator
|
||||
,nobs=0 /* technical parameter */
|
||||
)
|
||||
/*** HELP END ***/
|
||||
/ des = 'Utility macro to split "one big" code into multiple files for a SAS package, version 20251231. Run %splitCodeForPackage() for help info.'
|
||||
/ des = 'Utility macro to split "one big" code into multiple files for a SAS package, version 20260125. Run %splitCodeForPackage() for help info.'
|
||||
;
|
||||
%if (%superq(codeFile) = ) OR (%qupcase(&codeFile.) = HELP) %then
|
||||
%do;
|
||||
@@ -6820,7 +6896,7 @@ minoperator
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Utility macro to *split* single file with SAS package code into multiple #;
|
||||
%put # files with separate snippets, version `20251231` #;
|
||||
%put # files with separate snippets, version `20260125` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -7196,7 +7272,7 @@ options nomprint nosymbolgen nomlogic notes source ls=MAX ps=MAX msglevel=N ;
|
||||
*/
|
||||
if firstLine[j] then
|
||||
do;
|
||||
put '/* File generated with help of SAS Packages Framework, version 20251231. */';
|
||||
put '/* File generated with help of SAS Packages Framework, version 20260125. */';
|
||||
firstLine[j]=0;
|
||||
end;
|
||||
put _infile_;
|
||||
@@ -7229,7 +7305,7 @@ options &options_tmp2.;
|
||||
,psMAX=MAX /* pageSise in case executed inside DoSubL() */
|
||||
,ods= /* a data set for results, e.g., work.relocatePackageReport */
|
||||
)
|
||||
/ des = 'Utility macro that locally Copies or Moves Packages, version 20251231. Run %relocatePackage() for help info.'
|
||||
/ des = 'Utility macro that locally Copies or Moves Packages, version 20260125. Run %relocatePackage() for help info.'
|
||||
secure
|
||||
minoperator
|
||||
;
|
||||
@@ -7247,7 +7323,7 @@ options &options_tmp2.;
|
||||
%put ### This is short help information for the `relocatePackage` macro #;
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro to *locally copy or move* (relocate) SAS packages, version `20251231` #;
|
||||
%put # Macro to *locally copy or move* (relocate) SAS packages, version `20260125` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -7905,7 +7981,7 @@ filename PACKAGES ("R:\testPackages2" "R:\testPackages1");
|
||||
vERRb /* indicates if macro should be verbose and report errors */
|
||||
)
|
||||
/ minoperator PARMBUFF
|
||||
des = 'Macro to check if the PACKAGES fileref is "correct", type %isPackagesFilerefOK(HELP) for help, version 20251231.'
|
||||
des = 'Macro to check if the PACKAGES fileref is "correct", type %isPackagesFilerefOK(HELP) for help, version 20260125.'
|
||||
;
|
||||
/*** HELP END ***/
|
||||
%if %QUPCASE(&SYSPBUFF.) = %str(%(HELP%)) %then
|
||||
@@ -7921,7 +7997,7 @@ des = 'Macro to check if the PACKAGES fileref is "correct", type %isPackagesFile
|
||||
%put ### This is short help information for the `isPackagesFilerefOK` macro #;
|
||||
%put #-----------------------------------------------------------------------------------------#;;
|
||||
%put # #;
|
||||
%put # Macro to check if the `packages` fileref is "correct", version `20251231` #;
|
||||
%put # Macro to check if the `packages` fileref is "correct", version `20260125` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -8055,7 +8131,7 @@ SPFmacroName /* space separated list of names */
|
||||
/
|
||||
minoperator
|
||||
secure
|
||||
des = 'Macro to provide help notes about SAS Packages Framework macros, version 20251231. Run %SasPackagesFrameworkNotes(HELP) for help info.'
|
||||
des = 'Macro to provide help notes about SAS Packages Framework macros, version 20260125. Run %SasPackagesFrameworkNotes(HELP) for help info.'
|
||||
;
|
||||
%local list N i element;
|
||||
%let list=
|
||||
@@ -8101,7 +8177,7 @@ SasPackagesFrameworkNotes
|
||||
%put ### This is short help information for the `SasPackagesFrameworkNotes` macro #;
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro prints help notes for SAS Packages Framework macros, version `20251231` #;
|
||||
%put # Macro prints help notes for SAS Packages Framework macros, version `20260125` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -8224,7 +8300,7 @@ options mlogic symbolgen;
|
||||
,packagesRef=packages
|
||||
,ods= /* data set for report file */
|
||||
)/
|
||||
des='Macro to create a bundle of SAS packages, version 20251231. Run %bundlePackages(HELP) for help info.'
|
||||
des='Macro to create a bundle of SAS packages, version 20260125. Run %bundlePackages(HELP) for help info.'
|
||||
secure minoperator
|
||||
;
|
||||
|
||||
@@ -8241,7 +8317,7 @@ secure minoperator
|
||||
%put ### This is short help information for the `bundlePackages` macro #;
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro to *create bundles* of SAS packages, version `20251231` #;
|
||||
%put # Macro to *create bundles* of SAS packages, version `20260125` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -8726,7 +8802,7 @@ filename p2 "R:/dontexist";
|
||||
,ods= /* data set for report file */
|
||||
,verify=0
|
||||
)/
|
||||
des='Macro to extract a bundle of SAS packages, version 20251231. Run %unbundlePackages(HELP) for help info.'
|
||||
des='Macro to extract a bundle of SAS packages, version 20260125. Run %unbundlePackages(HELP) for help info.'
|
||||
secure
|
||||
minoperator
|
||||
;
|
||||
@@ -8744,7 +8820,7 @@ minoperator
|
||||
%put ### This is short help information for the `unbundlePackages` macro #;
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro to *extract* SAS packages from a bundle, version `20251231` #;
|
||||
%put # Macro to *extract* SAS packages from a bundle, version `20260125` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
|
||||
Reference in New Issue
Block a user