|
Managing the SAS/C Transient Library To: SAS/C Compiler Sites From: SAS/C Technical Support Subject: Managing the SAS/C Transient Library (TSNOTE 496) A number of sites that license SAS/C as well as vendor products written with SAS/C have experienced problems managing the libraries associated with these products. For instance, if several vendor products are installed into the same MVS PDS or on the same CMS minidisk, some of them may experience problems due to an older SAS/C Transient Library distributed with another product. The SAS/C Transient Library may have been distributed to you as part of the SAS/C Limited Distribution Package. This document addresses the following problems:
Ordinarily, code compiled and linked with any version of the SAS/C Compiler and Library will execute with any later version of the SAS/C transient library. Execution with previous versions of the transient library may fail, but will always generate a warning message at run-time indicating the release of the transient library. By adhering to the vendor responsibilities listed, customers running multiple applications written with the SAS/C Compiler can avoid problems that may result from running with multiple versions of the SAS/C Transient Library. Vendor Responsibilities Vendors who distribute the SAS/C Transient Library with their SAS/C application are responsible for providing their customers the following:
Note: These items are not needed for programs developed using the Systems Programming Environment (SPE) or the all-resident feature. SAS/C Transient Library Incompatibility Issues In SAS/C Release 5.50, several release incompatibility issues resulted from moving most of the SAS/C Transient Library above the 16Mb line. These issues were originally documented in letters sent to customers ("Compatibility Zaps" in December of 1992), in the Installation Instructions of the SAS/C Products for Release 5.50, and in the SAS/ C Compiler and Library User's Guide, 3rd Edition - Chapter 1, Compatibility Notes. At this time, we do not expect such incompatibility issues to surface in future releases. However, should this occur, we will take the appropriate steps to inform all licensed customers well in advance. In order to prevent any conflicts which may result from the incompatibility issues, you should consider the information on the following pages before shipping any product which uses the SAS/C Transient Library. Please keep in mind that the items in "Vendor Responsibilities" must be followed in order to avoid any conflicts from mixing releases of the SAS/C Transient Library. The information on following pages are applicable when the SAS/C Transient Library release used at execution is SAS/C 5.50C or later. It is assumed that one of the valid AMODE/RMODE combinations will be used. These combinations are documented in the IBM Assembler Services Guide, GC28-1466, and are summarized as follows:
RMODE=24 RMODE=Any
+------------+-----------+
AMODE=24 | Valid | Invalid |
+------------+-----------+
AMODE=31 | Valid | Valid |
+------------+-----------+
Shipping Products Developed using SAS/C Release 4.50 AMODE=24 If you are shipping products developed using SAS/C Release 4.50 with AMODE=24, you must perform one of the following:
Note: If you choose this option, you, the vendor, are responsible for notifying customers of the incompatibility issues that may occur if they are running this library with other products developed with SAS/C. Shipping Products Developed using SAS/C Release 4.50 AMODE=31 If you are shipping products developed using SAS/C Release 4.50 with AMODE=31, there are no incompatibility issues. AMODE=31 programs will continue to execute, regardless of where the transient library is installed. Shipping Products Developed using SAS/C Release 5.00 AMODE=24 If you are shipping products developed using SAS/C Release 5.00 with AMODE=24, you must perform one of the following:
Note: If you choose this option, you, the vendor, are responsible for notifying customers of the incompatibility issues that may occur if they are running this library with other products developed with SAS/C. Shipping Products Developed using SAS/C Release 5.00 AMODE=31 If you are shipping products developed using SAS/C Release 5.00 with AMODE=31, there are no incompatibility issues. AMODE=31 programs will continue to execute, regardless of where the transient library is installed. Shipping Products Developed using SAS/C Release 5.01 AMODE=24 If you are shipping products developed using SAS/C Release 5.01 with AMODE=24, you must perform one of the following:
Note: If you choose this option, you, the vendor, are responsible for notifying customers of the incompatibility issues that may occur if they are running this library with other products developed with SAS/C. Shipping Products Developed using SAS/C Release 5.01 AMODE=31 If you are shipping products developed using SAS/C Release 5.01 with AMODE=31, there are no incompatibility issues. AMODE=31 programs will continue to execute, regardless of where the transient library is installed. Shipping Products Developed using SAS/C Release 5.50 or Later AMODE=24 If you are shipping products developed using SAS/C Release 5.50 or later with AMODE=24, there are no incompatibility issues. AMODE=24 programs will continue to execute, regardless of where the transient library is installed. Shipping Products Developed using SAS/C Release 5.50 or Later AMODE=31 If you are shipping products developed using SAS/C Release 5.50 or later with AMODE=24, there are no incompatibility issues. AMODE=31 programs will continue to execute, regardless of where the transient library is installed. Summary of SAS/C Transient Library Incompatibility Issues The following two tables summarize the incompatibility issues with the SAS/C Transient Library:
Application | Execution Transient Library/Location |
linked: AMODE(31)| 4.50F 5.00G 5.01B 5.50C 5.50C 6.00 6.00 |
| BTL BTL BTL BTL ATL BTL ATL |
----------+-------+----------------------------------------------+
Resident | 4.50F | Ok Ok Ok Ok Ok Ok Ok |
library | 5.00G | No! Ok Ok Ok Ok Ok Ok |
used for| 5.01B | No! No! OK Ok Ok Ok Ok |
LKED | 5.50C | No! No! No! Ok Ok Ok Ok |
| 6.00 | No! No! No! No! No! Ok Ok |
+-------+----------------------------------------------+
Applicaton | Execution Transient Library/Location |
linked: AMODE(24)| 4.50F 5.00G 5.01B 5.50C 5.50C 6.00 6.00 |
| BTL BTL BTL BTL ATL BTL ATL |
----------+-------+----------------------------------------------+
esident | 4.50F | Ok Ok Ok Ok No! Ok No! |
ED | 5.00G | No! Ok Ok Ok Ok?* Ok Ok?*|
| 5.01B | No! No! Ok Ok Ok?* Ok Ok?*|
| 5.50C | No! No! No! Ok Ok Ok Ok |
| 6.00 | No! No! No! No! No! Ok Ok |
+-------+----------------------------------------------+
?*: see compatibility zaps below
ATL: Above The Line (RMODE(ANY) )
BTL: Below The Line (RMODE(24) )
Compatibility Zaps The following zaps allow SAS/C 5.00G and 5.01B AMODE(24) applications to coexist with the above-the-line SAS/C Transient Library introduced with SAS/C Release 5.50.
Applicable Release: SAS/C 5.00
SAS/C 5.01
Zaps apply to : Resident library (base/standard)
and/or application load module
0319 - MVS and BIMODAL CMS applications, suggested for ALL
applications
0320 - VSAM programs under MVS and BIMODAL CMS
0321 - Coprocess applications under MVS and BIMODAL CMS
0415 - BIMODAL CMS applications
0481 - CICS applications
0485 - CICS applications
0868 - CICS applications
0869 - CICS Coprocessing applications
|