Chapter Contents

Previous

Next
A Guide for the SAS/C Compiler Consultant, Release 6.50


General Information about Zaps and Zapping Utilities

In order to facilitate APPLYZAP, zaps provided by SAS Institute Inc. for SAS/C software products contain additional keywords in the NAME statement. The additional arguments are a list of libnames, denoting the libraries to which the zap should be applied.

The form of the NAME statement is
NAME module-name csect-name libname1 <.ext> <...libname4 <.ext >>
 

The acceptable values of the optional .ext argument are shown in the following table.

Library Filename Extensions
.ext File Description
.A
SAS/C AR370 archive
.L
MVS load format library or a VM LOADLIB
.M
VM MODULE file
.O
MVS object format library or a VM TXTLIB
.T
VM TEXT file

 

APPLYZAP uses the list of libnames to determine which libraries the zap is to be applied to (there is a limit of four libnames per zap). Thus, one zap can be applied to several libraries during one execution of APPLYZAP.

Note:   If you need to use a zap utility other than APPLYZAP, the libnames will not need to be removed from the NAME statement. The other utilities mentioned previously will ignore everything after the csect-name in the NAME statement.  [cautend]


MVS Zaps

Under MVS, zaps include CHECKSUM statements. These CHECKSUM statements are verified by SAS Technical Support before a zap is made available to users. APPLYZAP ensures that the CHECKSUM statements are correct. If CHECKSUM is incorrect, the cause is almost certainly a typographical error. In this case, APPLYZAP prints a diagnostic message and does not apply the zap. Because incorrectly applied zaps may result in incorrect program execution or ABENDs, APPLYZAP ensures that the zaps are applied correctly.

For MVS, zaps also include an IDRDATA statement. The IDRDATA statement is used by APPLYZAP to denote the end of a zap segment and to identify the zap. For each NAME statement, an IDRDATA statement is expected to follow. If a NAME statement is read and an IDRDATA statement is not found before the end of the zap or before another NAME statement is found, an error occurs and processing of that zap stops.

For MVS zaps that apply to load module format libraries, APPLYZAP invokes the IBM utility AMASPZAP. For zaps that apply to object module format libraries (including the AR370 Archived Libraries), APPLYZAP invokes the OBJZAP utility provided by SAS Institute Inc.


VM Zaps

Unlike MVS, VM zaps do not currently include CHECKSUM statements. However, if CHECKSUM statements are provided in the future, APPLYZAP on VM will process them.

VM zaps include a LOG statement that is very similar to the MVS IDRDATA statement. The LOG statement is used by APPLYZAP to denote the end of a zap segment and to identify the zap. For each NAME statement, a LOG statement is expected to follow. If a NAME statement is read and a LOG statement is not found before the end of the zap or before another NAME statement is found, an error occurs and processing of that zap stops.

VM zaps are applied using one of two separate utilities: ZAP or ZAPTEXT. APPLYZAP invokes the ZAP utility to apply zaps to LOADLIBs, TXTLIBs, and MODULES, and it invokes the ZAPTEXT utility to apply zaps to TEXT files and AR370 archived members.


Chapter Contents

Previous

Next

Top of Page

Copyright © Fri Feb 6 08:07:34 EST 1998 by SAS Institute Inc., Cary, NC, USA. All rights reserved.