From c667bc6b2534bc49d97c996a8822be29f85668cc Mon Sep 17 00:00:00 2001 From: Bart Jablonski Date: Mon, 14 Oct 2024 21:38:08 +0200 Subject: [PATCH] SAS Packages Framework, version 20241014 #SAS Packages Framework, version `20241014` ## Changes --- The [%generatePackage()]{https://github.com/yabwon/SAS_PACKAGES/blob/main/SPF/SPFinit.md#generatepackage} macro accepts two new code types: - `DS2PCK` for Proc DS2 packages, and - `DS2THR` for Proc DS2 threads. Those two new types allow to add `PROC DS2` *threads* and *packages* to a SAS package. --- The [%loadPackage()]{https://github.com/yabwon/SAS_PACKAGES/blob/main/SPF/SPFinit.md#loadpackage} macro has new parameter: - `DS2force` - when set to `1` an existing data set named the same as thread or package is overwritten by DS2 file. While loading a package that contains `PRCO DS2` code, by default, if there already exist a SAS data set with the same name (which is not a DS2 thread or package file) a warning is issued in the log and the thread/package data set is not generated. To force overwrite, set the `DS2force=` parameter of the `%loadPackage()` macro to 1. --- Minor updates and fixes: - Proc `sql` "drop table" replaced with `fedsqsl`'s for data sets deletion. - Proc `iml`, `fcmp`, and `proto` code blocks end with `quit;` statement. --- [Documentation]{https://github.com/yabwon/SAS_PACKAGES/tree/main/SPF/Documentation} and [Hands-on-Workshops materials]{https://github.com/yabwon/HoW-SASPackages} updated. --- --- README.md | 4 +- ...(a how to)- Paper 4725-2020 - extended.pdf | Bin 341442 -> 341859 bytes SPF/Macros/extendpackagesfileref.sas | 4 +- SPF/Macros/generatepackage.sas | 181 +++++++++++-- SPF/Macros/helppackage.sas | 4 +- SPF/Macros/installpackage.sas | 6 +- SPF/Macros/listpackages.sas | 6 +- SPF/Macros/loadpackage.sas | 17 +- SPF/Macros/loadpackageaddcnt.sas | 4 +- SPF/Macros/loadpackages.sas | 4 +- SPF/Macros/previewpackage.sas | 4 +- SPF/Macros/unloadpackage.sas | 4 +- SPF/Macros/verifypackage.sas | 4 +- SPF/SPFinit.md | 28 +- SPF/SPFinit.sas | 240 ++++++++++++++---- 15 files changed, 396 insertions(+), 114 deletions(-) diff --git a/README.md b/README.md index 649bff6..cecf234 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Don't forget to **STAR** (:star:) the repository! :-) ### Current version: -**The latest version** of SPF is **`20240927`**. +**The latest version** of SPF is **`20241014`**. To get started with SAS Packages try this [**`Getting Started with SAS Packages`**](https://github.com/yabwon/SAS_PACKAGES/blob/main/SPF/Documentation/Getting_Started_with_SAS_Packages.pdf "Getting Started with SAS Packages") presentation (see the `./SPF/Documentation` directory). @@ -163,6 +163,8 @@ The SAS Packages Framework [(short) documentation](https://github.com/yabwon/SAS ### Updates worth mentioning: +**Update**\[October 14th, 2024\]**:** `DS2PCK` and `DS2THR` **types for `PROC DS2` *threads* and *packages* added to the framework. (see [here](https://github.com/yabwon/SAS_PACKAGES/releases/tag/20241014 "PROC DS2"))**. + **Update**\[December 10th, 2023\]**:** `markdownDoc=` **parameter added to** `%generatePackage()` **macro, which allows to generate markdown file with documentation. Content is taken from the help information notes and the description. (see [here](https://github.com/yabwon/SAS_PACKAGES/releases/tag/20231210 "markdown documentation"))**. **Update**\[November 11th, 2023\]**:** `KMFSNIP` **type for *key macro abbreviations* snippets added to the framework. (see [here](https://github.com/yabwon/SAS_PACKAGES/releases/tag/20231111 "KMF-abbreviations"))**. diff --git a/SPF/Documentation/SAS(r) packages - the way to share (a how to)- Paper 4725-2020 - extended.pdf b/SPF/Documentation/SAS(r) packages - the way to share (a how to)- Paper 4725-2020 - extended.pdf index c6e1457ea9a701cda39c213eebe222ae3ebe48b1..2956d1c47923fc9c2ee1140ab2573df56394f749 100644 GIT binary patch delta 105071 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

2lU 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

b-JOo>+16zv7 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 diff --git a/SPF/Macros/extendpackagesfileref.sas b/SPF/Macros/extendpackagesfileref.sas index f3751cb..3694098 100644 --- a/SPF/Macros/extendpackagesfileref.sas +++ b/SPF/Macros/extendpackagesfileref.sas @@ -6,7 +6,7 @@ when empty the "packages" value is used */ )/secure /*** HELP END ***/ -des = 'Macro to list directories pointed by "packages" fileref, version 20240927. Run %extendPackagesFileref(HELP) for help info.' +des = 'Macro to list directories pointed by "packages" fileref, version 20241014. Run %extendPackagesFileref(HELP) for help info.' ; %if %QUPCASE(&packages.) = HELP %then @@ -22,7 +22,7 @@ des = 'Macro to list directories pointed by "packages" fileref, version 20240927 %put ### This is short help information for the `extendPackagesFileref` macro #; %put #-----------------------------------------------------------------------------------------#;; %put # #; - %put # Macro to list directories pointed by 'packages' fileref, version `20240927` #; + %put # Macro to list directories pointed by 'packages' fileref, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; diff --git a/SPF/Macros/generatepackage.sas b/SPF/Macros/generatepackage.sas index 5184713..d0b4757 100644 --- a/SPF/Macros/generatepackage.sas +++ b/SPF/Macros/generatepackage.sas @@ -3,7 +3,7 @@ Macro to generate SAS packages. - Version 20240927 + Version 20241014 A SAS package is a zip file containing a group of SAS codes (macros, functions, data steps generating @@ -43,7 +43,7 @@ file name be created */ )/ secure minoperator /*** HELP END ***/ -des = 'Macro to generate SAS packages, version 20240927. Run %generatePackage() for help info.' +des = 'Macro to generate SAS packages, version 20241014. Run %generatePackage() for help info.' ; %if (%superq(filesLocation) = ) OR (%qupcase(&filesLocation.) = HELP) %then %do; @@ -58,7 +58,7 @@ des = 'Macro to generate SAS packages, version 20240927. Run %generatePackage() %put ### This is short help information for the `generatePackage` macro #; %put #-------------------------------------------------------------------------------#; %put # #; - %put # Macro to generate SAS packages, version `20240927` #; + %put # Macro to generate SAS packages, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; @@ -527,6 +527,18 @@ DESCRIPTION END: | | | +-abc.sas [a file with a KMF-abbreviation snippet ABC, _with_ proper tagging, snippets names are in low-case] | + +-013_ds2pck [one file one PROC DS2 package] + | | + | +-abc.sas [a data set with a package ABC stored in WORK.ABC data set] + | | + | +-library.xyz.sas [a data set with a package LIBRARY.XYZ stored in LIBRARY.XYZ data set] + | + +-014_ds2thr [one file one PROC DS2 thread] + | | + | +-abc.sas [a data set with a thread ABC stored in WORK.ABC data set] + | | + | +-library.xyz.sas [a data set with a thread LIBRARY.XYZ stored in LIBRARY.XYZ data set] + | +-_ | +-00n_clean [if you need to clean something up after exec file execution, @@ -609,6 +621,7 @@ data &filesWithCodes.; 'IMLMODULE' 'PROTO' 'EXEC' 'CLEAN' 'LAZYDATA' 'TEST' 'CASLUDF' 'ADDCNT' 'KMFSNIP' + 'DS2PCK' 'DS2THR' )) then do; @@ -687,6 +700,9 @@ run; %let notesSourceOptions = %sysfunc(getoption(notes)) %sysfunc(getoption(source)); options NOnotes NOsource; +options mprint; +options notes source; + proc sort data = &filesWithCodes.; by order type file; run; @@ -793,7 +809,7 @@ run; /* code inspired by Kurt Bremser's "Talking to Your Host" article */ /* https://communities.sas.com/t5/SAS-User-Groups-Library/WUSS-Presentation-Talking-to-Your-Host/ta-p/838344 */ /* WUSS 2022 */ - + data &filesWithCodes.addCnt; run; @@ -855,9 +871,12 @@ title6 "MD5 hashed fileref of package lowcase name: &_PackageFileref_."; title8 "Required SAS packages: %qsysfunc(compress(%superq(packageReqPackages),%str(%'%")))" ; /* " */ %end; -footnote1 "SAS Packages Framework, version 20240927"; +footnote1 "SAS Packages Framework, version 20241014"; -proc print data = &filesWithCodes.(drop=base folderRef fileRef rc folderid _abort_ fileId additionalContent); +proc print + data = &filesWithCodes.(drop=base folderRef fileRef rc folderid _abort_ fileId additionalContent) + width=full +; run; title; @@ -876,7 +895,7 @@ title; title2 "Package additional content:"; proc print data=&filesWithCodes.addCnt(drop=root dir level) - label + label width=full ; run; %end; @@ -1111,6 +1130,8 @@ data _null_; isProto = 0; isIMLmodule = 0; isCASLudf = 0; + isDS2pck = 0; + isDS2thr = 0; %if (%superq(packageRequired) ne ) or (%superq(packageReqPackages) ne ) @@ -1350,7 +1371,7 @@ data _null_; ('LIBNAME' 'MACRO' /*'MACROS'*/ 'DATA' 'FUNCTION' /*'FUNCTIONS'*/ 'FORMAT' /*'FORMATS'*/ 'IMLMODULE' 'PROTO' 'EXEC' 'CLEAN' - 'LAZYDATA' 'TEST' 'ADDCNT' 'KMFSNIP')) + 'LAZYDATA' 'TEST' 'ADDCNT' 'KMFSNIP' 'DS2PCK' 'DS2THR')) then do; putlog 'WARNING: Type ' type 'is not yet supported.'; @@ -1361,8 +1382,11 @@ data _null_; isFormat + (upcase(type)=:'FORMAT'); isProto + (upcase(type)=:'PROTO'); isIMLmodule + (upcase(type)=:'IMLMODULE'); + isDS2pck + (upcase(type)=:'DS2PCK'); + isDS2thr + (upcase(type)=:'DS2THR'); - /* HEADERS for IML, FCMP, and PROTO - start */ + + /* HEADERS for PROC IML, FCMP, and PROTO - start */ if 1 = isFunction and upcase(type)=:'FUNCTION' then do; /* macro variable for test if cherry picking used FCMP */ @@ -1420,7 +1444,7 @@ data _null_; /* header, for IML modules */ put "proc iml ; "; end; - /* HEADERS for IML, FCMP, and PROTO - end */ + /* HEADERS for PROC IML, FCMP, and PROTO - end */ put ' ' / '%if (%str(*)=%superq(cherryPick)) or (' fileshort +(-1) ' in %superq(cherryPick)) %then %do; '; /* Cherry Pick test1 start */ @@ -1431,6 +1455,8 @@ data _null_; put ' %put %sysfunc(ifc(%SYSMACEXIST(' fileshort +(-1) ')=1, NOTE# Macro ' fileshort "exist. It will be overwritten by the macro from the &packageName. package, ));"; + + /* separate approach for EXEC */ if upcase(type)=:'EXEC' then do; /* User can suppress running the exec files */ @@ -1453,9 +1479,84 @@ data _null_; / ' )));' ; end; - else + /* separate approach for DS2 */ + else if (upcase(type) in: ('DS2PCK' 'DS2THR')) then do; - /* include the file with the code of the element */ + if 1 = isDS2pck and upcase(type)=:'DS2PCK' then + do; + /* macro variable for test if cherry picking used DS2 package */ + put 'data _null_; '; + put " call symputX('cherryPick_DS2PCK', 0, 'L'); "; + put 'run; '; + end; + if 1 = isDS2thr and upcase(type)=:'DS2THR' then + do; + /* macro variable for test if cherry picking used DS2 threads */ + put 'data _null_; '; + put " call symputX('cherryPick_DS2THR', 0, 'L'); "; + put 'run; '; + end; + + + /* since DS2 packages and threads are stored in SAS data sets */ + /* we have to check (before loading) if there is no "regular" */ + /* data set (or view) with the same name to avoid overwriting */ + if upcase(type) in: ('DS2PCK' 'DS2THR') then + do; + length DS2lib $ 8 DS2ds $ 32; + DS2lib = coalescec(scan(fileshort,-2,"."), "WORK"); + DS2ds = scan(fileshort,-1,"."); + + put '%put %sysfunc(ifc(%sysfunc(exist(' fileshort +(-1) '))=1,' + / '%sysfunc(dosubl(%str(options ps=min; title; options msglevel=n nodate notes source nomprint;' + / ' data _null_;' + / ' id = OPEN("' fileshort +(-1) '");' + / ' if id then do;' + / ' x = VARNUM(id, "SAS_CHECKSUM_") AND VARNUM(id, "SAS_ROWID_") AND (VARNUM(id, "SAS_TEXTTHREAD_") OR VARNUM(id, "SAS_TEXTPACKAGE_"));' + / ' y = ("DATA"=ATTRC(id, "MTYPE"));' + / ' if symexist("DS2force") then z = symgetn("DS2force"); else z = 0;' + / ' if (x AND y) OR z then do;' + / ' call execute("proc delete data=' fileshort +(-1) '; run;");' + / " put 'NOTE# The " fileshort "will be overwritten by the PROC DS2 package/thread from the &packageName. package.';" + + /* header for each DS2 packages or threads in PROC DS2 run */ + / ' call execute("proc ds2;");' + + / ' call execute(''%include' " &_PackageFileref_.(_" folder +(-1) "." file +(-1) ') / nosource2;'');' + + /* footer for each DS2 packages or threads in PROC DS2 run */ + / ' call execute("run; quit;");' + / ' call execute("options nonotes; proc datasets lib=' DS2lib 'noprint;");' + / " call execute('modify " DS2ds "(label=""Package: &packageName. ; Type: " type "; Name: " fileshort """);');" + / ' call execute("run; quit;");' + / ' end;' + / ' else put "WARNING: Data set ' fileshort 'exist and is not a PROC DS2 package/thread!"' + / ' / "WARNING- PROC DS2 package/thread ' fileshort 'will not be generated..."; ' + / ' id = CLOSE(id);' + / ' end;' + / ' run;))),' + / '%sysfunc(dosubl(%str(options ps=min; title; options msglevel=n nodate notes source nomprint;' + /* header for each DS2 packages or threads in PROC DS2 run */ + / ' proc ds2;' + + / ' %include' " &_PackageFileref_.(_" folder +(-1) "." file +(-1) ') / nosource2;' + + /* footer for each DS2 packages or threads in PROC DS2 run */ + / ' run; quit;' + / ' options nonotes; proc datasets lib=' DS2lib 'noprint;' + / " modify " DS2ds "(label=""Package: &packageName. ; Type: " type "; Name: " fileshort """);" + / ' run; quit;' + / '))),' + / '));' + / " " + / ; + + end; + + end; + else + do; + /* include the file with the code of the element, all other cases */ put ' %include' " &_PackageFileref_.(_" folder +(-1) "." file +(-1) ') / nosource2;'; end; @@ -1471,13 +1572,19 @@ data _null_; if upcase(type)=:'FORMAT' then put ' %let cherryPick_FORMAT = %eval(&cherryPick_FORMAT. + 1);'; + if upcase(type)=:'DS2PCK' then + put ' %let cherryPick_DS2PCK = %eval(&cherryPick_DS2PCK. + 1);'; + + if upcase(type)=:'DS2THR' then + put ' %let cherryPick_DS2THR = %eval(&cherryPick_DS2THR. + 1);'; + put '%end; ' /; /* Cherry Pick test1 end */ - /* FOOTERS for IML, FCMP, and PROTO - start */ + /* FOOTERS for PROC IML, FCMP, and PROTO - start */ if 1 = LAST.type and upcase(type) in ('FUNCTIONS' 'PROTO' 'FORMATS') then do; /* footer, for multiple functions in one FCMP run, one PROTO run, or one FORMAT run */ - put "run; " / ; + put "quit; " / ; end; if 1 = LAST.type and upcase(type)='IMLMODULE' then /* footer, for IML modules */ do; @@ -1488,7 +1595,7 @@ data _null_; '%end; ' / "quit; " / ; end; - /* FOOTERS for IML, FCMP, and PROTO - end */ + /* FOOTERS for PROC IML, FCMP, and PROTO - end */ /* add the link to the functions dataset, only for the first occurrence */ /*if 1 = isFunction and (upcase(type)=:'FUNCTION') then @@ -1576,7 +1683,7 @@ data _null_; %end; put +(-1) '`.;''' / ' !! '' %put The macro generated: '' !! put(dtCASLudf, E8601DT19.-L) !! ";"' / - ' !! '' %put with the SAS Packages Framework version 20240927.;''' / + ' !! '' %put with the SAS Packages Framework version 20241014.;''' / ' !! '' %put ****************************************************************************;''' / ' !! '' %GOTO theEndOfTheMacro;''' / ' !! '' %end;''' ; @@ -1741,7 +1848,7 @@ data _null_; %end; put +(-1) '`.; '' !!' / ''' %put The macro generated: ''' " !! put(dtIML, E8601DT19.-L) !! " '''; '' !!' / - ''' %put with the SAS Packages Framework version 20240927.; '' !! ' / + ''' %put with the SAS Packages Framework version 20241014.; '' !! ' / ''' %put ****************************************************************************; '' !! ' / ''' %GOTO theEndOfTheMacro; '' !! ' / ''' %end; '' !! ' / @@ -2256,15 +2363,33 @@ data _null_; /* put 'remove module = ' fileshort ';'; */ end; - /* delete datasets */ - put "proc sql noprint;"; + /* delete data sets */ + put "proc fedsql noprint;"; EOF = 0; do until(EOF); set &filesWithCodes. end = EOF; - if not (upcase(type)=:'DATA') then continue; + if not (upcase(type) in: ('DATA')) then continue; put '%put NOTE- Element of type ' type 'generated from the file "' file +(-1) '" will be deleted;'; put '%put NOTE- ;'; - put 'drop table ' fileshort ';' /; + put 'drop table ' fileshort ' FORCE;' /; + end; + put "quit;" /; + + /* delete PROC DS2 packages or threads */ + put 'data _null_; call symputx("_DS2_2_del_",0,"L"); run;'; + put "proc fedsql noprint;"; + EOF = 0; + do until(EOF); + set &filesWithCodes. end = EOF; + if not (upcase(type) in: ('DS2PCK' 'DS2THR')) then continue; + put '%put NOTE- Element of type ' type 'generated from the file "' file +(-1) '" will be deleted;' + / '%put NOTE- ;' + / '%let _DS2_2_del_ = %sysfunc(open(' fileshort '));' + / '%sysfunc(ifc(&_DS2_2_del_. AND %sysfunc(ATTRC(&_DS2_2_del_.,LABEL))=' + / '%str(' "Package: &packageName. ; Type: " type "; Name: " fileshort +(-1) '),drop table ' fileshort ' FORCE,)) ;' + / '%let _DS2_2_del_ = %sysfunc(close(&_DS2_2_del_.));' + ; + put ';' /; end; put "quit;" /; @@ -2392,12 +2517,13 @@ data _null_; length fileshort2 $ 256; select; - when (upcase(type) in ("DATA" "LAZYDATA")) fileshort2 = cats("'", fileshort, "'" ); - when (upcase(type) =: "MACRO" ) fileshort2 = cats('''%', fileshort, "()'"); + when (upcase(type) in ("DATA" "LAZYDATA")) fileshort2 = cats("'", fileshort, "'" ); + when (upcase(type) =: "MACRO" ) fileshort2 = cats('''%', fileshort, "()'" ); when (upcase(type) =: "FUNCTION" ) fileshort2 = cats("'", fileshort, "()'" ); when (upcase(type) =: "IMLMODULE" ) fileshort2 = cats("'", fileshort, "()'" ); when (upcase(type) =: "PROTO" ) fileshort2 = cats("'", fileshort, "()'" ); when (upcase(type) =: "FORMAT" ) fileshort2 = cats("'$", fileshort, ".'" ); + when (upcase(type) in ('DS2PCK' 'DS2THR')) fileshort2 = cats("'DS2", fileshort, "'" ); otherwise fileshort2 = fileshort; end; strX = catx('/', folder, order, type, file, fileshort, fileshort2); @@ -2529,7 +2655,7 @@ data _null_; %end; put 'put " " / @3 "--------------------------------------------------------------------" / " ";' - / 'put @3 "*SAS package generated by SAS Package Framework, version `20240927`*";' + / 'put @3 "*SAS package generated by SAS Package Framework, version `20241014`*";' / 'put " " / @3 "--------------------------------------------------------------------";'; put 'run; ' /; @@ -2568,13 +2694,14 @@ data _null_; length fileshort2 $ 256; select; - when (upcase(type) in ("DATA" "LAZYDATA")) fileshort2 = cats("'", fileshort, "'" ); - when (upcase(type) =: "MACRO" ) fileshort2 = cats('''%', fileshort, "()'"); + when (upcase(type) in ("DATA" "LAZYDATA")) fileshort2 = cats("'", fileshort, "'" ); + when (upcase(type) =: "MACRO" ) fileshort2 = cats('''%', fileshort, "()'" ); when (upcase(type) =: "FUNCTION" ) fileshort2 = cats("'", fileshort, "()'" ); when (upcase(type) =: "IMLMODULE" ) fileshort2 = cats("'", fileshort, "()'" ); when (upcase(type) =: "PROTO" ) fileshort2 = cats("'", fileshort, "()'" ); when (upcase(type) =: "FORMAT" ) fileshort2 = cats("'$", fileshort, ".'" ); when (upcase(type) =: "CASLUDF" ) fileshort2 = cats("'", fileshort, "()'" ); + when (upcase(type) in ('DS2PCK' 'DS2THR')) fileshort2 = cats("'DS2", fileshort, "'" ); otherwise fileshort2 = fileshort; end; strX = catx('/', folder, order, type, file, fileshort, fileshort2); @@ -3566,7 +3693,7 @@ data &filesWithCodes.markdown; %end; put " " / "--------------------------------------------------------------------" / " " - / "*SAS package generated by SAS Package Framework, version `20240927`*" + / "*SAS package generated by SAS Package Framework, version `20241014`*" / " " / "--------------------------------------------------------------------" / " "; put "# The `&packageName.` package content"; diff --git a/SPF/Macros/helppackage.sas b/SPF/Macros/helppackage.sas index 9532b62..83b2887 100644 --- a/SPF/Macros/helppackage.sas +++ b/SPF/Macros/helppackage.sas @@ -28,7 +28,7 @@ */ )/secure /*** HELP END ***/ -des = 'Macro to get help about SAS package, version 20240927. Run %helpPackage() for help info.' +des = 'Macro to get help about SAS package, version 20241014. Run %helpPackage() for help info.' ; %if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then %do; @@ -43,7 +43,7 @@ des = 'Macro to get help about SAS package, version 20240927. Run %helpPackage() %put ### This is short help information for the `helpPackage` macro #; %put #-------------------------------------------------------------------------------#; %put # #; - %put # Macro to get help about SAS packages, version `20240927` #; + %put # Macro to get help about SAS packages, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; diff --git a/SPF/Macros/installpackage.sas b/SPF/Macros/installpackage.sas index a01b4ca..da7e646 100644 --- a/SPF/Macros/installpackage.sas +++ b/SPF/Macros/installpackage.sas @@ -1,5 +1,5 @@ /*+installPackage+*/ -/* Macros to install SAS packages, version 20240927 */ +/* Macros to install SAS packages, version 20241014 */ /* 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 @@ -23,7 +23,7 @@ /secure minoperator /*** HELP END ***/ -des = 'Macro to install SAS package, version 20240927. Run %%installPackage() for help info.' +des = 'Macro to install SAS package, version 20241014. Run %%installPackage() for help info.' ; %if (%superq(packagesNames) = ) OR (%qupcase(&packagesNames.) = HELP) %then %do; @@ -38,7 +38,7 @@ des = 'Macro to install SAS package, version 20240927. Run %%installPackage() fo %put ### This is short help information for the `installPackage` macro #; %put #--------------------------------------------------------------------------------------------#;; %put # #; - %put # Macro to install SAS packages, version `20240927` #; + %put # Macro to install SAS packages, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; diff --git a/SPF/Macros/listpackages.sas b/SPF/Macros/listpackages.sas index 6304320..4c3ce43 100644 --- a/SPF/Macros/listpackages.sas +++ b/SPF/Macros/listpackages.sas @@ -3,7 +3,7 @@ Macro to list SAS packages in packages folder. - Version 20240927 + Version 20241014 A SAS package is a zip file containing a group of SAS codes (macros, functions, data steps generating @@ -23,7 +23,7 @@ %macro listPackages() /secure PARMBUFF -des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HELP) for help, version 20240927.' +des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HELP) for help, version 20241014.' ; %if %QUPCASE(&SYSPBUFF.) = %str(%(HELP%)) %then %do; @@ -38,7 +38,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 `20240927` #; + %put # Macro to list available SAS packages, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; diff --git a/SPF/Macros/loadpackage.sas b/SPF/Macros/loadpackage.sas index 67979d4..e4dc408 100644 --- a/SPF/Macros/loadpackage.sas +++ b/SPF/Macros/loadpackage.sas @@ -30,11 +30,13 @@ , loadAddCnt=0 /* should the additional content be loaded? default is 0 - means No, 1 means Yes */ , suppressExec=0 /* indicates if loading of exec files - should be suppressed, 1=suppress + should be suppressed, 1=suppress */ +, DS2force=0 /* indicates if PROC DS2 packages and threads + should be loaded if a data set exists, 0=do not load */ )/secure /*** HELP END ***/ -des = 'Macro to load SAS package, version 20240927. Run %loadPackage() for help info.' +des = 'Macro to load SAS package, version 20241014. Run %loadPackage() for help info.' minoperator ; %if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then @@ -50,7 +52,7 @@ minoperator %put ### This is short help information for the `loadPackage` macro #; %put #-------------------------------------------------------------------------------#; %put # #; - %put # Macro to *load* SAS packages, version `20240927` #; + %put # Macro to *load* SAS packages, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; @@ -110,6 +112,10 @@ minoperator %put # should be suppressed, default value is `0`, #; %put # when set to `1` `exec` files are *not* loaded #; %put # #; + %put # - `DS2force=` *Optional.* Indicates if loading of `PROC DS2` packages #; + %put # or threads should overwrite existing SAS data sets. #; + %put # Default value of `0` means "do not overwrite". #; + %put # #; %put #-------------------------------------------------------------------------------#; %put # #; %put # Visit: `https://github.com/yabwon/SAS_PACKAGES/tree/main/SPF/Documentation` #; @@ -212,6 +218,11 @@ minoperator %let suppressExec = 0; %end; + %if %superq(DS2force) NE 1 %then + %do; + %let DS2force = 0; + %end; + filename &_PackageFileref_. &ZIP. /* put location of package myPackageFile.zip here */ "&path./%lowcase(&packageName.).&zip." %unquote(&options.) diff --git a/SPF/Macros/loadpackageaddcnt.sas b/SPF/Macros/loadpackageaddcnt.sas index ab14096..42d7b2b 100644 --- a/SPF/Macros/loadpackageaddcnt.sas +++ b/SPF/Macros/loadpackageaddcnt.sas @@ -19,7 +19,7 @@ is provided in required version */ )/secure /*** HELP END ***/ -des = 'Macro to load additional content for a SAS package, version 20240927. Run %loadPackageAddCnt() for help info.' +des = 'Macro to load additional content for a SAS package, version 20241014. Run %loadPackageAddCnt() for help info.' minoperator ; %if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then @@ -35,7 +35,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 `20240927` #; + %put # Macro to *load* additional content for a SAS package, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; diff --git a/SPF/Macros/loadpackages.sas b/SPF/Macros/loadpackages.sas index 254899b..7b9ec4c 100644 --- a/SPF/Macros/loadpackages.sas +++ b/SPF/Macros/loadpackages.sas @@ -11,7 +11,7 @@ */ )/secure /*** HELP END ***/ -des = 'Macro to load multiple SAS packages at one run, version 20240927. Run %loadPackages() for help info.' +des = 'Macro to load multiple SAS packages at one run, version 20241014. Run %loadPackages() for help info.' parmbuff ; %if (%superq(packagesNames) = ) OR (%qupcase(&packagesNames.) = HELP) %then @@ -27,7 +27,7 @@ parmbuff %put ### This is short help information for the `loadPackageS` macro #; %put #-------------------------------------------------------------------------------#; %put # #; - %put # Macro wrapper for the loadPackage macro, version `20240927` #; + %put # Macro wrapper for the loadPackage macro, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; diff --git a/SPF/Macros/previewpackage.sas b/SPF/Macros/previewpackage.sas index 2b0c443..e8719f9 100644 --- a/SPF/Macros/previewpackage.sas +++ b/SPF/Macros/previewpackage.sas @@ -23,7 +23,7 @@ */ )/secure /*** HELP END ***/ -des = 'Macro to preview content of a SAS package, version 20240927. Run %previewPackage() for help info.' +des = 'Macro to preview content of a SAS package, version 20241014. Run %previewPackage() for help info.' ; %if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then %do; @@ -38,7 +38,7 @@ des = 'Macro to preview content of a SAS package, version 20240927. Run %preview %put ### This is short help information for the `previewPackage` macro #; %put #-------------------------------------------------------------------------------#; %put # #; - %put # Macro to get preview of a SAS packages, version `20240927` #; + %put # Macro to get preview of a SAS packages, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; diff --git a/SPF/Macros/unloadpackage.sas b/SPF/Macros/unloadpackage.sas index 457ed53..c54062e 100644 --- a/SPF/Macros/unloadpackage.sas +++ b/SPF/Macros/unloadpackage.sas @@ -20,7 +20,7 @@ */ )/secure /*** HELP END ***/ -des = 'Macro to unload SAS package, version 20240927. Run %unloadPackage() for help info.' +des = 'Macro to unload SAS package, version 20241014. Run %unloadPackage() for help info.' ; %if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then %do; @@ -35,7 +35,7 @@ des = 'Macro to unload SAS package, version 20240927. Run %unloadPackage() for h %put ### This is short help information for the `unloadPackage` macro #; %put #-------------------------------------------------------------------------------#; %put # #; - %put # Macro to unload SAS packages, version `20240927` #; + %put # Macro to unload SAS packages, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; diff --git a/SPF/Macros/verifypackage.sas b/SPF/Macros/verifypackage.sas index 91b69cc..b5528d6 100644 --- a/SPF/Macros/verifypackage.sas +++ b/SPF/Macros/verifypackage.sas @@ -13,7 +13,7 @@ hashing_file() function, SAS 9.4M6 */ )/secure /*** HELP END ***/ -des = 'Macro to verify SAS package with the hash digest, version 20240927. Run %verifyPackage() for help info.' +des = 'Macro to verify SAS package with the hash digest, version 20241014. Run %verifyPackage() for help info.' ; %if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then %do; @@ -28,7 +28,7 @@ des = 'Macro to verify SAS package with the hash digest, version 20240927. Run % %put ### This is short help information for the `verifyPackage` macro #; %put #-------------------------------------------------------------------------------#; %put # #; - %put # Macro to verify SAS package with it hash digest, version `20240927` #; + %put # Macro to verify SAS package with it hash digest, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; diff --git a/SPF/SPFinit.md b/SPF/SPFinit.md index e1b1a9d..ce5875d 100644 --- a/SPF/SPFinit.md +++ b/SPF/SPFinit.md @@ -22,7 +22,7 @@ A **SAS package** is an automatically generated, single, stand alone *zip* file The *purpose of a package* is to be a simple, and easy to access, code sharing medium, which will allow: on the one hand, to separate the code complex dependencies created by the developer from the user experience with the final product and, on the other hand, reduce developer's and user's unnecessary frustration related to a remote deployment process. -In this repository we are presenting the **SAS Packages Framework** which allows to develop and use SAS packages. The latest version of SPF is **`20240927`**. +In this repository we are presenting the **SAS Packages Framework** which allows to develop and use SAS packages. The latest version of SPF is **`20241014`**. **To get started with SAS Packages** try this [**`Getting Started with SAS Packages`**](https://github.com/yabwon/SAS_PACKAGES/blob/main/SPF/Documentation/Getting_Started_with_SAS_Packages.pdf "Getting Started with SAS Packages") presentation (see the `./SPF/Documentation` directory). @@ -40,7 +40,7 @@ After assigning the directory do not change them when using the SPF since it may ## This is short help information for the `installPackage` macro -------------------------------------------------------------------------------------------- - Macro to install SAS packages, version `20240927` + Macro to install SAS packages, version `20241014` A SAS package is a zip file containing a group of SAS codes (macros, functions, data steps generating @@ -154,7 +154,7 @@ filename packages "C:/SAS_PACKAGES"; ## This is short help information for the `helpPackage` macro ------------------------------------------------------------------------------- - Macro to get help about SAS packages, version `20240927` + Macro to get help about SAS packages, version `20241014` A SAS package is a zip file containing a group of SAS codes (macros, functions, data steps generating @@ -230,7 +230,7 @@ filename packages "C:/SAS_PACKAGES"; %* setup a directory for packages; ## This is short help information for the `loadPackage` macro ------------------------------------------------------------------------------- - Macro to *load* SAS packages, version `20240927` + Macro to *load* SAS packages, version `20241014` A SAS package is a zip file containing a group of SAS codes (macros, functions, data steps generating @@ -290,6 +290,10 @@ filename packages "C:/SAS_PACKAGES"; %* setup a directory for packages; should be suppressed, default value is `0`, when set to `1` `exec` files are *not* loaded + - `DS2force=` *Optional.* Indicates if loading of `PROC DS2` packages + or threads should overwrite existing SAS data sets. + Default value of `0` means "do not overwrite". + ------------------------------------------------------------------------------- Visit: `https://github.com/yabwon/SAS_PACKAGES/tree/main/SPF/Documentation` @@ -382,7 +386,7 @@ If created, those macros are automatically deleted when the `%unloadPackage()` m ## This is short help information for the `loadPackageS` macro ------------------------------------------------------------------------------- - Macro wrapper for the loadPackage macro, version `20240927` + Macro wrapper for the loadPackage macro, version `20241014` A SAS package is a zip file containing a group of SAS codes (macros, functions, data steps generating @@ -431,7 +435,7 @@ filename packages "C:/SAS_PACKAGES"; %* setup a directory for packages; ## This is short help information for the `unloadPackage` macro ------------------------------------------------------------------------------- - Macro to unload SAS packages, version `20240927` + Macro to unload SAS packages, version `20241014` A SAS package is a zip file containing a group of SAS codes (macros, functions, data steps generating @@ -496,7 +500,7 @@ filename packages "C:/SAS_PACKAGES"; %* setup a directory for packages; ## This is short help information for the `listPackages` macro ----------------------------------------------------------------------------------------- - Macro to list available SAS packages, version `20240927` + Macro to list available SAS packages, version `20241014` A SAS package is a zip file containing a group of SAS codes (macros, functions, data steps generating @@ -537,7 +541,7 @@ filename packages "C:/SAS_PACKAGES"; %* setup a directory for packages; ## This is short help information for the `verifyPackage` macro ------------------------------------------------------------------------------- - Macro to verify SAS package with it hash digest, version `20240927` + Macro to verify SAS package with it hash digest, version `20241014` A SAS package is a zip file containing a group of SAS codes (macros, functions, data steps generating @@ -591,7 +595,7 @@ filename packages "C:/SAS_PACKAGES"; %* set-up a directory for packages; ## This is short help information for the `previewPackage` macro ------------------------------------------------------------------------------- - Macro to get preview of a SAS packages, version `20240927` + Macro to get preview of a SAS packages, version `20241014` A SAS package is a zip file containing a group of SAS codes (macros, functions, data steps generating @@ -658,7 +662,7 @@ filename packages "C:/SAS_PACKAGES"; %* setup a directory for packages; ## This is short help information for the `generatePackage` macro ------------------------------------------------------------------------------- - Macro to generate SAS packages, version `20240927` + Macro to generate SAS packages, version `20241014` A SAS package is a zip file containing a group of SAS codes (macros, functions, data steps generating @@ -873,7 +877,7 @@ All files have to have `.sas` extension. Other files are ignored. ## This is short help information for the `extendPackagesFileref` macro ----------------------------------------------------------------------------------------- - Macro to list directories pointed by 'packages' fileref, version `20240927` + Macro to list directories pointed by 'packages' fileref, version `20241014` A SAS package is a zip file containing a group of SAS codes (macros, functions, data steps generating @@ -913,7 +917,7 @@ filename packages ("D:/NEW_DIR" %extendPackagesFileref()); %* add new directory; ## This is short help information for the `loadPackageAddCnt` macro ------------------------------------------------------------------------------- - Macro to load *additional content* for a SAS package, version `20240927` + Macro to load *additional content* for a SAS package, version `20241014` A SAS package is a zip file containing a group of SAS codes (macros, functions, data steps generating diff --git a/SPF/SPFinit.sas b/SPF/SPFinit.sas index cc67e0e..65610a3 100644 --- a/SPF/SPFinit.sas +++ b/SPF/SPFinit.sas @@ -42,7 +42,7 @@ - to unload, or - to generate SAS packages. - Version 20240927. + Version 20241014. See examples below. A SAS package is a zip file containing a group of files @@ -85,11 +85,13 @@ , loadAddCnt=0 /* should the additional content be loaded? default is 0 - means No, 1 means Yes */ , suppressExec=0 /* indicates if loading of exec files - should be suppressed, 1=suppress + should be suppressed, 1=suppress */ +, DS2force=0 /* indicates if PROC DS2 packages and threads + should be loaded if a data set exists, 0=do not load */ )/secure /*** HELP END ***/ -des = 'Macro to load SAS package, version 20240927. Run %loadPackage() for help info.' +des = 'Macro to load SAS package, version 20241014. Run %loadPackage() for help info.' minoperator ; %if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then @@ -105,7 +107,7 @@ minoperator %put ### This is short help information for the `loadPackage` macro #; %put #-------------------------------------------------------------------------------#; %put # #; - %put # Macro to *load* SAS packages, version `20240927` #; + %put # Macro to *load* SAS packages, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; @@ -165,6 +167,10 @@ minoperator %put # should be suppressed, default value is `0`, #; %put # when set to `1` `exec` files are *not* loaded #; %put # #; + %put # - `DS2force=` *Optional.* Indicates if loading of `PROC DS2` packages #; + %put # or threads should overwrite existing SAS data sets. #; + %put # Default value of `0` means "do not overwrite". #; + %put # #; %put #-------------------------------------------------------------------------------#; %put # #; %put # Visit: `https://github.com/yabwon/SAS_PACKAGES/tree/main/SPF/Documentation` #; @@ -267,6 +273,11 @@ minoperator %let suppressExec = 0; %end; + %if %superq(DS2force) NE 1 %then + %do; + %let DS2force = 0; + %end; + filename &_PackageFileref_. &ZIP. /* put location of package myPackageFile.zip here */ "&path./%lowcase(&packageName.).&zip." %unquote(&options.) @@ -361,7 +372,7 @@ minoperator */ )/secure /*** HELP END ***/ -des = 'Macro to unload SAS package, version 20240927. Run %unloadPackage() for help info.' +des = 'Macro to unload SAS package, version 20241014. Run %unloadPackage() for help info.' ; %if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then %do; @@ -376,7 +387,7 @@ des = 'Macro to unload SAS package, version 20240927. Run %unloadPackage() for h %put ### This is short help information for the `unloadPackage` macro #; %put #-------------------------------------------------------------------------------#; %put # #; - %put # Macro to unload SAS packages, version `20240927` #; + %put # Macro to unload SAS packages, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; @@ -527,7 +538,7 @@ des = 'Macro to unload SAS package, version 20240927. Run %unloadPackage() for h */ )/secure /*** HELP END ***/ -des = 'Macro to get help about SAS package, version 20240927. Run %helpPackage() for help info.' +des = 'Macro to get help about SAS package, version 20241014. Run %helpPackage() for help info.' ; %if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then %do; @@ -542,7 +553,7 @@ des = 'Macro to get help about SAS package, version 20240927. Run %helpPackage() %put ### This is short help information for the `helpPackage` macro #; %put #-------------------------------------------------------------------------------#; %put # #; - %put # Macro to get help about SAS packages, version `20240927` #; + %put # Macro to get help about SAS packages, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; @@ -683,7 +694,7 @@ TODO: */ /*+installPackage+*/ -/* Macros to install SAS packages, version 20240927 */ +/* Macros to install SAS packages, version 20241014 */ /* 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 @@ -707,7 +718,7 @@ TODO: /secure minoperator /*** HELP END ***/ -des = 'Macro to install SAS package, version 20240927. Run %%installPackage() for help info.' +des = 'Macro to install SAS package, version 20241014. Run %%installPackage() for help info.' ; %if (%superq(packagesNames) = ) OR (%qupcase(&packagesNames.) = HELP) %then %do; @@ -722,7 +733,7 @@ des = 'Macro to install SAS package, version 20240927. Run %%installPackage() fo %put ### This is short help information for the `installPackage` macro #; %put #--------------------------------------------------------------------------------------------#;; %put # #; - %put # Macro to install SAS packages, version `20240927` #; + %put # Macro to install SAS packages, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; @@ -1255,7 +1266,7 @@ des = 'Macro to install SAS package, version 20240927. Run %%installPackage() fo Macro to list SAS packages in packages folder. - Version 20240927 + Version 20241014 A SAS package is a zip file containing a group of SAS codes (macros, functions, data steps generating @@ -1275,7 +1286,7 @@ des = 'Macro to install SAS package, version 20240927. Run %%installPackage() fo %macro listPackages() /secure PARMBUFF -des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HELP) for help, version 20240927.' +des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HELP) for help, version 20241014.' ; %if %QUPCASE(&SYSPBUFF.) = %str(%(HELP%)) %then %do; @@ -1290,7 +1301,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 `20240927` #; + %put # Macro to list available SAS packages, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; @@ -1441,7 +1452,7 @@ options ls = &ls_tmp. ps = &ps_tmp. ¬es_tmp. &source_tmp.; Macro to generate SAS packages. - Version 20240927 + Version 20241014 A SAS package is a zip file containing a group of SAS codes (macros, functions, data steps generating @@ -1481,7 +1492,7 @@ options ls = &ls_tmp. ps = &ps_tmp. ¬es_tmp. &source_tmp.; file name be created */ )/ secure minoperator /*** HELP END ***/ -des = 'Macro to generate SAS packages, version 20240927. Run %generatePackage() for help info.' +des = 'Macro to generate SAS packages, version 20241014. Run %generatePackage() for help info.' ; %if (%superq(filesLocation) = ) OR (%qupcase(&filesLocation.) = HELP) %then %do; @@ -1496,7 +1507,7 @@ des = 'Macro to generate SAS packages, version 20240927. Run %generatePackage() %put ### This is short help information for the `generatePackage` macro #; %put #-------------------------------------------------------------------------------#; %put # #; - %put # Macro to generate SAS packages, version `20240927` #; + %put # Macro to generate SAS packages, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; @@ -1965,6 +1976,18 @@ DESCRIPTION END: | | | +-abc.sas [a file with a KMF-abbreviation snippet ABC, _with_ proper tagging, snippets names are in low-case] | + +-013_ds2pck [one file one PROC DS2 package] + | | + | +-abc.sas [a data set with a package ABC stored in WORK.ABC data set] + | | + | +-library.xyz.sas [a data set with a package LIBRARY.XYZ stored in LIBRARY.XYZ data set] + | + +-014_ds2thr [one file one PROC DS2 thread] + | | + | +-abc.sas [a data set with a thread ABC stored in WORK.ABC data set] + | | + | +-library.xyz.sas [a data set with a thread LIBRARY.XYZ stored in LIBRARY.XYZ data set] + | +-_ | +-00n_clean [if you need to clean something up after exec file execution, @@ -2047,6 +2070,7 @@ data &filesWithCodes.; 'IMLMODULE' 'PROTO' 'EXEC' 'CLEAN' 'LAZYDATA' 'TEST' 'CASLUDF' 'ADDCNT' 'KMFSNIP' + 'DS2PCK' 'DS2THR' )) then do; @@ -2125,6 +2149,9 @@ run; %let notesSourceOptions = %sysfunc(getoption(notes)) %sysfunc(getoption(source)); options NOnotes NOsource; +options mprint; +options notes source; + proc sort data = &filesWithCodes.; by order type file; run; @@ -2231,7 +2258,7 @@ run; /* code inspired by Kurt Bremser's "Talking to Your Host" article */ /* https://communities.sas.com/t5/SAS-User-Groups-Library/WUSS-Presentation-Talking-to-Your-Host/ta-p/838344 */ /* WUSS 2022 */ - + data &filesWithCodes.addCnt; run; @@ -2293,9 +2320,12 @@ title6 "MD5 hashed fileref of package lowcase name: &_PackageFileref_."; title8 "Required SAS packages: %qsysfunc(compress(%superq(packageReqPackages),%str(%'%")))" ; /* " */ %end; -footnote1 "SAS Packages Framework, version 20240927"; +footnote1 "SAS Packages Framework, version 20241014"; -proc print data = &filesWithCodes.(drop=base folderRef fileRef rc folderid _abort_ fileId additionalContent); +proc print + data = &filesWithCodes.(drop=base folderRef fileRef rc folderid _abort_ fileId additionalContent) + width=full +; run; title; @@ -2314,7 +2344,7 @@ title; title2 "Package additional content:"; proc print data=&filesWithCodes.addCnt(drop=root dir level) - label + label width=full ; run; %end; @@ -2549,6 +2579,8 @@ data _null_; isProto = 0; isIMLmodule = 0; isCASLudf = 0; + isDS2pck = 0; + isDS2thr = 0; %if (%superq(packageRequired) ne ) or (%superq(packageReqPackages) ne ) @@ -2788,7 +2820,7 @@ data _null_; ('LIBNAME' 'MACRO' /*'MACROS'*/ 'DATA' 'FUNCTION' /*'FUNCTIONS'*/ 'FORMAT' /*'FORMATS'*/ 'IMLMODULE' 'PROTO' 'EXEC' 'CLEAN' - 'LAZYDATA' 'TEST' 'ADDCNT' 'KMFSNIP')) + 'LAZYDATA' 'TEST' 'ADDCNT' 'KMFSNIP' 'DS2PCK' 'DS2THR')) then do; putlog 'WARNING: Type ' type 'is not yet supported.'; @@ -2799,8 +2831,11 @@ data _null_; isFormat + (upcase(type)=:'FORMAT'); isProto + (upcase(type)=:'PROTO'); isIMLmodule + (upcase(type)=:'IMLMODULE'); + isDS2pck + (upcase(type)=:'DS2PCK'); + isDS2thr + (upcase(type)=:'DS2THR'); - /* HEADERS for IML, FCMP, and PROTO - start */ + + /* HEADERS for PROC IML, FCMP, and PROTO - start */ if 1 = isFunction and upcase(type)=:'FUNCTION' then do; /* macro variable for test if cherry picking used FCMP */ @@ -2858,7 +2893,7 @@ data _null_; /* header, for IML modules */ put "proc iml ; "; end; - /* HEADERS for IML, FCMP, and PROTO - end */ + /* HEADERS for PROC IML, FCMP, and PROTO - end */ put ' ' / '%if (%str(*)=%superq(cherryPick)) or (' fileshort +(-1) ' in %superq(cherryPick)) %then %do; '; /* Cherry Pick test1 start */ @@ -2869,6 +2904,8 @@ data _null_; put ' %put %sysfunc(ifc(%SYSMACEXIST(' fileshort +(-1) ')=1, NOTE# Macro ' fileshort "exist. It will be overwritten by the macro from the &packageName. package, ));"; + + /* separate approach for EXEC */ if upcase(type)=:'EXEC' then do; /* User can suppress running the exec files */ @@ -2891,9 +2928,84 @@ data _null_; / ' )));' ; end; - else + /* separate approach for DS2 */ + else if (upcase(type) in: ('DS2PCK' 'DS2THR')) then do; - /* include the file with the code of the element */ + if 1 = isDS2pck and upcase(type)=:'DS2PCK' then + do; + /* macro variable for test if cherry picking used DS2 package */ + put 'data _null_; '; + put " call symputX('cherryPick_DS2PCK', 0, 'L'); "; + put 'run; '; + end; + if 1 = isDS2thr and upcase(type)=:'DS2THR' then + do; + /* macro variable for test if cherry picking used DS2 threads */ + put 'data _null_; '; + put " call symputX('cherryPick_DS2THR', 0, 'L'); "; + put 'run; '; + end; + + + /* since DS2 packages and threads are stored in SAS data sets */ + /* we have to check (before loading) if there is no "regular" */ + /* data set (or view) with the same name to avoid overwriting */ + if upcase(type) in: ('DS2PCK' 'DS2THR') then + do; + length DS2lib $ 8 DS2ds $ 32; + DS2lib = coalescec(scan(fileshort,-2,"."), "WORK"); + DS2ds = scan(fileshort,-1,"."); + + put '%put %sysfunc(ifc(%sysfunc(exist(' fileshort +(-1) '))=1,' + / '%sysfunc(dosubl(%str(options ps=min; title; options msglevel=n nodate notes source nomprint;' + / ' data _null_;' + / ' id = OPEN("' fileshort +(-1) '");' + / ' if id then do;' + / ' x = VARNUM(id, "SAS_CHECKSUM_") AND VARNUM(id, "SAS_ROWID_") AND (VARNUM(id, "SAS_TEXTTHREAD_") OR VARNUM(id, "SAS_TEXTPACKAGE_"));' + / ' y = ("DATA"=ATTRC(id, "MTYPE"));' + / ' if symexist("DS2force") then z = symgetn("DS2force"); else z = 0;' + / ' if (x AND y) OR z then do;' + / ' call execute("proc delete data=' fileshort +(-1) '; run;");' + / " put 'NOTE# The " fileshort "will be overwritten by the PROC DS2 package/thread from the &packageName. package.';" + + /* header for each DS2 packages or threads in PROC DS2 run */ + / ' call execute("proc ds2;");' + + / ' call execute(''%include' " &_PackageFileref_.(_" folder +(-1) "." file +(-1) ') / nosource2;'');' + + /* footer for each DS2 packages or threads in PROC DS2 run */ + / ' call execute("run; quit;");' + / ' call execute("options nonotes; proc datasets lib=' DS2lib 'noprint;");' + / " call execute('modify " DS2ds "(label=""Package: &packageName. ; Type: " type "; Name: " fileshort """);');" + / ' call execute("run; quit;");' + / ' end;' + / ' else put "WARNING: Data set ' fileshort 'exist and is not a PROC DS2 package/thread!"' + / ' / "WARNING- PROC DS2 package/thread ' fileshort 'will not be generated..."; ' + / ' id = CLOSE(id);' + / ' end;' + / ' run;))),' + / '%sysfunc(dosubl(%str(options ps=min; title; options msglevel=n nodate notes source nomprint;' + /* header for each DS2 packages or threads in PROC DS2 run */ + / ' proc ds2;' + + / ' %include' " &_PackageFileref_.(_" folder +(-1) "." file +(-1) ') / nosource2;' + + /* footer for each DS2 packages or threads in PROC DS2 run */ + / ' run; quit;' + / ' options nonotes; proc datasets lib=' DS2lib 'noprint;' + / " modify " DS2ds "(label=""Package: &packageName. ; Type: " type "; Name: " fileshort """);" + / ' run; quit;' + / '))),' + / '));' + / " " + / ; + + end; + + end; + else + do; + /* include the file with the code of the element, all other cases */ put ' %include' " &_PackageFileref_.(_" folder +(-1) "." file +(-1) ') / nosource2;'; end; @@ -2909,13 +3021,19 @@ data _null_; if upcase(type)=:'FORMAT' then put ' %let cherryPick_FORMAT = %eval(&cherryPick_FORMAT. + 1);'; + if upcase(type)=:'DS2PCK' then + put ' %let cherryPick_DS2PCK = %eval(&cherryPick_DS2PCK. + 1);'; + + if upcase(type)=:'DS2THR' then + put ' %let cherryPick_DS2THR = %eval(&cherryPick_DS2THR. + 1);'; + put '%end; ' /; /* Cherry Pick test1 end */ - /* FOOTERS for IML, FCMP, and PROTO - start */ + /* FOOTERS for PROC IML, FCMP, and PROTO - start */ if 1 = LAST.type and upcase(type) in ('FUNCTIONS' 'PROTO' 'FORMATS') then do; /* footer, for multiple functions in one FCMP run, one PROTO run, or one FORMAT run */ - put "run; " / ; + put "quit; " / ; end; if 1 = LAST.type and upcase(type)='IMLMODULE' then /* footer, for IML modules */ do; @@ -2926,7 +3044,7 @@ data _null_; '%end; ' / "quit; " / ; end; - /* FOOTERS for IML, FCMP, and PROTO - end */ + /* FOOTERS for PROC IML, FCMP, and PROTO - end */ /* add the link to the functions dataset, only for the first occurrence */ /*if 1 = isFunction and (upcase(type)=:'FUNCTION') then @@ -3014,7 +3132,7 @@ data _null_; %end; put +(-1) '`.;''' / ' !! '' %put The macro generated: '' !! put(dtCASLudf, E8601DT19.-L) !! ";"' / - ' !! '' %put with the SAS Packages Framework version 20240927.;''' / + ' !! '' %put with the SAS Packages Framework version 20241014.;''' / ' !! '' %put ****************************************************************************;''' / ' !! '' %GOTO theEndOfTheMacro;''' / ' !! '' %end;''' ; @@ -3179,7 +3297,7 @@ data _null_; %end; put +(-1) '`.; '' !!' / ''' %put The macro generated: ''' " !! put(dtIML, E8601DT19.-L) !! " '''; '' !!' / - ''' %put with the SAS Packages Framework version 20240927.; '' !! ' / + ''' %put with the SAS Packages Framework version 20241014.; '' !! ' / ''' %put ****************************************************************************; '' !! ' / ''' %GOTO theEndOfTheMacro; '' !! ' / ''' %end; '' !! ' / @@ -3694,15 +3812,33 @@ data _null_; /* put 'remove module = ' fileshort ';'; */ end; - /* delete datasets */ - put "proc sql noprint;"; + /* delete data sets */ + put "proc fedsql noprint;"; EOF = 0; do until(EOF); set &filesWithCodes. end = EOF; - if not (upcase(type)=:'DATA') then continue; + if not (upcase(type) in: ('DATA')) then continue; put '%put NOTE- Element of type ' type 'generated from the file "' file +(-1) '" will be deleted;'; put '%put NOTE- ;'; - put 'drop table ' fileshort ';' /; + put 'drop table ' fileshort ' FORCE;' /; + end; + put "quit;" /; + + /* delete PROC DS2 packages or threads */ + put 'data _null_; call symputx("_DS2_2_del_",0,"L"); run;'; + put "proc fedsql noprint;"; + EOF = 0; + do until(EOF); + set &filesWithCodes. end = EOF; + if not (upcase(type) in: ('DS2PCK' 'DS2THR')) then continue; + put '%put NOTE- Element of type ' type 'generated from the file "' file +(-1) '" will be deleted;' + / '%put NOTE- ;' + / '%let _DS2_2_del_ = %sysfunc(open(' fileshort '));' + / '%sysfunc(ifc(&_DS2_2_del_. AND %sysfunc(ATTRC(&_DS2_2_del_.,LABEL))=' + / '%str(' "Package: &packageName. ; Type: " type "; Name: " fileshort +(-1) '),drop table ' fileshort ' FORCE,)) ;' + / '%let _DS2_2_del_ = %sysfunc(close(&_DS2_2_del_.));' + ; + put ';' /; end; put "quit;" /; @@ -3830,12 +3966,13 @@ data _null_; length fileshort2 $ 256; select; - when (upcase(type) in ("DATA" "LAZYDATA")) fileshort2 = cats("'", fileshort, "'" ); - when (upcase(type) =: "MACRO" ) fileshort2 = cats('''%', fileshort, "()'"); + when (upcase(type) in ("DATA" "LAZYDATA")) fileshort2 = cats("'", fileshort, "'" ); + when (upcase(type) =: "MACRO" ) fileshort2 = cats('''%', fileshort, "()'" ); when (upcase(type) =: "FUNCTION" ) fileshort2 = cats("'", fileshort, "()'" ); when (upcase(type) =: "IMLMODULE" ) fileshort2 = cats("'", fileshort, "()'" ); when (upcase(type) =: "PROTO" ) fileshort2 = cats("'", fileshort, "()'" ); when (upcase(type) =: "FORMAT" ) fileshort2 = cats("'$", fileshort, ".'" ); + when (upcase(type) in ('DS2PCK' 'DS2THR')) fileshort2 = cats("'DS2", fileshort, "'" ); otherwise fileshort2 = fileshort; end; strX = catx('/', folder, order, type, file, fileshort, fileshort2); @@ -3967,7 +4104,7 @@ data _null_; %end; put 'put " " / @3 "--------------------------------------------------------------------" / " ";' - / 'put @3 "*SAS package generated by SAS Package Framework, version `20240927`*";' + / 'put @3 "*SAS package generated by SAS Package Framework, version `20241014`*";' / 'put " " / @3 "--------------------------------------------------------------------";'; put 'run; ' /; @@ -4006,13 +4143,14 @@ data _null_; length fileshort2 $ 256; select; - when (upcase(type) in ("DATA" "LAZYDATA")) fileshort2 = cats("'", fileshort, "'" ); - when (upcase(type) =: "MACRO" ) fileshort2 = cats('''%', fileshort, "()'"); + when (upcase(type) in ("DATA" "LAZYDATA")) fileshort2 = cats("'", fileshort, "'" ); + when (upcase(type) =: "MACRO" ) fileshort2 = cats('''%', fileshort, "()'" ); when (upcase(type) =: "FUNCTION" ) fileshort2 = cats("'", fileshort, "()'" ); when (upcase(type) =: "IMLMODULE" ) fileshort2 = cats("'", fileshort, "()'" ); when (upcase(type) =: "PROTO" ) fileshort2 = cats("'", fileshort, "()'" ); when (upcase(type) =: "FORMAT" ) fileshort2 = cats("'$", fileshort, ".'" ); when (upcase(type) =: "CASLUDF" ) fileshort2 = cats("'", fileshort, "()'" ); + when (upcase(type) in ('DS2PCK' 'DS2THR')) fileshort2 = cats("'DS2", fileshort, "'" ); otherwise fileshort2 = fileshort; end; strX = catx('/', folder, order, type, file, fileshort, fileshort2); @@ -5004,7 +5142,7 @@ data &filesWithCodes.markdown; %end; put " " / "--------------------------------------------------------------------" / " " - / "*SAS package generated by SAS Package Framework, version `20240927`*" + / "*SAS package generated by SAS Package Framework, version `20241014`*" / " " / "--------------------------------------------------------------------" / " "; put "# The `&packageName.` package content"; @@ -5282,7 +5420,7 @@ TODO: (in Polish) */ )/secure /*** HELP END ***/ -des = 'Macro to load multiple SAS packages at one run, version 20240927. Run %loadPackages() for help info.' +des = 'Macro to load multiple SAS packages at one run, version 20241014. Run %loadPackages() for help info.' parmbuff ; %if (%superq(packagesNames) = ) OR (%qupcase(&packagesNames.) = HELP) %then @@ -5298,7 +5436,7 @@ parmbuff %put ### This is short help information for the `loadPackageS` macro #; %put #-------------------------------------------------------------------------------#; %put # #; - %put # Macro wrapper for the loadPackage macro, version `20240927` #; + %put # Macro wrapper for the loadPackage macro, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; @@ -5395,7 +5533,7 @@ parmbuff hashing_file() function, SAS 9.4M6 */ )/secure /*** HELP END ***/ -des = 'Macro to verify SAS package with the hash digest, version 20240927. Run %verifyPackage() for help info.' +des = 'Macro to verify SAS package with the hash digest, version 20241014. Run %verifyPackage() for help info.' ; %if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then %do; @@ -5410,7 +5548,7 @@ des = 'Macro to verify SAS package with the hash digest, version 20240927. Run % %put ### This is short help information for the `verifyPackage` macro #; %put #-------------------------------------------------------------------------------#; %put # #; - %put # Macro to verify SAS package with it hash digest, version `20240927` #; + %put # Macro to verify SAS package with it hash digest, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; @@ -5590,7 +5728,7 @@ des = 'Macro to verify SAS package with the hash digest, version 20240927. Run % */ )/secure /*** HELP END ***/ -des = 'Macro to preview content of a SAS package, version 20240927. Run %previewPackage() for help info.' +des = 'Macro to preview content of a SAS package, version 20241014. Run %previewPackage() for help info.' ; %if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then %do; @@ -5605,7 +5743,7 @@ des = 'Macro to preview content of a SAS package, version 20240927. Run %preview %put ### This is short help information for the `previewPackage` macro #; %put #-------------------------------------------------------------------------------#; %put # #; - %put # Macro to get preview of a SAS packages, version `20240927` #; + %put # Macro to get preview of a SAS packages, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; @@ -5735,7 +5873,7 @@ des = 'Macro to preview content of a SAS package, version 20240927. Run %preview when empty the "packages" value is used */ )/secure /*** HELP END ***/ -des = 'Macro to list directories pointed by "packages" fileref, version 20240927. Run %extendPackagesFileref(HELP) for help info.' +des = 'Macro to list directories pointed by "packages" fileref, version 20241014. Run %extendPackagesFileref(HELP) for help info.' ; %if %QUPCASE(&packages.) = HELP %then @@ -5751,7 +5889,7 @@ des = 'Macro to list directories pointed by "packages" fileref, version 20240927 %put ### This is short help information for the `extendPackagesFileref` macro #; %put #-----------------------------------------------------------------------------------------#;; %put # #; - %put # Macro to list directories pointed by 'packages' fileref, version `20240927` #; + %put # Macro to list directories pointed by 'packages' fileref, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #; @@ -5852,7 +5990,7 @@ filename packages list; is provided in required version */ )/secure /*** HELP END ***/ -des = 'Macro to load additional content for a SAS package, version 20240927. Run %loadPackageAddCnt() for help info.' +des = 'Macro to load additional content for a SAS package, version 20241014. Run %loadPackageAddCnt() for help info.' minoperator ; %if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then @@ -5868,7 +6006,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 `20240927` #; + %put # Macro to *load* additional content for a SAS package, version `20241014` #; %put # #; %put # A SAS package is a zip file containing a group #; %put # of SAS codes (macros, functions, data steps generating #;