mirror of
https://github.com/yabwon/SAS_PACKAGES.git
synced 2026-06-16 06:50:20 +00:00
SAS Packages Framework, version 20260615
SAS Packages Framework, version `20260615` Changes: - Documentation update. Answer to issue: https://github.com/yabwon/SAS_PACKAGES/issues/136
This commit is contained in:
@@ -1,3 +1,67 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+bundlePackages+*/
|
||||
%macro bundlePackages(
|
||||
bundleName
|
||||
@@ -8,7 +72,7 @@
|
||||
,packagesRef=packages
|
||||
,ods= /* data set for report file */
|
||||
)/
|
||||
des='Macro to create a bundle of SAS packages, version 20260602. Run %bundlePackages(HELP) for help info.'
|
||||
des='Macro to create a bundle of SAS packages, version 20260615. Run %bundlePackages(HELP) for help info.'
|
||||
secure minoperator
|
||||
;
|
||||
|
||||
@@ -25,7 +89,7 @@ secure minoperator
|
||||
%put ### This is short help information for the `bundlePackages` macro #;
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro to *create bundles* of SAS packages, version `20260602` #;
|
||||
%put # Macro to *create bundles* of SAS packages, version `20260615` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
|
||||
@@ -1,3 +1,67 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+extendPackagesFileref+*/
|
||||
/*** HELP START ***/
|
||||
|
||||
@@ -6,7 +70,7 @@
|
||||
when empty the "packages" value is used */
|
||||
)/secure
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to list directories pointed by "packages" fileref, version 20260602. Run %extendPackagesFileref(HELP) for help info.'
|
||||
des = 'Macro to list directories pointed by "packages" fileref, version 20260615. Run %extendPackagesFileref(HELP) for help info.'
|
||||
;
|
||||
|
||||
%if %QUPCASE(&packages.) = HELP %then
|
||||
@@ -22,7 +86,7 @@ des = 'Macro to list directories pointed by "packages" fileref, version 20260602
|
||||
%put ### This is short help information for the `extendPackagesFileref` macro #;
|
||||
%put #-----------------------------------------------------------------------------------------#;;
|
||||
%put # #;
|
||||
%put # Macro to list directories pointed by 'packages' fileref, version `20260602` #;
|
||||
%put # Macro to list directories pointed by 'packages' fileref, version `20260615` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
|
||||
@@ -1,9 +1,73 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+generatePackage+*/
|
||||
/*** HELP START ***//*
|
||||
|
||||
Macro to generate SAS packages.
|
||||
|
||||
Version 20260602
|
||||
Version 20260615
|
||||
|
||||
A SAS package is a zip file containing a group
|
||||
of SAS codes (macros, functions, data steps generating
|
||||
@@ -53,7 +117,7 @@
|
||||
when empty takes buildLocation */
|
||||
)/ secure minoperator
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to generate SAS packages, version 20260602. Run %generatePackage(HELP) for help info.'
|
||||
des = 'Macro to generate SAS packages, version 20260615. Run %generatePackage(HELP) for help info.'
|
||||
;
|
||||
%if (%superq(filesLocation) = ) OR (%qupcase(&filesLocation.) = HELP) %then
|
||||
%do;
|
||||
@@ -68,7 +132,7 @@ des = 'Macro to generate SAS packages, version 20260602. Run %generatePackage(HE
|
||||
%put ### This is short help information for the `generatePackage` macro #;
|
||||
%put #------------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro to generate SAS packages, version `20260602` #;
|
||||
%put # Macro to generate SAS packages, version `20260615` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -950,7 +1014,7 @@ title6 "MD5 hashed fileref of package lowcase name: &_PackageFileref_.";
|
||||
title&_titleNumber_. "Package ZIP file location is: &buildLocation.";
|
||||
%end;
|
||||
|
||||
footnote1 "SAS Packages Framework, version 20260602";
|
||||
footnote1 "SAS Packages Framework, version 20260615";
|
||||
|
||||
proc print
|
||||
data = &filesWithCodes.(drop=base build folderRef fileRef rc folderid _abort_ fileId additionalContent)
|
||||
@@ -1775,7 +1839,7 @@ data _null_;
|
||||
%end;
|
||||
put +(-1) '`.;'''
|
||||
/ ' !! '' %put The macro generated: '' !! put(dtCASLudf, E8601DT19.-L) !! ";"'
|
||||
/ ' !! '' %put with the SAS Packages Framework version 20260602.;'''
|
||||
/ ' !! '' %put with the SAS Packages Framework version 20260615.;'''
|
||||
/ ' !! '' %put ****************************************************************************;'''
|
||||
/ ' !! '' %GOTO theEndOfTheMacro;'''
|
||||
/ ' !! '' %end;''' ;
|
||||
@@ -1939,7 +2003,7 @@ data _null_;
|
||||
%end;
|
||||
put +(-1) '`.; '' !!' /
|
||||
''' %put The macro generated: ''' " !! put(dtIML, E8601DT19.-L) !! " '''; '' !! ' /
|
||||
''' %put with the SAS Packages Framework version 20260602.; '' !! ' /
|
||||
''' %put with the SAS Packages Framework version 20260615.; '' !! ' /
|
||||
''' %put ****************************************************************************; '' !! ' /
|
||||
''' %GOTO theEndOfTheMacro; '' !! ' /
|
||||
''' %end; '' !! ' /
|
||||
@@ -2811,7 +2875,7 @@ data _null_;
|
||||
%end;
|
||||
|
||||
put 'put " " / @3 "---------------------------------------------------------------------" / " ";'
|
||||
/ 'put @3 "*SAS package generated by SAS Package Framework, version `20260602`*";'
|
||||
/ 'put @3 "*SAS package generated by SAS Package Framework, version `20260615`*";'
|
||||
/ "put @3 '*under `&sysscp.`(`&sysscpl.`) operating system,*';"
|
||||
/ "put @3 '*using SAS release: `&sysvlong4.`.*';"
|
||||
/ 'put " " / @3 "---------------------------------------------------------------------";';
|
||||
|
||||
@@ -1,3 +1,67 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+helpPackage+*/
|
||||
/*** HELP START ***/
|
||||
|
||||
@@ -28,7 +92,7 @@
|
||||
*/
|
||||
)/secure
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to get help about SAS package, version 20260602. Run %helpPackage(HELP) for help info.'
|
||||
des = 'Macro to get help about SAS package, version 20260615. Run %helpPackage(HELP) for help info.'
|
||||
;
|
||||
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
|
||||
%do;
|
||||
@@ -43,7 +107,7 @@ des = 'Macro to get help about SAS package, version 20260602. Run %helpPackage(H
|
||||
%put ### This is short help information for the `helpPackage` macro #;
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro to get help about SAS packages, version `20260602` #;
|
||||
%put # Macro to get help about SAS packages, version `20260615` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
|
||||
@@ -1,5 +1,69 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+installPackage+*/
|
||||
/* Macros to install SAS packages, version 20260602 */
|
||||
/* Macros to install SAS packages, version 20260615 */
|
||||
/* 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
|
||||
@@ -30,7 +94,7 @@
|
||||
/secure
|
||||
minoperator
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to install SAS package, version 20260602. Run %installPackage(HELP) for help info.'
|
||||
des = 'Macro to install SAS package, version 20260615. Run %installPackage(HELP) for help info.'
|
||||
;
|
||||
%if (%superq(packagesNames) = ) OR (%qupcase(&packagesNames.) = HELP) %then
|
||||
%do;
|
||||
@@ -45,7 +109,7 @@ des = 'Macro to install SAS package, version 20260602. Run %installPackage(HELP)
|
||||
%put ### This is short help information for the `installPackage` macro #;
|
||||
%put #--------------------------------------------------------------------------------------------#;;
|
||||
%put # #;
|
||||
%put # Macro to install SAS packages, version `20260602` #;
|
||||
%put # Macro to install SAS packages, version `20260615` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
|
||||
@@ -1,10 +1,74 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+isPackagesFilerefOK+*/
|
||||
/*** HELP START ***/
|
||||
%macro isPackagesFilerefOK(
|
||||
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 20260602.'
|
||||
des = 'Macro to check if the PACKAGES fileref is "correct", type %isPackagesFilerefOK(HELP) for help, version 20260615.'
|
||||
;
|
||||
/*** HELP END ***/
|
||||
%if %QUPCASE(&SYSPBUFF.) = %str(%(HELP%)) %then
|
||||
@@ -20,7 +84,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 `20260602` #;
|
||||
%put # Macro to check if the `packages` fileref is "correct", version `20260615` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
|
||||
@@ -1,9 +1,73 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+listPackages+*/
|
||||
/*** HELP START ***//*
|
||||
|
||||
Macro to list SAS packages in packages folder.
|
||||
|
||||
Version 20260602
|
||||
Version 20260615
|
||||
|
||||
A SAS package is a zip file containing a group
|
||||
of SAS codes (macros, functions, data steps generating
|
||||
@@ -25,7 +89,7 @@
|
||||
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 20260602.'
|
||||
des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HELP) for help, version 20260615.'
|
||||
;
|
||||
%if (%QUPCASE(&listDataSet.) = HELP) %then
|
||||
%do;
|
||||
@@ -40,7 +104,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 `20260602` #;
|
||||
%put # Macro to list available SAS packages, version `20260615` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
|
||||
+76
-12
@@ -1,3 +1,67 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+loadPackage+*/
|
||||
/*** HELP START ***/
|
||||
|
||||
@@ -37,23 +101,23 @@
|
||||
, force=0 /* force loading even if given version is already loaded */
|
||||
)/secure
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to load SAS package, version 20260602. Run %loadPackage(HELP) for help info.'
|
||||
des = 'Macro to load SAS package, version 20260615. Run %loadPackage(HELP) for help info.'
|
||||
minoperator
|
||||
;
|
||||
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
|
||||
%do;
|
||||
%local options_tmp ;
|
||||
%let options_tmp = ls=%sysfunc(getoption(ls)) ps=%sysfunc(getoption(ps))
|
||||
%sysfunc(getoption(notes)) %sysfunc(getoption(source))
|
||||
%sysfunc(getoption(notes)) %sysfunc(getoption(source)) %sysfunc(getoption(source2))
|
||||
msglevel=%sysfunc(getoption(msglevel))
|
||||
;
|
||||
options NOnotes NOsource ls=MAX ps=MAX msglevel=N;
|
||||
options NOnotes NOsource NOsource2 ls=MAX ps=MAX msglevel=N;
|
||||
%put ;
|
||||
%put #################################################################################;
|
||||
%put ### This is short help information for the `loadPackage` macro #;
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro to *load* SAS packages, version `20260602` #;
|
||||
%put # Macro to *load* SAS packages, version `20260615` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -175,13 +239,13 @@ minoperator
|
||||
%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 source_tmp = %sysfunc(getoption(source)) %sysfunc(getoption(source2));
|
||||
%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 NOmautocomploc;
|
||||
options NOnotes NOsource NOsource2 ls=MAX ps=MAX NOfullstimer NOstimer msglevel=N NOmautocomploc;
|
||||
|
||||
%local _PackageFileref_;
|
||||
data _null_;
|
||||
@@ -260,8 +324,8 @@ minoperator
|
||||
/* check if the package is already loaded */
|
||||
/* conditions 1) cherrypick=* 2) sysloadedpackages exists and is global, */
|
||||
|
||||
%local aleradyLoaded pLV pLV0; /* flag for already laded package check */
|
||||
%let aleradyLoaded = 0;
|
||||
%local alreadyLoaded pLV pLV0; /* flag for already laded package check */
|
||||
%let alreadyLoaded = 0;
|
||||
%if 0=&force. AND %SYMEXIST(sysloadedpackages) AND (%superq(cherrypick)=%str(*)) %then
|
||||
%do;
|
||||
%if %SYMGLOBL(sysloadedpackages) %then
|
||||
@@ -277,12 +341,12 @@ minoperator
|
||||
+ (%scan(&pLV0.,2,.,M)+0)*1e4
|
||||
+ (%scan(&pLV0.,3,.,M)+0)*1e0);
|
||||
|
||||
/* if package name was found and version is ok set aleradyLoaded flag to 1 */
|
||||
%let aleradyLoaded=%sysevalf(&findInLoaded. AND (&rV. &rVsign. &pLV.),boolean);
|
||||
/* if package name was found and version is ok set alreadyLoaded flag to 1 */
|
||||
%let alreadyLoaded=%sysevalf(&findInLoaded. AND (&rV. &rVsign. &pLV.),boolean);
|
||||
%end;
|
||||
%end;
|
||||
|
||||
%if (NOT &aleradyLoaded.) AND (NOT %sysevalf(&rV. &rVsign. &pV.)) %then
|
||||
%if (NOT &alreadyLoaded.) AND (NOT %sysevalf(&rV. &rVsign. &pV.)) %then
|
||||
%do;
|
||||
%put ERROR: Package &packageName. will not be loaded!;
|
||||
%put ERROR- Required version is &rV0.;
|
||||
@@ -302,7 +366,7 @@ minoperator
|
||||
;
|
||||
%if %sysevalf(%superq(lazyData)=,boolean) %then
|
||||
%do;
|
||||
%if NOT &aleradyLoaded. %then
|
||||
%if NOT &alreadyLoaded. %then
|
||||
%do;
|
||||
%local tempLoad_minoperator temp_noNotes_etc /* for hiding notes */ ;
|
||||
%let tempLoad_minoperator = %sysfunc(getoption(minoperator));
|
||||
|
||||
@@ -1,3 +1,67 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+loadPackageAddCnt+*/
|
||||
/*** HELP START ***/
|
||||
|
||||
@@ -19,7 +83,7 @@
|
||||
is provided in required version */
|
||||
)/secure
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to load additional content for a SAS package, version 20260602. Run %loadPackageAddCnt(HELP) for help info.'
|
||||
des = 'Macro to load additional content for a SAS package, version 20260615. Run %loadPackageAddCnt(HELP) for help info.'
|
||||
minoperator
|
||||
;
|
||||
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
|
||||
@@ -35,7 +99,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 `20260602` #;
|
||||
%put # Macro to *load* additional content for a SAS package, version `20260615` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
|
||||
@@ -1,3 +1,67 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+loadPackageS+*/
|
||||
/*** HELP START ***/
|
||||
|
||||
@@ -11,7 +75,7 @@
|
||||
*/
|
||||
)/secure
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to load multiple SAS packages at one run, version 20260602. Run %loadPackages(HELP) for help info.'
|
||||
des = 'Macro to load multiple SAS packages at one run, version 20260615. Run %loadPackages(HELP) for help info.'
|
||||
parmbuff
|
||||
;
|
||||
%if (%superq(packagesNames) = ) OR (%qupcase(&packagesNames.) = HELP) %then
|
||||
@@ -27,7 +91,7 @@ parmbuff
|
||||
%put ### This is short help information for the `loadPackageS` macro #;
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro wrapper for the loadPackage macro, version `20260602` #;
|
||||
%put # Macro wrapper for the loadPackage macro, version `20260615` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
|
||||
@@ -1,3 +1,67 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+previewPackage+*/
|
||||
/*** HELP START ***/
|
||||
|
||||
@@ -23,7 +87,7 @@
|
||||
*/
|
||||
)/secure
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to preview content of a SAS package, version 20260602. Run %previewPackage(HELP) for help info.'
|
||||
des = 'Macro to preview content of a SAS package, version 20260615. Run %previewPackage(HELP) for help info.'
|
||||
;
|
||||
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
|
||||
%do;
|
||||
@@ -38,7 +102,7 @@ des = 'Macro to preview content of a SAS package, version 20260602. Run %preview
|
||||
%put ### This is short help information for the `previewPackage` macro #;
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro to get preview of a SAS packages, version `20260602` #;
|
||||
%put # Macro to get preview of a SAS packages, version `20260615` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
|
||||
@@ -1,3 +1,67 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+relocatePackage+*/
|
||||
/*** HELP START ***/
|
||||
|
||||
@@ -15,7 +79,7 @@
|
||||
,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 20260602. Run %relocatePackage(HELP) for help info.'
|
||||
/ des = 'Utility macro that locally Copies or Moves Packages, version 20260615. Run %relocatePackage(HELP) for help info.'
|
||||
secure
|
||||
minoperator
|
||||
;
|
||||
@@ -33,7 +97,7 @@
|
||||
%put ### This is short help information for the `relocatePackage` macro #;
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro to *locally copy or move* (relocate) SAS packages, version `20260602` #;
|
||||
%put # Macro to *locally copy or move* (relocate) SAS packages, version `20260615` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
|
||||
@@ -1,3 +1,67 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+requestPackage+*/
|
||||
%macro requestPackage(
|
||||
packageName
|
||||
@@ -20,28 +84,29 @@
|
||||
, githubToken = /* user's github fine-grained personal access token */
|
||||
, githubTokenDebug = 0 /* debug values: 0,1,2,3 */
|
||||
|
||||
, loadPackage=1 /* should the packages be installed after installing */
|
||||
, loadPackage=1 /* should the packages be loaded after installing */
|
||||
, force=0 /* force reloading even if already loaded */
|
||||
, ignoreDepVer=0 /* should dependencies version be ignore so that only the latest could be installed */
|
||||
, successDS= /* technical */
|
||||
)
|
||||
/secure
|
||||
des = 'Macro to request SAS package installation and loading, version 20260602. Run %requestPackage(HELP) for help info.';
|
||||
des = 'Macro to request SAS package installation and loading, version 20260615. Run %requestPackage(HELP) for help info.'
|
||||
;
|
||||
|
||||
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
|
||||
%do;
|
||||
%local options_tmp ;
|
||||
%let options_tmp = ls=%sysfunc(getoption(ls)) ps=%sysfunc(getoption(ps))
|
||||
%sysfunc(getoption(notes)) %sysfunc(getoption(source))
|
||||
%sysfunc(getoption(notes)) %sysfunc(getoption(source)) %sysfunc(getoption(source2))
|
||||
msglevel=%sysfunc(getoption(msglevel))
|
||||
;
|
||||
options NOnotes NOsource ls=MAX ps=MAX msglevel=N;
|
||||
options NOnotes NOsource NOsource2 ls=MAX ps=MAX msglevel=N;
|
||||
%put ;
|
||||
%put ##############################################################################################;
|
||||
%put ### This is short help information for the `requestPackage` macro #;
|
||||
%put #--------------------------------------------------------------------------------------------#;;
|
||||
%put # #;
|
||||
%put # Macro to request (install and load) SAS packages, version `20260602` #;
|
||||
%put # Macro to request (install and load) SAS packages, version `20260615` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -65,8 +130,10 @@ des = 'Macro to request SAS package installation and loading, version 20260602.
|
||||
%put # #;
|
||||
%put # **Installation options:** #;
|
||||
%put # #;
|
||||
%put # - `requiredVersion=` *Optional.* Indicates which package version we want #;
|
||||
%put # to be requested, default value: `.` means "the latest". #;
|
||||
%put # - `requiredVersion=` *Optional.* Indicates which (at least) package version we want #;
|
||||
%put # to be requested, empty value by default means "the latest". #;
|
||||
%put # When loaded/installed package version is greater or equal #;
|
||||
%put # from requested, lower requested version is not loaded/installed. #;
|
||||
%put # #;
|
||||
%put # - `sourcePath=` Location of the package, e.g. "www.some.web.page/" #;
|
||||
%put # Mind the "/" at the end of the path! #;
|
||||
@@ -86,12 +153,6 @@ des = 'Macro to request SAS package installation and loading, version 20260602.
|
||||
%put # `https://github.com/PharmaForest/` #;
|
||||
%put # Default value is `0`. #;
|
||||
%put # #;
|
||||
%put # - `version=` Indicates which historical version of a package to install. #;
|
||||
%put # Historical version are currently 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 the `version` variable #;
|
||||
%put # is scan sequentially. #;
|
||||
%put # #;
|
||||
%put # - `replace=` When set to `1` and a package file exists, it forces the package #;
|
||||
%put # file replacement by the new downloaded file. #;
|
||||
%put # It is a binary indicator ('0' or '1'). Default value is `1`. #;
|
||||
@@ -206,11 +267,11 @@ des = 'Macro to request SAS package installation and loading, version 20260602.
|
||||
%let _rname_ = _requestPckg_%sysfunc(sleep(1,0.042),best1.)%sysfunc(datetime(),hex16.)_;
|
||||
|
||||
%let options_tmp = ls=%sysfunc(getoption(ls)) ps=%sysfunc(getoption(ps))
|
||||
%sysfunc(getoption(notes)) %sysfunc(getoption(source))
|
||||
%sysfunc(getoption(notes)) %sysfunc(getoption(source)) %sysfunc(getoption(source2))
|
||||
msglevel=%sysfunc(getoption(msglevel))
|
||||
;
|
||||
options NOnotes NOsource ls=MAX ps=MAX msglevel=N;
|
||||
options source source2;
|
||||
options NOnotes NOsource NOsource2 ls=MAX ps=MAX msglevel=N;
|
||||
/*options source source2;*/
|
||||
%let loadPackage = %sysevalf((1=%superq(loadPackage)),boolean);
|
||||
%let replace = %sysevalf(1=%superq(replace),boolean);
|
||||
|
||||
@@ -250,7 +311,8 @@ data _null_;
|
||||
/*put (_ALL_) (=/);*/
|
||||
if (. <= verRN <= versN) then
|
||||
do;
|
||||
put / "INFO: It looks like the " packageName "package is already loaded. Enjoy!";
|
||||
put / "INFO: It looks like the " packageName "package is already loaded. Enjoy!"
|
||||
/ @7 "The loaded version is: " vers;
|
||||
call symputX('_alreadyLoaded_', 1, "L");
|
||||
end;
|
||||
else
|
||||
|
||||
@@ -1,3 +1,67 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+SasPackagesFrameworkNotes+*/
|
||||
%macro SasPackagesFrameworkNotes(
|
||||
SPFmacroName /* space separated list of names */
|
||||
@@ -5,7 +69,7 @@ SPFmacroName /* space separated list of names */
|
||||
/
|
||||
minoperator
|
||||
secure
|
||||
des = 'Macro to provide help notes about SAS Packages Framework macros, version 20260602. Run %SasPackagesFrameworkNotes(HELP) for help info.'
|
||||
des = 'Macro to provide help notes about SAS Packages Framework macros, version 20260615. Run %SasPackagesFrameworkNotes(HELP) for help info.'
|
||||
;
|
||||
%local list N i element;
|
||||
%let list=
|
||||
@@ -51,7 +115,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 `20260602` #;
|
||||
%put # Macro prints help notes for SAS Packages Framework macros, version `20260615` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
|
||||
@@ -1,8 +1,72 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+SPFinit_intrnl_forceV7DSname+*/
|
||||
%macro SPFinit_intrnl_forceV7DSname(
|
||||
mcParam /* name of a macro parameter holding user provided data set name */
|
||||
)/secure minoperator
|
||||
des='SAS Packages Framework internal macro. Executable only inside selected SPF macros. Macro generates 4GL code that forces V7 compatybility for user provided data set names. Version 20260602.';
|
||||
des='SAS Packages Framework internal macro. Executable only inside selected SPF macros. Macro generates 4GL code that forces V7 compatybility for user provided data set names. Version 20260615.';
|
||||
/* The macro can be called only inside a data step. */
|
||||
/****************************************************************************
|
||||
### Parameters:
|
||||
|
||||
@@ -1,6 +1,70 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+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 20260602.';
|
||||
des='SAS Packages Framework internal macro. Executable only inside the %generatePackage() macro. The macro encapsulates the archive version generation part of the process. Version 20260615.';
|
||||
/* macro picks up all macrovariables from external scope, so from the %generatePackage() macro */
|
||||
%if %sysmexecname(%sysmexecdepth-1) in (GENERATEPACKAGE) %then
|
||||
%do;
|
||||
|
||||
@@ -1,6 +1,70 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+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 20260602.';
|
||||
des='SAS Packages Framework internal macro. Executable only inside the %generatePackage() macro. The macro encapsulates the markdown documentation part of the process. Version 20260615.';
|
||||
/* macro picks up all macrovariables from external scope, so from the %generatePackage() macro */
|
||||
%if %sysmexecname(%sysmexecdepth-1) in (GENERATEPACKAGE) %then
|
||||
%do;
|
||||
@@ -112,7 +176,7 @@ data &filesWithCodes.markdown;
|
||||
%end;
|
||||
|
||||
put " " / "---------------------------------------------------------------------" / " "
|
||||
/ "*SAS package generated by SAS Package Framework, version `20260602`,*"
|
||||
/ "*SAS package generated by SAS Package Framework, version `20260615`,*"
|
||||
/ "*under `&sysscp.`(`&sysscpl.`) operating system,*"
|
||||
/ "*using SAS release: `&sysvlong4.`.*"
|
||||
/ " " / "---------------------------------------------------------------------" / " ";
|
||||
|
||||
@@ -1,6 +1,70 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+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 20260602.';
|
||||
des='SAS Packages Framework internal macro. Executable only inside the %generatePackage() macro. The macro encapsulates the test part of the process. Version 20260615.';
|
||||
/* macro picks up all macrovariables from external scope, so from the %generatePackage() macro */
|
||||
%if %sysmexecname(%sysmexecdepth-1) in (GENERATEPACKAGE) %then
|
||||
%do;
|
||||
|
||||
@@ -1,3 +1,67 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+splitCodeForPackage+*/
|
||||
/*** HELP START ***/
|
||||
|
||||
@@ -8,7 +72,7 @@
|
||||
,nobs=0 /* technical parameter */
|
||||
)
|
||||
/*** HELP END ***/
|
||||
/ des = 'Utility macro to split "one big" code into multiple files for a SAS package, version 20260602. Run %splitCodeForPackage(HELP) for help info.'
|
||||
/ des = 'Utility macro to split "one big" code into multiple files for a SAS package, version 20260615. Run %splitCodeForPackage(HELP) for help info.'
|
||||
;
|
||||
%if (%superq(codeFile) = ) OR (%qupcase(&codeFile.) = HELP) %then
|
||||
%do;
|
||||
@@ -24,7 +88,7 @@
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Utility macro to *split* single file with SAS package code into multiple #;
|
||||
%put # files with separate snippets, version `20260602` #;
|
||||
%put # files with separate snippets, version `20260615` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
@@ -400,7 +464,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 20260602. */';
|
||||
put '/* File generated with help of SAS Packages Framework, version 20260615. */';
|
||||
firstLine[j]=0;
|
||||
end;
|
||||
put _infile_;
|
||||
|
||||
@@ -1,3 +1,67 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+unbundlePackages+*/
|
||||
%macro unbundlePackages(
|
||||
bundleName
|
||||
@@ -10,7 +74,7 @@
|
||||
,verify=0
|
||||
,quiet=0
|
||||
)/
|
||||
des='Macro to extract a bundle of SAS packages, version 20260602. Run %unbundlePackages(HELP) for help info.'
|
||||
des='Macro to extract a bundle of SAS packages, version 20260615. Run %unbundlePackages(HELP) for help info.'
|
||||
secure
|
||||
minoperator
|
||||
;
|
||||
@@ -28,7 +92,7 @@ minoperator
|
||||
%put ### This is short help information for the `unbundlePackages` macro #;
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro to *extract* SAS packages from a bundle, version `20260602` #;
|
||||
%put # Macro to *extract* SAS packages from a bundle, version `20260615` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
|
||||
@@ -1,3 +1,67 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+unloadPackage+*/
|
||||
/*** HELP START ***/
|
||||
|
||||
@@ -20,7 +84,7 @@
|
||||
*/
|
||||
)/secure
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to unload SAS package, version 20260602. Run %unloadPackage(HELP) for help info.'
|
||||
des = 'Macro to unload SAS package, version 20260615. Run %unloadPackage(HELP) for help info.'
|
||||
;
|
||||
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
|
||||
%do;
|
||||
@@ -35,7 +99,7 @@ des = 'Macro to unload SAS package, version 20260602. Run %unloadPackage(HELP) f
|
||||
%put ### This is short help information for the `unloadPackage` macro #;
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro to unload SAS packages, version `20260602` #;
|
||||
%put # Macro to unload SAS packages, version `20260615` #;
|
||||
%put # #;
|
||||
%put # A SAS package is a zip file containing a group #;
|
||||
%put # of SAS codes (macros, functions, data steps generating #;
|
||||
|
||||
@@ -1,3 +1,67 @@
|
||||
/*+headerPackage+*/
|
||||
/**############################################################################**/
|
||||
/* */
|
||||
/* Copyright Bartosz Jablonski, since July 2019 onward. */
|
||||
/* */
|
||||
/* Code is free and open source. If you want - you can use it. */
|
||||
/* I tested it the best I could */
|
||||
/* but it comes with absolutely no warranty whatsoever. */
|
||||
/* If you cause any damage or something - it will be your own fault. */
|
||||
/* You have been warned! You are using it on your own risk. */
|
||||
/* However, if you decide to use it do not forget to mention author: */
|
||||
/* Bartosz Jablonski (yabwon@gmail.com) */
|
||||
/* */
|
||||
/* Here is the official version: */
|
||||
/*
|
||||
Copyright (c) 2019 - 2026 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
/**#############################################################################**/
|
||||
|
||||
/*** HELP START ***/
|
||||
/* SPF (SAS Packages Framework) is a set of macros:
|
||||
- to install,
|
||||
- to load,
|
||||
- to get help,
|
||||
- to unload, or
|
||||
- to generate SAS packages.
|
||||
|
||||
SAS Packages Framework, version 20260615.
|
||||
See examples below.
|
||||
|
||||
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
|
||||
a single load.sas file (also embedded inside the zip).
|
||||
|
||||
Contributors:
|
||||
- Stu Sztukowski
|
||||
LinkedIn: https://www.linkedin.com/in/statsguy/
|
||||
GitHub: https://github.com/stu-code
|
||||
- Ken Nakamatsu
|
||||
LinkedIn: https://www.linkedin.com/in/k-nkmt
|
||||
GitHub: https://github.com/k-nkmt
|
||||
|
||||
*/
|
||||
/*** HELP END ***/
|
||||
|
||||
/*+verifyPackage+*/
|
||||
/*** HELP START ***/
|
||||
|
||||
@@ -13,7 +77,7 @@
|
||||
hashing_file() function, SAS 9.4M6 */
|
||||
)/secure
|
||||
/*** HELP END ***/
|
||||
des = 'Macro to verify SAS package with the hash digest, version 20260602. Run %verifyPackage(HELP) for help info.'
|
||||
des = 'Macro to verify SAS package with the hash digest, version 20260615. Run %verifyPackage(HELP) for help info.'
|
||||
;
|
||||
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
|
||||
%do;
|
||||
@@ -28,7 +92,7 @@ des = 'Macro to verify SAS package with the hash digest, version 20260602. Run %
|
||||
%put ### This is short help information for the `verifyPackage` macro #;
|
||||
%put #-------------------------------------------------------------------------------#;
|
||||
%put # #;
|
||||
%put # Macro to verify SAS package with it hash digest, version `20260602` #;
|
||||
%put # Macro to verify SAS package with it hash digest, version `20260615` #;
|
||||
%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