diff --git a/packages/README.md b/packages/README.md index 7a7cc70..50bf8da 100644 --- a/packages/README.md +++ b/packages/README.md @@ -86,7 +86,7 @@ SHA256 digest for macroArray: F*3F3893F1FCD78719543703E4353F4CC19811D247C016F220 --- -- **BasePlus**\[2.4.1\] adds a bunch of functionalities I am missing in BASE SAS, such as: +- **BasePlus**\[3.0.0\] adds a bunch of functionalities I am missing in BASE SAS, such as: ```sas call arrMissToRight(myArray); call arrFillMiss(17, myArray); @@ -117,8 +117,10 @@ format x bool.; %put %monthShift(2023,1,-5); %put #%expandDataSetsList(lib=sashelp,datasets=_all_)#; + +%workLib(ABC) ``` -SHA256 digest for BasePlus: F*DB0811D8F207641BD45FCE30CB75D03CDF8D06849EBEA268BB575358FAA4E76C +SHA256 digest for BasePlus: F*B9F6D8F1EDD1ECDA89F4BE327C4F4202649475D1D9DFB476279B633D9F14125D [Documentation for BasePlus](https://github.com/SASPAC/blob/main/baseplus.md "Documentation for BasePlus") diff --git a/packages/SHA256_for_packages.txt b/packages/SHA256_for_packages.txt index fc13371..c9e85fc 100644 --- a/packages/SHA256_for_packages.txt +++ b/packages/SHA256_for_packages.txt @@ -1,3 +1,6 @@ +/* 20251015 */ +BasePlus: F*B9F6D8F1EDD1ECDA89F4BE327C4F4202649475D1D9DFB476279B633D9F14125D + /* 20250905 */ BasePlus: F*DB0811D8F207641BD45FCE30CB75D03CDF8D06849EBEA268BB575358FAA4E76C diff --git a/packages/baseplus.md b/packages/baseplus.md index e2bb875..5ec03fd 100644 --- a/packages/baseplus.md +++ b/packages/baseplus.md @@ -9,22 +9,22 @@ ### Version information: - Package: BasePlus -- Version: 2.4.1 -- Generated: 2025-09-05T10:12:32 -- Author(s): Bartosz Jablonski (yabwon@gmail.com), Quentin McMullen (qmcmullen@gmail.com) +- Version: 3.0.0 +- Generated: 2025-10-15T10:13:04 +- Author(s): Bartosz Jablonski (yabwon@gmail.com), Quentin McMullen (qmcmullen@gmail.com), Ryo Nakaya (nakaya.ryou@gmail.com) - Maintainer(s): Bartosz Jablonski (yabwon@gmail.com) - License: MIT -- File SHA256: `F*DB0811D8F207641BD45FCE30CB75D03CDF8D06849EBEA268BB575358FAA4E76C` for this version -- Content SHA256: `C*27861ABABB412E8229FE25CD5EEA868F49BB3CBD805CCE65F321ADBC522FAC4E` for this version +- File SHA256: `F*B9F6D8F1EDD1ECDA89F4BE327C4F4202649475D1D9DFB476279B633D9F14125D` for this version +- Content SHA256: `C*680412F6B403870A3A8975FC17300F7C92AEDECA48D3F242B5BC4E545DC6D313` for this version --- -# The `BasePlus` package, version: `2.4.1`; +# The `BasePlus` package, version: `3.0.0`; --- -# The BasePlus package [ver. 2.4.1] ############################################### +# The BasePlus package [ver. 3.0.0] ############################################### The **BasePlus** package implements useful functions and functionalities I miss in the BASE SAS. @@ -47,7 +47,8 @@ Kudos to all who inspired me to generate this package: *Quentin McMullen*, *Kurt Bremser*, *Leonid Batkhan*, -*Louise Hadden*. +*Louise Hadden*, +*Ryo Nakaya*. --- @@ -387,6 +388,11 @@ proc print data=b_x; run; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +**EXAMPLE 29** Create library ABC assigned to `/ABC` directory: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %workLib(abc) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + --- --- @@ -490,10 +496,11 @@ The `BasePlus` package consists of the following content: 78. [`%translate()` macro ](#translate-macro-78 ) 79. [`%tranwrd()` macro ](#tranwrd-macro-79 ) 80. [`%unifyvarscasesize()` macro ](#unifyvarscasesize-macro-80 ) -81. [`%workpath()` macro ](#workpath-macro-81 ) +81. [`%worklib()` macro ](#worklib-macro-81 ) +82. [`%workpath()` macro ](#workpath-macro-82 ) -82. [License note](#license) +83. [License note](#license) --- @@ -7619,7 +7626,71 @@ run; --- -## `%workpath()` macro ###### +## `%worklib()` macro ###### + +## >>> `%workLib()` macro: <<< ####################### + +The `%workLib()` macro creates and assigns a WORK-scoped sub-library. + +Purpose: + +The macro creates (if needed) and assigns a SAS library as a sub-directory +under the current `WORK` location. This is useful for isolating temporary +outputs per task while ensuring automatic cleanup at the end of the SAS session. +Basic engines libraries, like `BASE`, `V*`, and simple `SPDE`, can be set. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%workLib(lib,) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +- `lib` - *Required*: Name of a library (and sub-folder) + to create under WORK. The value must be a valid + nonempty SAS libref (8 characters max, starting + with a letter or underscore). + +- `engine` - *Optional*, Name of a basic, directory level, + SAS engine, e.g. `BASE`. When empty the default + engine is used. +--- + +### Details + +- Builds a target path: `/`. +- All data written to this libref are temporary and will be removed + when the WORK library is cleared at session end. +- If a directory with the same name already exists under WORK, + the macro prints a note and simply assigns the LIBNAME to + that location. +- The `dcreate()` function is used to create sub-directory. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Create basic library ABC: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %workLib(abc) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Create libraries with different engines: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %workLib(b,BASE) + + %workLib(v,V6) %* for Windows only.; + + %workLib(s,SPDE) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%workpath()` macro ###### ## >>> `%workPath()` macro: <<< ####################### diff --git a/packages/baseplus.zip b/packages/baseplus.zip index 2c548c3..0c44232 100644 Binary files a/packages/baseplus.zip and b/packages/baseplus.zip differ