From 98e822bde2a12a8e83f00279f9e87d38c58c0bc7 Mon Sep 17 00:00:00 2001 From: yabwon Date: Fri, 5 Nov 2021 13:48:39 +0100 Subject: [PATCH] **GSM** (Generate Secure Macros) package, version 0.15 **GSM** (Generate Secure Macros) package, version 0.15 Doc. updated. --- README.md | 2 +- packages/README.md | 2 +- packages/SHA256_for_packages.txt | 3 +++ packages/gsm.md | 6 +++--- packages/gsm.zip | Bin 15408 -> 15461 bytes 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index fced439..41a9905 100644 --- a/README.md +++ b/README.md @@ -167,7 +167,7 @@ SHA256 digest for BasePlus: D01BDFB50EF023EF51806F5F0ED664523C1A6F25AA2778808558 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: 93D88D4465B68984E938212241DE55C7B12EBC20601538553AC9E1AC0628C006 +SHA256 digest for GSM: 3EAF6E93642CCA9B5B592DF9BED4C8B20B60BCD4B0434720D12D26096717C4A9 [Documentation for GSM](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/gsm.md "Documentation for GSM") diff --git a/packages/README.md b/packages/README.md index 14b114b..6e90fda 100644 --- a/packages/README.md +++ b/packages/README.md @@ -115,7 +115,7 @@ SHA256 digest for BasePlus: D01BDFB50EF023EF51806F5F0ED664523C1A6F25AA2778808558 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: 93D88D4465B68984E938212241DE55C7B12EBC20601538553AC9E1AC0628C006 +SHA256 digest for GSM: 3EAF6E93642CCA9B5B592DF9BED4C8B20B60BCD4B0434720D12D26096717C4A9 [Documentation for GSM](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/gsm.md "Documentation for GSM") diff --git a/packages/SHA256_for_packages.txt b/packages/SHA256_for_packages.txt index 2171087..613b50f 100644 --- a/packages/SHA256_for_packages.txt +++ b/packages/SHA256_for_packages.txt @@ -1,3 +1,6 @@ +/* 20211105 */ +GSM: 3EAF6E93642CCA9B5B592DF9BED4C8B20B60BCD4B0434720D12D26096717C4A9 + /* 20211005 */ BasePlus: D01BDFB50EF023EF51806F5F0ED664523C1A6F25AA2778808558C212E6D74725 diff --git a/packages/gsm.md b/packages/gsm.md index 0bdc973..13b4516 100644 --- a/packages/gsm.md +++ b/packages/gsm.md @@ -8,7 +8,7 @@ --- -# The GSM package [ver. 0.14] ############################################### +# The GSM package [ver. 0.15] ############################################### The **GSM** (a.k.a. *Generate Secure Macros*) package allows to create secured macros stored in SAS Proc FCMP functions. @@ -68,7 +68,7 @@ Required SAS Components: * SAS package generated by generatePackage, version 20210528 * The SHA256 hash digest for package BasePlus: -`93D88D4465B68984E938212241DE55C7B12EBC20601538553AC9E1AC0628C006` +`3EAF6E93642CCA9B5B592DF9BED4C8B20B60BCD4B0434720D12D26096717C4A9` ## >>> `%GSM()` macro: <<< ####################### @@ -178,7 +178,7 @@ data _null_; put _infile_; cards4; %macro xyz(x) / SECURE; - %do i = 1 to &x.; + %do i = 1 %to &x.; %put &i=; %end; %mend; diff --git a/packages/gsm.zip b/packages/gsm.zip index 836b08a2e9378876278eca0f8ca52db8fd5bcca7..d80922c5a1c8775e3b543f4c1d52c806dceec7c2 100644 GIT binary patch delta 10102 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