SAS Packages Framework, version 20230904

## SAS Packages Framework, version `20230904`

---

New features in this release are:
- in `%generatePackage()` macro - test for check of duplicated names of the same type was added to the package generation process.
- in `%loadPackage()` macro - User can now suppress running the `exec` type files during the loading process. Parameter name is `suppressExec=`.
- in `%helpPackage()` macro - User can now generate dataset `work.packageName_content` containing list of the package elements similar to the one printed in the log. Parameter name is `packageContentDS=`.

Documentation updated.

---

Packages regenerated with new version of the SPF:
- BasePlus package [ver. `1.29.1`]
- DFA package [ver. `0.5.6`]
- GSM package [ver. `0.21.1`]
- macroArray package [ver. `1.0.6`]
- SQLinDS package [ver. `2.2.7`]
- dynMacroArray package [ver. `0.2.6`]
This commit is contained in:
Bart Jablonski
2023-09-04 16:29:05 +02:00
parent 77d6b0a2e5
commit 98e2125028
28 changed files with 343 additions and 152 deletions

View File

@@ -10,7 +10,7 @@ Packages:
---
- **SQLinDS**\[2.2.6\], based on Mike Rhoads' article *Use the Full Power of SAS in Your Function-Style Macros*. The package allows to write SQL queries in the data step, e.g.
- **SQLinDS**\[2.2.7\], based on Mike Rhoads' article *Use the Full Power of SAS in Your Function-Style Macros*. The package allows to write SQL queries in the data step, e.g.
```sas
data class;
set %SQL(
@@ -22,13 +22,13 @@ data class;
WH = weight + height;
run;
```
SHA256 digest for SQLinDS: F*3BB422E8C94515DEE9E13E674A0D119794F464D9597C28D5D536E71F64EB5298
SHA256 digest for SQLinDS: F*42DC179E1D2B946AD519C4EC04A068061B312E021C3F4BC4826D2775E116E1B9
[Documentation for SQLinDS](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/sqlinds.md "Documentation for SQLinDS")
---
- **DFA** (Dynamic Function Arrays)\[0.5.5\], contains set of macros and FCMP functions which implement: a dynamically allocated array, a stack, a fifo queue, an ordered stack, and a priority queue, run `%helpPackage(DFA,createDFArray)` to find examples.
- **DFA** (Dynamic Function Arrays)\[0.5.6\], contains set of macros and FCMP functions which implement: a dynamically allocated array, a stack, a fifo queue, an ordered stack, and a priority queue, run `%helpPackage(DFA,createDFArray)` to find examples.
```sas
%createDFArray(ArrDynamic, resizefactor=17);
@@ -55,13 +55,13 @@ data _null_;
end;
run;
```
SHA256 digest for DFA: F*924711C77E413B8CFC18336DDA2293A9F5294D02E267C1BB7BC876B4AF0AABE4
SHA256 digest for DFA: F*09EA5201360922A91A9EEE72F4567792E9CFDFB591BA33419E2BF2B31D9B7C62
[Documentation for DFA](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/dfa.md "Documentation for DFA")
---
- **macroArray**\[1.0.5\], implementation of an array concept in a macro language, e.g.
- **macroArray**\[1.0.6\], implementation of an array concept in a macro language, e.g.
```sas
%array(ABC[17] (111:127), macarray=Y);
@@ -80,13 +80,13 @@ SHA256 digest for DFA: F*924711C77E413B8CFC18336DDA2293A9F5294D02E267C1BB7BC876B
which = 1:H:2
);
```
SHA256 digest for macroArray: F*85E3BE4D163AC5223B6EC9D3C25C46564A656E3830998B4555A963180D767160
SHA256 digest for macroArray: F*4FAAEE7DF2854EA31933AE017A89C1615C7291A66A07CCE345041EB0D587ED4E
[Documentation for macroArray](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/macroarray.md "Documentation for macroArray")
---
- **BasePlus**\[1.29.0\] adds a bunch of functionalities I am missing in BASE SAS, such as:
- **BasePlus**\[1.29.1\] adds a bunch of functionalities I am missing in BASE SAS, such as:
```sas
call arrMissToRight(myArray);
call arrFillMiss(17, myArray);
@@ -110,25 +110,25 @@ format x bool.;
%put %repeatTxt(#,15,s=$) HELLO SAS! %repeatTxt(#,15,s=$);
```
SHA256 digest for BasePlus: F*9EEE4F4B99EA725B60141645AB6A50BFEBA32CE54848593F8D832D907D63CAD7
SHA256 digest for BasePlus: F*2FE68DD9B3692B9D46EF85B82F63C7E65010BF9E89D670FD1779F4670FA03F31
[Documentation for BasePlus](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/baseplus.md "Documentation for BasePlus")
---
- **GSM** (Generate Secure Macros)\[0.21.0\], package allows
- **GSM** (Generate Secure Macros)\[0.21.1\], package allows
to create secured macros stored in SAS Proc FCMP functions.
The dataset with functions can be shared between different operating systems
and allows to generate macros on site without showing their code.
SHA256 digest for GSM: F*56DC0DCCE06B4281BF3FA6FA3875CBA87772BDA7FAB601B06740A7980FFB0E07
SHA256 digest for GSM: F*2FECDDB568B38E206CA4ADA6FDEF5209C0A08B99401A1510D777BABF9DA54682
[Documentation for GSM](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/gsm.md "Documentation for GSM")
---
- **dynMacroArray**\[0.2.5\], set of macros (wrappers for a hash table) emulating dynamic array in the data step (macro predecessor of DFA). Development of this package is currently on hold.
- **dynMacroArray**\[0.2.6\], set of macros (wrappers for a hash table) emulating dynamic array in the data step (macro predecessor of DFA). Development of this package is currently on hold.
SHA256 digest for dynMacroArray: F*6E087F38BB39B93CBF983124272812E14693C4EF5EE0A3A218BD2BAA069A74BF
SHA256 digest for dynMacroArray: F*F50BEDB542D96B07C763EAB7549FBC5F08ED389DC2338BFAAEBFBD1FD20E22B6
---

View File

@@ -1,3 +1,11 @@
/* 20230904 */
BasePlus: F*2FE68DD9B3692B9D46EF85B82F63C7E65010BF9E89D670FD1779F4670FA03F31
DFA: F*09EA5201360922A91A9EEE72F4567792E9CFDFB591BA33419E2BF2B31D9B7C62
dynMacroArray: F*F50BEDB542D96B07C763EAB7549FBC5F08ED389DC2338BFAAEBFBD1FD20E22B6
GSM: F*2FECDDB568B38E206CA4ADA6FDEF5209C0A08B99401A1510D777BABF9DA54682
macroArray: F*4FAAEE7DF2854EA31933AE017A89C1615C7291A66A07CCE345041EB0D587ED4E
SQLinDS: F*42DC179E1D2B946AD519C4EC04A068061B312E021C3F4BC4826D2775E116E1B9
/* 20230824 */
BasePlus: F*9EEE4F4B99EA725B60141645AB6A50BFEBA32CE54848593F8D832D907D63CAD7

View File

@@ -72,7 +72,7 @@
---
# The BasePlus package [ver. 1.29.0] <a name="baseplus-package"></a> ###############################################
# The BasePlus package [ver. 1.29.1] <a name="baseplus-package"></a> ###############################################
The **BasePlus** package implements useful
functions and functionalities I miss in the BASE SAS.
@@ -385,10 +385,10 @@ Package contains additional content, run: %loadPackageAddCnt(BasePlus) to load
or look for the baseplus_AdditionalContent directory in the Packages fileref
localization (only if additional content was deployed during the installation process).
* SAS package generated by generatePackage, version 20230520 *
* SAS package generated by generatePackage, version 20230905 *
The SHA256 hash digest for package BasePlus:
`F*9EEE4F4B99EA725B60141645AB6A50BFEBA32CE54848593F8D832D907D63CAD7`
`F*2FE68DD9B3692B9D46EF85B82F63C7E65010BF9E89D670FD1779F4670FA03F31`
---
# Content description ############################################################################################

Binary file not shown.

View File

@@ -18,7 +18,7 @@
---
# The DFA package [ver. 0.5.5] <a name="dfa-package"></a> ###############################################
# The DFA package [ver. 0.5.6] <a name="dfa-package"></a> ###############################################
The **DFA** (a.k.a. *Dynamic Function Array*) package implements:
- dynamic numeric and character arrays,
@@ -52,10 +52,10 @@ Package contains:
12. exec generatearrays
13. clean generatearrays
*SAS package generated by generatePackage, version 20230411*
*SAS package generated by generatePackage, version 20230905*
The SHA256 hash digest for package BasePlus:
`F*924711C77E413B8CFC18336DDA2293A9F5294D02E267C1BB7BC876B4AF0AABE4`
The SHA256 hash digest for package DFA:
`F*09EA5201360922A91A9EEE72F4567792E9CFDFB591BA33419E2BF2B31D9B7C62`
---
# Content description ############################################################################################

Binary file not shown.

Binary file not shown.

View File

@@ -8,7 +8,7 @@
---
# The GSM package [ver. 0.21.0] <a name="gsm-package"></a> ###############################################
# The GSM package [ver. 0.21.1] <a name="gsm-package"></a> ###############################################
The **GSM** (a.k.a. *Generate Secure Macros*) package allows
to create secured macros stored in SAS Proc FCMP functions.
@@ -91,10 +91,10 @@ Package contains:
Required SAS Components:
`Base SAS Software`
*SAS package generated by generatePackage, version 20230520*
*SAS package generated by generatePackage, version 20230905*
The SHA256 hash digest for package GSM:
`F*56DC0DCCE06B4281BF3FA6FA3875CBA87772BDA7FAB601B06740A7980FFB0E07`
`F*2FECDDB568B38E206CA4ADA6FDEF5209C0A08B99401A1510D777BABF9DA54682`
## >>> `%GSM()` macro: <<< <a name="gsm-macro"></a> #######################

Binary file not shown.

View File

@@ -19,7 +19,7 @@
---
# The macroArray package [ver. 1.0.5] <a name="macroarray-package"></a> ###############################################
# The macroArray package [ver. 1.0.6] <a name="macroarray-package"></a> ###############################################
The **macroArray** package implements a macro array facility:
- `%array()`,
@@ -75,10 +75,10 @@ Package contains:
Required SAS Components:
*Base SAS Software*
*SAS package generated by generatePackage, version 20230411*
*SAS package generated by generatePackage, version 20230905*
The SHA256 hash digest for package macroArray:
`F*85E3BE4D163AC5223B6EC9D3C25C46564A656E3830998B4555A963180D767160`
`F*4FAAEE7DF2854EA31933AE017A89C1615C7291A66A07CCE345041EB0D587ED4E`
---
# Content description ############################################################################################

Binary file not shown.

View File

@@ -8,7 +8,7 @@
---
# The SQLinDS package [ver. 2.2.6] <a name="sqlinds-package"></a> ###############################################
# The SQLinDS package [ver. 2.2.7] <a name="sqlinds-package"></a> ###############################################
The **SQLinDS** package is an implementation of
the *macro-function-sandwich* concept introduced in the
@@ -49,10 +49,10 @@ Package contains:
Required SAS Components:
*Base SAS Software*
*SAS package generated by generatePackage, version 20230411*
*SAS package generated by generatePackage, version 20230905*
The SHA256 hash digest for package SQLinDS:
`F*3BB422E8C94515DEE9E13E674A0D119794F464D9597C28D5D536E71F64EB5298`
`F*42DC179E1D2B946AD519C4EC04A068061B312E021C3F4BC4826D2775E116E1B9`
---
# Content description ############################################################################################

Binary file not shown.