Commit Graph

50 Commits

Author SHA1 Message Date
Bart Jablonski
bd8e378829 The BasePlus package [ver. 1.31.0]
The BasePlus package [ver. 1.31.0]

A bunch of "date & time" macro one-liners added:

```sas
%put %today() %date() %time() %datetime();
```

Doc. updated.
2023-10-12 17:20:26 +02:00
Bart Jablonski
c9b388b661 The BasePlus package [ver. 1.30.0]
The BasePlus package [ver. 1.30.0]

- new macro `%repList()` added
- doc. updated

SHA256 digest: `F*B91771D45C781B6806DBB44A3B491A0784D7698B9F3BBBE1A86EE5594834315F`
2023-09-19 17:43:54 +02:00
Bart Jablonski
98e2125028 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`]
2023-09-04 16:29:05 +02:00
Bart Jablonski
77d6b0a2e5 The BasePlus package [ver. 1.29.0]
The BasePlus package [ver. 1.29.0]

Three new macros:
- fmt
- infmt
- minclude

Documentation updated.

SHA256 for BasePlus: `F*9EEE4F4B99EA725B60141645AB6A50BFEBA32CE54848593F8D832D907D63CAD7`
2023-08-24 11:32:01 +02:00
Bart Jablonski
ddfac01483 The BasePlus package [ver. 1.26.1]
The BasePlus package [ver. 1.26.1]

Updates:
- the `%RainCloudPlot()` has new parameter: `catAxisValueAttrs`,
- documentation was updated (refreshed example with plot).

The SHA256 hash digest for package BasePlus:
`F*D6DC5AD1B60A92AD300B639B3C361C1F7846EB01E5AB35BF4FDDA6E783408172`
2023-06-02 11:42:12 +02:00
Bart Jablonski
d8c8cfc9e3 The BasePlus package [ver. 1.26.0]
# The BasePlus package [ver. 1.26.0]

### New Features:
Two new macros were introduces in the release:
 - `%findDSwithVarVal()`
 - `%getTitle()`

Documentation updated.
2023-06-01 17:49:48 +02:00
Bart Jablonski
c126e7c0a3 The BasePlus package [ver. 1.26.0]
# The BasePlus package [ver. 1.26.0]

### New Features:
Two new macros were introduces in the release:
 - `%findDSwithVarVal()`
 - `%getTitle()`

Documentation updated.
2023-06-01 17:04:12 +02:00
Bart Jablonski
e7883142b8 The BasePlus package [ver. 1.24.2]
The BasePlus package [ver. 1.24.2]

Updates:
- the `%RainCloudPlot()` has 2 new parameters: `catLabelAttrs` and `xLabelAttrs`,
- documentation was updated (new examples with plots), and
- some spellings were fixed.

The SHA256 hash digest for package BasePlus:
`F*2A4F3953EC56DB914024457F74286D565C23DCF220FF151040BDB704FD8DDB06`
2023-05-26 11:17:42 +02:00
Bart Jablonski
e55275d308 SAS Packages Framework, version 20230520
SAS Packages Framework, version 20230520

Fixes:
- Bug fixes for the "Additional Content" feature. In the `%loadPackageAddCnt()` and `%generatePackage()` macros lengths of the "file path" variables were extended.

Packages:
- The `BasePlus` package, version `1.24.1` was regenerated with latest version of the framework.
- The `%RainCloudPlot()` macro from the `BasePlus` packages was updated with new parameters (see the documentation).

Documentation:
- Documentation updated.
2023-05-20 17:23:53 +02:00
Bart Jablonski
72a77edb16 The BasePlus package [ver. 1.24.0]
The BasePlus package [ver. 1.24.0]

Six new utility macros for the BasePlus:
- `%letters()` - allows to print a list of Roman letters,
- `%filePath()` - from fileref returns path to a file,
- `%libPath()` - from libref  returns path to a library,
- `%workPath()` - returns path to the `WORK` library,
- `%translate()` - a wrapper to translate() function,
- `%tranwrd()` - a wrapper to tranwrd() function.

Documentation updated.
2023-05-03 23:04:41 +02:00
Bart Jablonski
dbe8dbc938 The BasePlus package [ver. 1.23.0]
The BasePlus package [ver. 1.23.0]

Three new utility macros for the BasePlus:
- `%intsList()` - prints a space separated list of integers,
- `%splitDSIntoBlocks()` - splits dataset into block of given size (and one[the last] possibly smaller)
- `%splitDSIntoParts()` - splits dataset into given number of parts (of approximately same size)

Macros `splitDSIntoBlocks` and `splitDSIntoParts` supports *BASE* and *SPDE* engines.

Documentation updated.
2023-04-19 16:38:57 +02:00
Bart Jablonski
9168f4b4f0 The BasePlus package [ver. 1.20.0]
The BasePlus package [ver. 1.20.0]

- New utility macro `%repeatTxt()` added.
- Documentation updated.
2023-04-17 14:57:29 +02:00
Bart Jablonski
2f5cb056b1 SAS Packages Framework, version 20230411
## **SAS Packages Framework**, version `20230411`.

---

Fixes:
- Bug fix for cherry picking. Cherry picking from already loaded package caused deletion of search paths to FCMP functions, Proto functions, Formats, and Informats. Also corresponding dataset for Proc Proto was deleted.
- Bug fix for Proc Proto C functions. The way how Proc Proto adds new portions of stored C functions caused that, if there were multiple directories with proto C functions all content was overwritten by the last one.

[Documentation](https://github.com/yabwon/SAS_PACKAGES/blob/main/SPF/Documentation/SAS(r)%20packages%20-%20the%20way%20to%20share%20(a%20how%20to)-%20Paper%204725-2020%20-%20extended.pdf "Documentation") updated.

---

Packages regenerated with latest version of SAS Packages Framework:
- [BasePlus](https://github.com/SASPAC/baseplus "BasePlus") package [ver. 1.19.1]
- [DFA](https://github.com/SASPAC/dfa "DFA") package [ver. 0.5.5]
- dynMacroArray package [ver. 0.2.5]
- [GSM](https://github.com/SASPAC/gsm "GSM") package [ver. 0.20.5]
- [macroArray](https://github.com/SASPAC/macroarray "macroArray") package [ver. 1.0.5]
- [SQLinDS](https://github.com/SASPAC/sqlinds "SQLinDS") package [ver. 2.2.6]

---
2023-04-11 18:37:31 +02:00
Bart Jablonski
227e522f5b The BasePlus package [ver. 1.19.0]
The BasePlus package [ver. 1.19.0]

New macro:
The `%dirsAndFiles()` macro allows to extract info about all files and subdirectories of a given `root` directory. The macro is based on Kurt Bremser's "*Talking to Your Host*" article presented at WUSS 2022 conference.
2023-04-01 22:27:41 +02:00
Bartosz Jablonski
8807a1560e SAS Packages Framework, version 20221215
SAS Packages Framework, version 20221215

Changes in the framework:
- Bug fix for `formats` and `proto` with cherry picking.

- Packages regenerated with the latest framework version:
  - SQLinDS [2.2.4]
  - DFA [0.5.4]
  - macroArray [1.0.4]
  - BasePlus [1.18.4]
  - GSM [0.20.4]
  - dynMacroArray [0.2.4]

- New macro `%bpPIPE()` in BasePlus package.

- Documentation updated.
2022-12-15 17:56:08 +01:00
Bartosz Jablonski
f59c2a4893 SAS Packages Framework, version 20221125
## SAS Packages Framework, version 20221125

---

### Changes in `%generatePackage()` macro:
- Bug fix on the edge between cherry picking feature and loading required packages.
- Documentation updated.

---

### The following packages were regenerated with the latest version of the SAS Packages Framework:
- BasePlus [1.17.3]
- DFA [0.5.3]
- dynMacroArray [0.2.3]
- GSM [0.20.3]
- macroArray [1.0.3]
- SQLinDS [2.2.3]
2022-11-26 23:49:20 +01:00
Bartosz Jablonski
3a824b4d8b SAS Packages Framework, version 20221121
## SAS Packages Framework, version 20221121

---

### New feature of "Cherry picking" added to the SAS Packages Framework.
Sometimes a package offers so many features that the number may be "overwhelming".
In such case only some of them may be selected for loading. Such process
is called a "cherry picking". The feature is provided by the `%loadPackage()` macro
which uses a `cherryPick=` parameter (see description below).

For example, execution of the following code:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas
 %loadPackage(BasePlus, cherryPick=rainCloudPlot getVars)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
results with loading only the `rainCloudPlot` and the `getVars` elements.
If several object types (e.g., a macro and a format) share the same name
all will be loaded.

What is the trade-off?
- Since the cherry picking selects only a part of the package the `SYSloadedPackages`
macrovariable is not updated with the package name.
- Dependencies i.e., packages from the `ReqPackages` list, are not loaded automatically,
so they have to be loaded manually.
- The `%unloadPackage()` macro executed on such partially loaded package may issue
some (irrelevant) warnings.

---

### Changes in `%loadPackage()` macro:
- New `cherryPick=` parameter added to the macro.
  As a value a *space separated* list of selected elements
  of the package to be loaded into the SAS session is expected.
  Default value of an asterisk (`*`) means: "load all elements of the package".
  Empty list is equivalent to default.
- Documentation updated.

### Changes in `%generatePackage()` macro:
- Code adjustment for the cherry picking feature.
- Minor additional code refactoring.
- The `%ICEloadPackage()` macro does not support cherry picking.

---

### The following packages were regenerated with the latest version of the framework:
- BasePlus [1.17.2]
- DFA [0.5.2]
- dynMacroArray [0.2.2]
- GSM [0.20.2]
- macroArray [1.0.2]
- SQLinDS [2.2.2]
2022-11-21 14:25:56 +01:00
Bartosz Jablonski
35e6ff8d5e SAS Packages Framework, ver. 20221112
SAS Packages Framework, ver. 20221112

Changes in `%generatePackage()` macro:
- refactoring of package metadata extraction and metadata file preparation,
- in a package folder all subfolders which name starts with `!` are ignored in the package generation process,
- in a package folder all subfolders with unknown code types are ignored in the package generation process,
- bug fix in package version extraction for required package list,
- new test added to loading test,
- documentation updated.

---

The following packages were regenerated:
- BasePlus [1.17.1]
- DFA [0.5.1]
- dynMacroArray [0.2.1]
- GSM [0.20.1]
- macroArray [1.0.1]
- SQLinDS [2.2.1]
2022-11-12 17:27:00 +01:00
Bartosz Jablonski
e3a813b257 Link to recording from the SAS Explore 2022 conference: "A BasePlus Package for SAS"
Link to recording from the SAS Explore 2022 conference: "A BasePlus Package for SAS"
2022-11-01 17:43:31 +01:00
Bart Jablonski
17b1239087 Merge pull request #50 from beauweta/patch-1
Update baseplus.md
2022-08-30 19:16:32 +02:00
Bart Jablonski (yabwon)
bbba37d8eb The SAS Packages Framework, version 20220830:
The SAS Packages Framework, version 20220830:

- New metadata checks added for required SAS components and required SAS packages.
- New parameter `delTestWork` in `%generatePackage()` macro added. It indicates if `WORK` directories generated by user tests should be deleted, i.e. the (NO)WORKTERM option is set.
- Log aesthetics and readability improved in the `%generatePackages()` macro:
  - subtitles added in the log,
  - `stimer` turned off,
  - some notes turned off.
- Generation of table with tests results updated.
- Documentation updated.

Packages regenerated with the new version of SPF:
- BasePlus
- SQLinDS
- macroArray
- DFA
- dynMacroArray
- GSM
2022-08-30 18:56:26 +02:00
beauweta
76297dc5d8 Update baseplus.md
Just rephrased a few sentences and fixed some typos. Cheers, Christian
2022-05-15 15:15:10 +12:00
Bart Jablonski (yabwon)
ea866123d9 The BasePlus package [ver. 1.17]
The BasePlus package [ver. 1.17]

- new macro `%LDSNM()`, which extends functionality of the `%LDSN()` was added.
- documentation updated

hash: 619D4B2562F1D9E42C9C5DCB326E8F4D6A020B5D0CEE29A6174F65F8E1B0E7BD
2022-05-11 23:44:34 +02:00
Bart Jablonski (yabwon)
75029a488f The BasePlus package [ver. 1.16]
The BasePlus package [ver. 1.16]

- improvement to: %LDSN(), %LVarNm(), and %LVarNmLab() macros. Big thanks to Richard DeVenezia!

hash: 4CD3926B9842925C86B80B5B47B47BEA1FB9707826B545B9B4D52AE97BC3617E
2022-05-09 19:00:25 +02:00
Bart Jablonski (yabwon)
642bc5ba72 The BasePlus package [ver. 1.15]
The **BasePlus** package [ver. 1.15]

- 3 new macros added: `%LDSN()`, `%LVarNm()`, and `%LVarNmLab()`

hash: 0331C673052D5221DA98C5CC93295634D8A0BC62C7D2FEF9D0D85B0B2DEDE4E9
2022-05-08 19:10:55 +02:00
Bart Jablonski (yabwon)
7048adb3b6 **SAS Packages Framework**, version 20220420
**SAS Packages Framework**, version 20220420

- Changes in the `%GeneratePackage()` macro:
  - check for driving files existence added,
  - local `createPackageContentStatus` macro variable added,
  - if `createPackageContentStatus` is not zero an _ERROR _is printed and tests are not executed,

- The `kscanx()` function and `kcountw()` function used in macros of the Framework,

- Doc. updated.

- Packages regenerated with new version of the SAS Packages Framework:
  - BasePlus
  - SQLinDS
  - macroArray
  - DFA
  - dynMacroArray
  - GSM
2022-04-20 22:35:09 +02:00
Bart Jablonski (yabwon)
10009b33ae **SAS Packages Framework**, version 20220113
**SAS Packages Framework**, version 20220113

- Bug fixes in the SAS Packages Framework.
- Packages regenerated.
  - BasePlus
  - SQLinDS
  - macroArray
  - DFA
  - dynMacroArray
  - GSM
2022-01-13 16:59:12 +01:00
Bart Jablonski (yabwon)
68e85eb5ba BasePlus package [ver. 1.14]
BasePlus package [ver. 1.14]:
- bug fix in the `%zipLibrary()` and the `%unzipLibrary()` macro
2022-01-11 14:08:03 +01:00
Bart Jablonski (yabwon)
0778a71ada BasePlus package [ver. 1.13]
BasePlus package [ver. 1.13] :
- bug fix in `%zipLibrary()` macro
2022-01-11 11:01:12 +01:00
Bart Jablonski (yabwon)
a95c672693 Package BasePlus, version 1.12
Package BasePlus, version 1.12:

-BugFix in `%unzipLibrary()` macro.
2021-11-23 12:50:41 +01:00
Bart Jablonski (yabwon)
9bccc4329a Package BasePlus, version 1.11
Package BasePlus, version 1.11:

-Macro `%unzipLibrary()` updated.
2021-11-19 17:07:47 +01:00
yabwon
b76b1ed9eb Package BasePlus, version 1.1
Package BasePlus, version 1.1:

-New macro `%unzipLibrary()` added.
-Macro `%zipLibrary()` updated.
-The doc. updated.
2021-11-14 16:12:04 +01:00
yabwon
942879a5b8 Package BasePlus, version 1.0
Package BasePlus, version 1.0:

-New macro `%zipLibrary()` added.
-The doc. updated.
2021-11-13 22:51:01 +01:00
yabwon
7fa70d5ad4 SAS Packages Framework, version 20211111
**SAS Packages Framework**, version 20211111:

- The `packages` fileref can point to multiple directories now, e.g. `filename packages ("/dir/nr/one" "/dir/nr/two");`
- New macro `%extendPackagesFileref()` added,
- Help updated,

- Packages regenerated with new version of SPF:
   - DFA,
   - GSM,
   - MacroArray,
   - BasePlus,
   - dynMacroArray,
   - SQLinDS.
2021-11-10 20:21:07 +01:00
yabwon
2026254b96 BasePlus, version 0.994
**BasePlus, version 0.994**

Updates to the `%rainCloudPlot()` macro:
- new parameters,
-doc. updated.
2021-10-05 12:06:08 +02:00
yabwon
9ff8fd506c The BasePlus package [ver. 0.993]
The BasePlus package [ver. 0.993]:

- New macro `%rainCloudPlot()` added to the package.
- Doc. updated.
2021-10-01 21:20:03 +02:00
yabwon
cdf07fc232 BasePlus, Version: 0.992
**BasePlus**, Version: 0.992

New macro added.

The `%functionExists()` macro checks if a function exists in a SAS session.
2021-08-18 23:01:10 +02:00
yabwon
f7485ce6c4 **SAS Packages Framework**, version 20210528
**SAS Packages Framework**, version 20210528:

Help tags selection modified in the `%generatePackage()` macro.
New solution allows to write help tags surrounding comments in two ways.
The first (old) is:
```
/*** HELP START ***/
/*
comment
*/
/*** HELP END ***/
```

and the second (new):
```
/*** HELP START ***//*
comment
*//*** HELP END ***/
```
The second allows to print help info in log without `/*` and `*/` surrounding comments. It looks better and is easier for building `.md` files or other help documents (so you do not have to remove `/*` by hand).

Documentation updated.

The following packages were regenerated with new version of the SPF:
- BasePlus
- DFA
- dynMacroArray
- macroArray
- SQLinDS
2021-05-28 11:47:28 +02:00
yabwon
742e4ac3d3 **SAS Packages Framework**, version 20210109
**SAS Packages Framework**, version 20210109

Changes:
- type `formatS` added (mind the `S` at the end)
- testing extended:
  - test for existence of datasets
  - test for existence of macros

Documentation updated.

Packages recompiled with the new version of the SAS Packages Framework:
- `SQLinDS` (version 2.2)
- `macroArray` (version 0.8)
- `DFA` (version 0.4)
- `BasePlus` (version 0.991)
- `dynMacroArray` (version 0.2)
2021-01-09 17:22:32 +01:00
yabwon
34b46d1e85 BasePlus, ver. 0.991
- bug fix
2020-12-07 20:34:03 +01:00
yabwon
9277a83561 BasePlus, version 0.99
BasePlus, version 0.99

New features:
  * `brackets.` format
  * `semicolon.` format
  * `bracketsC()` function
  * `bracketsN()` function
  * `semicolonC()` function
  * `semicolonN()` function
  * `%zipEvalf()` macro
  * `%QzipEvalf()` macro
2020-12-02 21:16:27 +01:00
yabwon
b5564bca76 **SAS Packages Framework**, version 20201115
**SAS Packages Framework**, version 20201115

A new macro and a new functionality added.
The `%previewPackage()` macro allows to print out, into the log, the code of the package.

Documentation updated.

Packages recompiled with the new version of the SAS Packages Framework:
- `SQLinDS` (version 2.2)
- `macroArray` (version 0.7)
- `DFA` (version 0.2)
- `BasePlus` (version 0.9)
- `dynMacroArray` (version 0.2)
2020-11-15 21:19:31 +01:00
yabwon
c1f60d112e SAS Packages Framework, version 20201103
**SAS Packages Framework**, version 20201103

Bugfix for `SAS 9.4M5` related to the following Problem Note: `https://support.sas.com/kb/62/037.html`
All macros using MD%() function should now run on M5.

Packages recompiled with the new version of the SAS Packages Framework:
- SQLinDS (version 2.2)
- macroArray (version 0.7)
  - The `%mcHashTable()` macro was added in the package.
- DFA (version 0.2)
- BasePlus (version 0.9)
  - New parameter `mcArray=` added to the `%getVars()` macro.
  - New macros added:`%dedupListS()`, `%dedupListC()`, `%dedupListP()`, `%dedupListX()`, and `%QdedupListX()`
- dynMacroArray (version 0.2)
2020-11-03 20:40:11 +01:00
yabwon
68e1562c19 BasePlus, version 0.9
New parameter `mcArray=` added to the `%getVars()` macro.
*Optional*, default value is blank.
1) When *null* - the macro behaves like a macro function
and returns a text string with variables list.
2) When *not null* - behaviour of the macro is altered.
In such case a macro array of selected variables, named
with `mcArray` value as a prefix, is created.
Furthermore a macro named as `mcArray` value is generated.
(see the macroArray package for the details).
When `mcArray=` parameter is active the `getVars` macro
cannot be called within the `%put` statement. Execution like:
`%put %getVars(..., mcArray=XXX);` will result with
an Explicit & Radical Refuse Of Run (aka ERROR).
2020-11-03 13:26:14 +01:00
yabwon
2730a9438f BasePlus, version 0.8
BasePlus, version 0.8
- New macros added:`%dedupListS()`, `%dedupListC()`, `%dedupListP()`, `%dedupListX()`, and `%QdedupListX()`
2020-10-20 21:57:44 +02:00
yabwon
e00353e693 SAS Packages Framework, version 20201018
**SAS Packages Framework**, version 20201018:
- In the `%generatePackage()` macro new parameter `testResults=` pointing the location where tests results should be stored was added.
- Datasets provided by the `data` type can be reloaded with help of the `lazyData=` parameter.
- The way the dataset help is displayed was improved.
- In the testing process the note about quoted string length was turned off.
- Tests results (i.e. `log` and `lst` files) can be redirected to a different location and are stored in directories named: `test_packagename_yyyymmddthhmmss`.
- Documentation updated.

Packages recompiled with the new version of the SAS Packages Framework:
- SQLinDS (version 2.2)
- macroArray (version 0.6)
- DFA (version 0.2)
- BasePlus (version 0.7)
- dynMacroArray (version 0.2)
2020-10-18 22:15:16 +02:00
yabwon
bfdcd238ec SAS Packages Framework, version 20201014
**SAS Packages Framework**, version 20201014:
- Small change in displaying help information in the log.

Packages recompiled with new version of SAS Packages Framework:
- `SQLinDS` (version 2.2)
- `macroArray` (version 0.5)
- `DFA` (version 0.2)
- `BasePlus` (version 0.7)
- `dynMacroArray` (version 0.2)
2020-10-14 15:25:37 +02:00
yabwon
252c15b1c3 SAS Packages Framework, version 20201014
**SAS Packages Framework**, version 20201014:
- Small change in displaying help information in the log.

Packages recompiled with new version of SAS Packages Framework:
- `SQLinDS` (version 2.2)
- `macroArray` (version 0.5)
- `DFA` (version 0.2)
- `BasePlus` (version 0.7)
- `dynMacroArray` (version 0.2)
2020-10-14 15:06:09 +02:00
yabwon
b373917770 SAS Packages Framework, version 20201010
**SAS Packages Framework**, version 20201010:
- Improvement in testing facility for the framework.
- Change in SAS components testing, missing component issues a *warning* instead of *error*.
- Documentation updated, `SPFinit.md` file added.
- Minor bug fixes.

Packages recompiled with new version of SAS Packages Framework:
- `SQLinDS` (version 2.2)
- `macroArray` (version 0.5)
- `DFA` (version 0.2)
- `BasePlus` (version 0.7)
  - documentation updated
  - new macro `%symdelGlobal()` added
- `dynMacroArray` (version 0.2)
2020-10-10 19:26:49 +02:00
yabwon
cf2ab0a7e7 BasePlus, version 0.7
BasePlus, version 0.7:
- documentation updated
- new macro `%symdelGlobal()` added
2020-10-03 22:54:35 +02:00