Files
SAS_PACKAGES/SPF/SPFinit.md
Bart Jablonski 2f743475f6 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-11 12:33:11 +02:00

34 KiB

This is short help information for the installPackage macro


Macro to install SAS packages, version 20201010

A SAS package is a zip file containing a group
of SAS codes (macros, functions, data steps generating
data, etc.) wrapped up together and embedded inside the zip.

The %installPackage() macro installs the package zip
in the packages folder. The process of installation is equivalent with
manual downloading the package zip file into the packages folder.


Parameters:

  1. packagesNames Space separated list of packages names without
    the zip extension, e.g. myPackage1 myPackage2,
    Required and not null, default use case:
    %installPackage(myPackage1 myPackage2).
    If empty displays this help information.
    If the package name is SPFinit or SASPackagesFramework
    then the framework itself is downloaded.
  • sourcePath= Location of the package, e.g. "www.some.web.page/"
    Mind the "/" at the end of the path!
    Current default location for packages is:
    https://raw.githubusercontent.com/yabwon/SAS_PACKAGES/master/packages/ Current default location for the framework is:
    https://raw.githubusercontent.com/yabwon/SAS_PACKAGES/master/SPF/

  • replace= With default value of 1 it causes existing package file
    to be replaceed by new downloaded file.


Visit: https://github.com/yabwon/SAS_PACKAGES/tree/master/SPF/Documentation to learn more.

Example

Enabling the SAS Package Framework
from the local directory and installing & loading
the SQLinDS package from the Internet.

Assume that the SPFinit.sas file
is located in the "C:/SAS_PACKAGES/" folder.

Run the following code in your SAS session:

filename packages "C:/SAS_PACKAGES"; %* setup a directory for packages;
%include packages(SPFinit.sas);      %* enable the framework;

%installPackage(SQLinDS)  %* install the package from the Internet;
%helpPackage(SQLinDS)     %* get help about the package;
%loadPackage(SQLinDS)     %* load the package content into the SAS session;
%unloadPackage(SQLinDS)   %* unload the package content from the SAS session;

This is short help information for the helpPackage macro


Macro to get help about SAS packages, version 20201010

A SAS package is a zip file containing a group
of SAS codes (macros, functions, data steps generating
data, etc.) wrapped up together and provided with
a single help.sas file (also embedded inside the zip).

The %helpPackage() macro prints in the SAS log help
information about the package provided by the developer.


Parameters:

  1. packageName Required. Name of a package, e.g. myPackage,
    Required and not null, default use case:
    %loadPackage(myPackage).
    If empty displays this help information.

  2. helpKeyword Optional. A phrase to search in help,
    - when empty prints description,
    - "*" means prints all help,
    - "license" prints the license.

  • path= Optional. Location of a package. By default it
    looks for location of the packages fileref, i.e.
    %sysfunc(pathname(packages))

  • options= Optional. Possible options for ZIP filename,
    default value: LOWCASE_MEMNAME

  • source2= Optional. Option to print out details about
    what is loaded, null by default.

  • zip= Standard package is zip (lowcase),
    e.g. %loadPackage(PiPackage).
    If the zip is not available use a folder.
    Unpack data to "pipackage.disk" folder
    and use loadPackage in the following form:
    %loadPackage(PiPackage, zip=disk, options=)


Visit: https://github.com/yabwon/SAS_PACKAGES/tree/master/SPF/Documentation to learn more.

Example

Enabling the SAS Package Framework
from the local directory and installing & loading
the SQLinDS package from the Internet.

Assume that the SPFinit.sas file
is located in the "C:/SAS_PACKAGES/" folder.

Run the following code in your SAS session:

filename packages "C:/SAS_PACKAGES"; %* setup a directory for packages;
%include packages(SPFinit.sas);      %* enable the framework;

%installPackage(SQLinDS)  %* install the package from the Internet;
%helpPackage(SQLinDS)     %* get help about the package;
%loadPackage(SQLinDS)     %* load the package content into the SAS session;
%unloadPackage(SQLinDS)   %* unload the package content from the SAS session;

This is short help information for the loadPackage macro


Macro to load SAS packages, version 20201010

A SAS package is a zip file containing a group
of SAS codes (macros, functions, data steps generating
data, etc.) wrapped up together and included by
a single load.sas file (also embedded inside the zip).

The %loadPackage() macro loads package content, i.e. macros,
functions, formats, etc., from the zip into the SAS session.


Parameters:

  1. packageName Required. Name of a package, e.g. myPackage,
    Required and not null, default use case:
    %loadPackage(myPackage).
    If empty displays this help information.
  • path= Optional. Location of a package. By default it
    looks for location of the packages fileref, i.e.
    %sysfunc(pathname(packages))

  • options= Optional. Possible options for ZIP filename,
    default value: LOWCASE_MEMNAME

  • source2= Optional. Option to print out details about
    what is loaded, null by default.

  • requiredVersion= Optional. Option to test if the loaded
    package is provided in required version,
    default value: .

  • lazyData= Optional. A list of names of lazy datasets to be
    loaded. If not null datasets from the list are loaded
    instead of the package.
    An asterisk (*) means load all lazy datasets.

  • zip= Standard package is zip (lowcase),
    e.g. %loadPackage(PiPackage).
    If the zip is not available use a folder.
    Unpack data to "pipackage.disk" folder
    and use loadPackage in the following form:
    %loadPackage(PiPackage, zip=disk, options=)


Visit: https://github.com/yabwon/SAS_PACKAGES/tree/master/SPF/Documentation to learn more.

Example

Enabling the SAS Package Framework
from the local directory and installing & loading
the SQLinDS package from the Internet.

Assume that the SPFinit.sas file
is located in the "C:/SAS_PACKAGES/" folder.

Run the following code in your SAS session:

filename packages "C:/SAS_PACKAGES"; %* setup a directory for packages;
%include packages(SPFinit.sas);      %* enable the framework;

%installPackage(SQLinDS)  %* install the package from the Internet;
%helpPackage(SQLinDS)     %* get help about the package;
%loadPackage(SQLinDS)     %* load the package content into the SAS session;
%unloadPackage(SQLinDS)   %* unload the package content from the SAS session;

This is short help information for the loadPackageS macro


Macro wrapper for the loadPackage macro, version 20201010

A SAS package is a zip file containing a group
of SAS codes (macros, functions, data steps generating
data, etc.) wrapped up together and embedded inside the zip.

The %loadPackageS() allows to load multiple packages at one time,
ONLY from the ZIP with DEFAULT OPTIONS, into the SAS session.

Parameters:

  1. packagesNames A comma separated list of packages names,
    e.g. myPackage, myPackage1, myPackage2, myPackage3
    Required and not null, default use case:
    %loadPackageS(myPackage1, myPackage2, myPackage3).
    Package version, in brackets behind a package name, can
    be provided, example is the following:
    %loadPackageS(myPackage1(1.7), myPackage2(4.2)).
    If empty displays this help information.

Visit: https://github.com/yabwon/SAS_PACKAGES/tree/master/SPF/Documentation to learn more.

Example

Enabling the SAS Package Framework
from the local directory and installing & loading
the SQLinDS package from the Internet.

Assume that the SPFinit.sas file
is located in the "C:/SAS_PACKAGES/" folder.

Run the following code in your SAS session:

filename packages "C:/SAS_PACKAGES"; %* setup a directory for packages;
%include packages(SPFinit.sas);      %* enable the framework;

%installPackage(SQLinDS DFA)  %* install packages from the Internet;
%loadPackageS(SQLinDS, DFA)    %* load packags content into the SAS session;

This is short help information for the unloadPackage macro


Macro to unload SAS packages, version 20201010

A SAS package is a zip file containing a group
of SAS codes (macros, functions, data steps generating
data, etc.) wrapped up together and provided with
a single unload.sas file (also embedded inside the zip).

The %unloadPackage() macro clears the package content
from the SAS session.


Parameters:

  1. packageName Required. Name of a package, e.g. myPackage,
    Required and not null, default use case:
    %loadPackage(myPackage).
    If empty displays this help information.
  • path= Optional. Location of a package. By default it
    looks for location of the packages fileref, i.e.
    %sysfunc(pathname(packages))

  • options= Optional. Possible options for ZIP filename,
    default value: LOWCASE_MEMNAME

  • source2= Optional. Option to print out details about
    what is loaded, null by default.

  • zip= Standard package is zip (lowcase),
    e.g. %loadPackage(PiPackage).
    If the zip is not available use a folder.
    Unpack data to "pipackage.disk" folder
    and use loadPackage in the following form:
    %loadPackage(PiPackage, zip=disk, options=)


Visit: https://github.com/yabwon/SAS_PACKAGES/tree/master/SPF/Documentation to learn more.

Example

Enabling the SAS Package Framework
from the local directory and installing & loading
the SQLinDS package from the Internet.

Assume that the SPFinit.sas file
is located in the "C:/SAS_PACKAGES/" folder.

Run the following code in your SAS session:

filename packages "C:/SAS_PACKAGES"; %* setup a directory for packages;
%include packages(SPFinit.sas);      %* enable the framework;

%installPackage(SQLinDS)  %* install the package from the Internet;
%helpPackage(SQLinDS)     %* get help about the package;
%loadPackage(SQLinDS)     %* load the package content into the SAS session;
%unloadPackage(SQLinDS)   %* unload the package content from the SAS session;

This is short help information for the listPackages macro


Macro to list available SAS packages, version 20201010

A SAS package is a zip file containing a group
of SAS codes (macros, functions, data steps generating
data, etc.) wrapped up together and embedded inside the zip.

The %listPackages() macro lists packages available
in the packages folder. List is printed inthe SAS Log.

Parameters:

NO PARAMETERS

When used as: %listPackages(HELP) it displays this help information.


Visit: https://github.com/yabwon/SAS_PACKAGES/tree/master/SPF/Documentation
to learn more.

Example

Enabling the SAS Package Framework
from the local directory and listing
available packages.

Assume that the SPFinit.sas file
is located in the "C:/SAS_PACKAGES/" folder.

Run the following code in your SAS session:

filename packages "C:/SAS_PACKAGES"; %* setup a directory for packages;
%include packages(SPFinit.sas);      %* enable the framework;

%listPackages()                      %* list available packages;

This is short help information for the verifyPackage macro


Macro to verify SAS package with it hash digest, version 20201010

A SAS package is a zip file containing a group
of SAS codes (macros, functions, data steps generating
data, etc.) wrapped up together and embedded inside the zip.

The %verifyPackage() macro generate package SHA256 hash
and compares it with the one provided by the user.

Minimum SAS version required for the process is 9.4M6.

Parameters:

  1. packageName Name of a package, e.g. myPackage,
    Required and not null, default use case:
    %loadPackage(myPackage).
    If empty displays this help information.
  • hash= A value of the package SHA256 hash.
    Provided by the user.

  • path= Location of a package. By default it looks for
    location of the "packages" fileref, i.e.
    %sysfunc(pathname(packages))


Visit: https://github.com/yabwon/SAS_PACKAGES/tree/master/SPF/Documentation to learn more.

Example

Enabling the SAS Package Framework
from the local directory and installing & loading
the SQLinDS package from the Internet.

Assume that the SPFinit.sas file
is located in the "C:/SAS_PACKAGES/" folder.

Run the following code in your SAS session:

filename packages "C:/SAS_PACKAGES"; %* set-up a directory for packages;
%include packages(SPFinit.sas);      %* enable the framework;

%installPackage(SQLinDS)  %* install the package from the Internet;
%verifPackage(SQLinDS,    %* verify the package with provided hash;
              hash=HDA478ANJ3HKHRY327FGE88HF89VH89HFFFV73GCV98RF390VB4)

This is short help information for the generatePackage macro


Macro to generate SAS packages, version 20201010

A SAS package is a zip file containing a group
of SAS codes (macros, functions, data steps generating
data, etc.) wrapped up together and embedded inside the zip.

The %generatePackage() macro generates SAS packages.
It wraps-up the package content, i.e. macros, functions, formats, etc.,
into the zip file and generate all metadata content required by other
macros from the SAS Packages Framework.


Visit: https://github.com/yabwon/SAS_PACKAGES/tree/master/SPF/Documentation to read about the details of package generation process.

Parameters:

  1. filesLocation= Location of package files, example value:
    %sysfunc(pathname(work))/packagename.
    Default use case:
    %generatePackage(filesLocation=/path/to/packagename)
    If empty displays this help information.
  • testPackage= Indicator if tests should be executed.
    Default value: Y, means "execute tests"

  • packages= Location of other packages for testing
    if there are dependencies in loading the package.