SAS/IML software supports the following collections of packages, which reflect different ways that SAS/IML software is used:
The SYSTEM collection contains packages that are installed as part of SAS/IML software and are available to any user. These packages enable developers at SAS to write and distribute specialized packages of functions that might be of interest to some—but perhaps not all—SAS/IML programmers. The SYSTEM collection is a generalization of the IMLMLIB library of modules. The SYSTEM collection for SAS/IML 14.1 consists of the AboveBelow package, which serves as an example of how to load and use packages.
The PUBLIC collection contains packages that are installed by a system administrator in a public location and are available to any user. These packages enable SAS administrators at a site to install a library of common modules that are used by programmers who work together. These modules ensure that the programmers use the same module library.
The PRIVATE collection contains packages that are installed by a user and are available only to that user. These packages enable a SAS/IML programmer to install libraries of modules for personal use. This collection enables an individual to extend the capabilities of SAS/IML software by using modules written by others.
If you specify the name of a package in the PACKAGE statement but you do not specify a collection, then the PACKAGE statement searches for the package first in the PRIVATE collection, then in the PUBLIC collection, and finally in the SYSTEM collection.
You can use this search behavior to control which version of a package is loaded. Suppose that your site administrator has installed version 1.0 of a package named Pkg1 in the PUBLIC collection. If the package author releases version 2.0 and you want to use that newer version, you can install the newer version in the PRIVATE collection. The following statement loads the newer version of the package:
package load Pkg1; /* the PRIVATE collection is searched first */
If you discover that the newer version is not robust and you want to use the older version, you can use the following statement to explicitly load the older package from the PUBLIC collection:
package load Pkg1(public); /* specify the PUBLIC collection */
Each collection is installed in a different directory. The IML procedure uses directory locations that are system specific:
Private packages are installed in the directory that is specified by the IMLPACKAGEPRIVATE system option.
Public packages are installed in the directory that is specified by the IMLPACKAGEPUBLIC system option.
System packages are installed in the directory that is specified by the IMLPACKAGESYSTEM system option.
The following statement displays the location for private, public, and system packages:
proc options option=(imlpackageprivate imlpackagepublic imlpackagesystem) value; run;
The SAS/IML Studio application uses the installation directories in Table 9.1.
Table 9.1: SAS/IML Studio Installation Directories
Collection |
Default Directory |
---|---|
SYSTEM |
SASHOME
|
PUBLIC |
|
PRIVATE |
|
Note: This procedure is experimental .