GSM, version 0.14:

GSM, version 0.14:

- new parameter `encodingRestricted` added
- testing extended (runs for up to 600 macros, ~15kb each)
This commit is contained in:
yabwon
2021-09-08 11:55:54 +02:00
parent e2e54b8025
commit 7be17a3a57
5 changed files with 31 additions and 22 deletions

View File

@@ -8,7 +8,7 @@
---
# The GSM package [ver. 0.13] <a name="gsm-package"></a> ###############################################
# The GSM package [ver. 0.14] <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.
@@ -44,12 +44,12 @@ See examples for more details.
*How to use it:*
- Copy all files with your macros into a directory.
- Copy all files with your secured macros code into a directory.
Best approach is to have one file for one macro.
- Copy a path the directory.
- Copy a path to the directory.
- Run the following code:
```
%GSM(<path to directory>, cmplib=<name of the dataset>)
%GSM(<the path to directory>, cmplib=<name of the dataset>)
```
- Share generated `ZIP` file (unzip and run the code).
@@ -68,7 +68,7 @@ Required SAS Components:
* SAS package generated by generatePackage, version 20210528 *
The SHA256 hash digest for package BasePlus:
`2FC239B5A2216D073826125999BFD64FBA32BFEA3EE6EA2B22EC64E8C1B04144`
`93D88D4465B68984E938212241DE55C7B12EBC20601538553AC9E1AC0628C006`
## >>> `%GSM()` macro: <<< <a name="gsm-macro"></a> #######################
@@ -114,27 +114,33 @@ The basic syntax is the following, the `<...>` means optional parameters:
<,cmplib=work.generateMacros>
<,source2=>
<,outpath=>
<,encodingRestricted=>
)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**Arguments description**:
1. `path` - *Required*, indicates a directory which contains files with macros.
Only files with `sas` extension are used.
1. `path` - *Required*, indicates a directory which contains files with macros.
Only files with `sas` extension are used.
* `trim=` - *Optional*, the default value is `0`.
If set to `1` then lines of macro code are trimmed.
If set to `2` then lines of macro code are stripped.
* `trim=` - *Optional*, the default value is `0`.
If set to `1` then lines of macro code are trimmed.
If set to `2` then lines of macro code are stripped.
* `cmplib=` - *Optional*, the default value is `work.generateMacros`.
Names the dataset which will contain generated functions.
* `cmplib=` - *Optional*, the default value is `work.generateMacros`.
Names the dataset which will contain generated functions.
* `source2=` - *Optional*, the default value is null.
Indicate if `%includ`-ed files are printed out.
Any value other than null enables printing.
* `source2=` - *Optional*, the default value is null.
Indicate if `%includ`-ed files are printed out.
Any value other than null enables printing.
* `outpath=` - *Optional*, the default value is set the same as the `path`.
Points a directory in which a result (a zip file) is generated.
* `outpath=` - *Optional*, the default value is set the same as the `path`.
Points a directory in which a result (a zip file) is generated.
* `encodingRestricted=` - *Optional*, the default value is `0`.
If set to 1 then if User session encoding is different from
encoding of the session which generates the dataset then
the generateMacros() function will not execute macro code.
---
@@ -237,7 +243,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
## License ####################################################################
Copyright (c) 2021 Bartosz Jablonski
Copyright (c) Bartosz Jablonski, since 2021
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal