This document explains the latest developments for SAS/TOOLKIT. It contains SAS Version 8 information that will help you write your own enhancements to the SAS System.
If you are an experienced user of previous SAS/TOOLKIT software, you will want to read the summary of changes and enhancements below to get an overview of the new features. Then you may want to explore the Table of Contents for additional information.
Release 8.0 of SAS/TOOLKIT software provides a number of new features. These changes are summarized here and described in detail in the remainder of this technical report.
Probably the most significant change for Version 7 and Version 8 of SAS is the fact that variable names (column names) can now be more than eight characters. Starting in Version 7, variable names can be up to 32 characters. They can be mixed case, and they can contain characters that were invalid in prior releases. (more)
To use long names, if you are writing engines for Version 7 and above, you only need simple changes to your initialization code to indicate that your engine supports the V7 extensions.
Another significant change for Version 8 is that SAS data sets can now contain variable labels (column titles) up to 256K in length. Prior to Version 7, variable labels were limited to 40 bytes. Character variables (character values found in one cell of a table) can have lengths up to 32K. Prior to Version 7, they were limited to 200 bytes.
Information is provided about the SQL Pass-Through engine, which was previously released. This engine allows you greater flexibility in managing data that resides in a DBMS. The SQL Pass-Through engine operates within the PROC SQL environment. The SQL Pass-Through engine is designed to access a DBMS using the native language of the DBMS. The engine works with PROC SQL in cases where you need the extended feature set of a proprietary DBMS.
Example: You have a DBMS containing financial information, and you need to perform an action that PROC SQL will not do, such as reversing a transaction. The SQL Pass-Through engine will allow you to use proprietary commands native to the financial DBMS to perform the transaction.
PROC USERPROC has several new options to accommodate requested features.
The most significant change is that UNIX users of PROC USERPROC can now give information on the compiler that they want USERPROC to use in building the program constants object. (In the past, a patch had to be supplied to specify a different compiler command.)
It is now possible to enhance the quality of information in log messages so that they provide greater detail about what is happening during processing. Some programming changes are required in order to take advantage of this feature.
Version 8 includes a number of new X routines that are used for writing new procedures. In addition, some existing X routines have been enhanced.
SAS_XOPTxST - These are new routines that help you determine which system options are set when your procedure is invoked.
SAS_XOINFO - This routine allows you to obtain information about an existing data set. It remains the same in Version 7 and Version 8, but some values passed to it will return different data types than in the past.
SAS_XJ routines - Macro access routines that correspond to SYMGET and SYMPUT functions include the following:
SAS_XOOPENX - Enhanced version of SAS_XOOPEN, which has an eight-character name dependency.
SAS_ZNAMEX - Enhanced version of SAS_ZNAME, which has an eight-character name dependency.
Even though you now have the enhanced instruction sets and features available in Version 8, you can still develop applications for users who have not yet upgraded to SAS Version 8. This document provides some examples of how to do this.
You can also upgrade applications that were developed for prior versions of SAS without rewriting them entirely. In some cases, there is limited cross-version compatibility.
If you have been using SAS/TOOLKIT prior to this release, you probably have applications that need to be upgraded to Version 8. This is generally possible without a major rewrite of your application. SAS/TOOLKIT software was first made available for Release 6.07 for OS/390, CMS, and VAX/VMS. In Release 6.09, it was made available for various UNIX operating environments, and then later for PC operating environments. In a few cases, an application that was created in one release will work in other releases:
Even if you will be developing most applications on Version 8, SAS/TOOLKIT allows you to produce Version 7 procedures and engines to provide to Version 7 users. The V7 OPTION of PROC USERPROC indicates that a Version 7 program constants object will be generated. See PROC USERPROC in SAS/TOOLKIT Software: Usage and Reference for more information.
While the Output Delivery System (ODS) allows SAS to have greater control and formatting ability over output, it is not yet supported in SAS/TOOLKIT.
If you are a new user of SAS/TOOLKIT, you will need to refer to the following information:
You can purchase any of these publications online through the SAS Publications Catalog