SAS Library Engines

Overview of SAS Library Engines

SAS provides different engines that enable you to access and, in most cases, to update files of different types and different formats.
Note: A native library engine is an engine that accesses forms of SAS files that are created and processed only by SAS. For a complete list of native library engines available in SAS, see “Native Library Engines” in the SAS Language Reference: Concepts.

The V9 Engine

The default Base SAS engine for SAS libraries is V9. The V9 engine creates libraries in the V9 format, and it can also read and write libraries created using the V7 and V8 engines.
The V9 engine is the appropriate choice for most applications because it supports the full SAS data set functionality. The V9 engine also exploits the random access capabilities of disk devices to achieve greater performance than is possible with sequential engines.
The V9 engine is the default engine in most cases, but you can change the specified default engine with the ENGINE system option. The V9 engine can be used only for the types of devices that support it.
Note: Use BASE as the engine name if you write programs that create new SAS libraries and you want to create the libraries in the latest available format. In SAS®9, BASE is an alias for V9, and it will be an alias for newer engines in subsequent releases of SAS.

The V9TAPE Engine

The sequential engine for SAS libraries is V9TAPE. The V9TAPE engine creates sequential libraries in the V9TAPE format, and it can also read and write libraries created using the V7TAPE and V8TAPE engines.
The V9TAPE engine provides a way to store files on devices such as tape that do not support random access. Some of the uses of the V9TAPE engine on z/OS include
  • archiving SAS files to tape for long-term storage.
  • transporting SAS files between your z/OS system and another z/OS system or CMS system via tape.
  • sending SAS data, via a pipe connection, for immediate consumption by another job running in parallel.
In contrast to the V9 engine, V9TAPE has the following limitations:
  • does not support indexing, compression of observations, or audit trail capabilities
  • does not support direct access to individual observations (using the POINT= or KEY= options in the SET or MODIFY statements)
  • provides limited support for the following types of SAS library members: ACCESS, CATALOG, PROGRAM, and VIEW. You can move or transport these member types, but you cannot use the V9TAPE engine to access the information within these members.
Note: Use TAPE as the engine name if you write programs that create new SAS libraries and you want to create the libraries in the latest available format. In SAS 9.2, TAPE is an alias for V9TAPE, and it will be an alias for newer sequential engines in subsequent releases of SAS.

Compatibility Engines

Overview of Compatibility Engines

SAS provides various compatibility engines for the purpose of processing libraries that were created by previous versions of SAS. The type of engine that should be used depends on the engine format of the library. In most cases, SAS can detect the engine format and automatically select the appropriate engine to use. However, if you are using SAS 9.2 to create a new library or new members that will be processed by a prior version of SAS, you need to explicitly specify (on a LIBNAME statement or function) an engine that creates a library or members in a format that can be processed by the prior version of SAS. For more information about cross-release compatibility and migration, see the Migration focus area at support.sas.com/migration.
The following Base SAS engine library formats can be read and written by SAS 9.2:
V9 library
Libraries created by the default Base SAS engine in V8 or V7 are identified by SAS 9.2 as being in V9 format.
V6 library
These libraries were created using the default Base SAS engine in V6 or using the V6 compatibility engine under a later version of SAS.
Specifying one of the following compatibility engines has the indicated effect:
V8
creates a V9 library but does not allow creation of members with format names longer than 8 bytes.
V7
has the same effect as V8.
V6
creates a V6 format library.
The following sequential engine library formats can be read and written by SAS 9.2:
V9TAPE library
Libraries created by the default sequential engine in V8 or V7 are identified by SAS 9.2 as being in V9TAPE format.
V6TAPE library
These libraries were created using the default sequential engine in V6 or using the V6TAPE compatibility engine under a later version of SAS.
Specifying one of the following compatibility engines has the indicated effect:
V8TAPE
creates a V9TAPE library but does not allow creation of members with format names longer than 8 bytes.
V7TAPE
has the same effect as V8TAPE.
V6TAPE
creates a V6TAPE format library.

Long Format Names

The V9 and V9TAPE engines support long format names in data sets. These long format names can have a maximum length of 32 bytes. SAS 8 and SAS 7 can process V9 and V9TAPE format libraries, including new data sets created using SAS 9.2, provided the data sets do not have format names longer than 8 bytes. If you are using SAS 9.2 to create data sets that you intend to process using SAS 8 or SAS 7, specify the V8 or V8TAPE engine, as appropriate, to ensure that the format names do not exceed eight characters.

SAS 6.06 Format Data Sets

Data sets that were created under SAS 6.06 cannot be read or written by SAS 9.2 because their storage format differs from that used in subsequent releases of SAS 6. To make a SAS 6.06 data set available for processing in SAS 9.2, first use a later release of SAS 6 (6.07, 6.08, or 6.09) to copy the SAS 6.06 data set to a new SAS data set, either in the same library or in a new library. (SAS 9.2 can process libraries originally created by SAS 6.06, if the library members have been converted to the engine format associated with a later release of SAS, such as SAS 6.09.) The newly copied data set automatically receives the new SAS 6 format, which allows the new data set to be processed by the V6 or V6TAPE engine in SAS 9.2.

V5 and V5TAPE Engines

SAS 9.2 can read, but not update, libraries that were created in the V5 and V5TAPE formats. Libraries that were created in the V5 format cannot reside in Extended Addressing Space on Extended Address Volumes.

Other SAS Engines

In addition to the engines described in the preceding sections, SAS provides other LIBNAME engines to support a wide variety of different types of libraries. The following engines can be used on z/OS to access libraries of these engines that reside in native z/OS data sets::
XPORT
The XPORT engine converts SAS files to a format suitable for transporting the file from one operating environment to another. For general information about how to use this engine, see Moving and Accessing SAS Files. For information about the LIBNAME syntax to use with this engine, see LIBNAME Statement: z/OS.
Interface Engines
The BMDP, OSIRIS, and SPSS engines provide read-only access to BMDP, OSIRIS, and SPSS (including SPSS-X) files, respectively. For more information about the LIBNAME syntax to use with these engines, see Host Options for the XPORT, BMDP, OSIRIS, and SPSS Engines and Accessing BMDP, SPSS, and OSIRIS Files.