Chapter Contents

Previous

Next
Applying Zaps to the SAS/C Software Products

Technical Description of APPLYZAP

The APPLYZAP utility can be invoked with the options shown in Table 3.2. On OS/390, the options are specified in the PARM string. On VM, the options are specified as command line options.

APPLYZAP Options
Options Negative Default Short Form *
CHECK NOCHECK CHECK -C
ECHO NOECHO NOECHO N/A
ERROR NOERROR ERROR -E
FILEDEF NOFILEDEF NOFILEDEF -F VM ONLY
INPUT(zname) N/A N/A N/A
INPUT zname N/A N/A N/A
LINKNAME(lnkn) N/A N/A -Klnkn
LINKNAME lnkn N/A N/A -Klnkn
LIST NOLIST LIST -L
OVERRIDE NOOVERRIDE NOOVERRIDE -O
PRECK NOPRECK PRECK -P
REPORT NOREPORT NOREPORT -R
TERM NOTERM TERM -T
UPPER NOUPPER NOUPPER -U
ZAPNAME(zapu) N/A N/A -Zzapu
ZAPNAME zapu N/A N/A -Zzapu
*

* Replace the dash (-) with the NOT sign (!) to negate the short form.

Options

CHECK
validates CHECKSUMs.

ECHO
displays diagnostic information about the input read, the output zap statements formed, and the actual command used to apply the zap. There is no short form.

ERROR
instructs APPLYZAP to be tolerant of errors. NOERROR causes termination if any errors occur.

FILEDEF *VM Only*
allows user FILEDEFs to override the libname<.ext> keyword.

INPUT(zname) || INPUT zname
overrides the default input file (OS/390: the DDname SYSZIN; VM: the file SYSZIN ZAP), which contains control statements for APPLYZAP. Under OS/390, zname is searched for in the PDS defined to the SYSZLIB DDname. Under VM, APPLYZAP first checks for a file zname on an accessed disk with filetype of ZAP. Then it checks for a member zname in a MACLIB with a FILEDEF of SYSZLIB. There is no short form.

Note:    Valid APPLYZAP control statements include NAME, VER, REP, IDRDATA, LOG, ALIAS, GO, EXIT, the comment statement (*), the IEBUPDTE control card (./), and the additional APPLYZAP commands as discussed below.  [cautionend]

LINKNAME(lnkn) || LINKNAME lnkn
overrides the default linkage editor. The default is IEWL for OS/390 and LKED for VM.

LIST
generates a list of zaps applied and the result of the attempt.

OVERRIDE
instructs APPLYZAP to pass the zap directly to the appropriate zap utility even if APPLYZAP's records indicate that the zap has already been applied.

PRECK
checks for prerequisite zaps.

REPORT
produces a zap information report showing zaps applied during each execution only. Zap informational reports can also be generated for specific libraries using the REPORT command.

TERM
directs diagnostic output to the terminal when running in an interactive session. NOTERM suppresses output to the terminal.

UPPER
causes all output to be uppercased.

ZAPNAME(zapu) || ZAPNAME zapu
overrides the default utility to be used for applying zaps to OS/390 LOAD format libraries, VM LOADLIBs, VM TXTLIBs, and VM MODULES. The default utility is AMASPZAP for OS/390 and ZAP for VM.


Commands

APPLY zname
specifies an input file to be preprocessed. Under OS/390, zname is searched for in the PDS defined to the SYSZLIB DDname. Under VM, APPLYZAP first checks for the file zname on an accessed disk with filetype of ZAP, then it checks for a member zname in a MACLIB with a FILEDEF of SYSZLIB.

REPORT ZAP=zname LIB=libname
produces a zap informational report based on the ZAP= and LIB= parameters. Specifying a ZAP=zname allows you to narrow the range of a report to only that particular zap. Specifying LIB=libname narrows the report to the specified library. To produce an exhaustive list of all zaps that have been applied to a specific library, specify REPORT LIB=<DDname>. Either a LIB= or a ZAP= must be specified in each REPORT command.

SYSTEM command
passes a command to the operating system. This command makes use of the C Language system function. See the SAS/C Library Reference, Volume 1, Second Edition for further details on the system function.


Input and Output Files

As shown in Table 3.3, several files are needed during each execution of APPLYZAP. Under OS/390, the name of a file is simply a DDname that must be defined in the JCL. Under VM, the name of the file is a filename and a filetype. The only exception to this rule is the SYSZLIB file. SYSZLIB is a DDname under OS/390 and VM. In this document, a file is referred to only by its DDname or VM Filename.

APPLYZAP Files
DDname or VM Filename VM Filetype File Use
SYSZIN ZAP standard input file for APPLYZAP. All APPLYZAP statements are taken from this unless the INPUT(zname) option has been used or an APPLY command is being processed.
SYSZLIB *** DDname that defines a PDS under OS/390 or a MACLIB under VM where zaps can be found. This DDname is used for the INPUT option and the APPLY command.
SYSZOUT LISTING standard output file for APPLYZAP. All APPLYZAP messages are written to this file.
SYSPRINT LISTING standard output file for the zap utilities and the linkage-editor utility.
ZAPPED MACLIB log of applied zaps (by module name). This is a PDS under OS/390 and a MACLIB under VM.
SYSZRPT LISTING output from the REPORT option (which produces a list of zaps applied during a run) or REPORT command (which can be used to produce a list of zaps that were previously applied). This is a list of currently applied zaps.
SYSZLIN TEXT output of the linkage editor (temporary file).



SYSIN ZAP actual zap sent to the zap utility (temporary file).
libname TXTLIB, TEXT, LOADLIB, MODULE, or A identifies the SAS/C library containing the member or members to be zapped. Valid library names can be found in the APPLYZAP procedure catalogued under OS/390 or the APPLYZAP EXEC under VM.


Processing

APPLYZAP processes one zap at a time, each zap having one or more zap segments. A zap segment begins with a NAME statement and ends with an IDRDATA (OS/390) or LOG (VM) statement. APPLYZAP validates all CHECKSUMs, ensures that the zap has not been previously applied, ensures that all VER statements verify, ensures that all prerequisite zaps have been applied, applies the zap, generates any necessary diagnostics, and then continues to the next zap. If the zap has already been applied, then APPLYZAP issues a warning and continues to the next zap. If a CHECKSUM does not validate, or if any one of the VER statements does not verify, or if a prerequisite zap has not been applied, then an error is issued and APPLYZAP continues to the next zap (provided that the NOERROR option was not specified).

Zaps are processed regardless of the results of previous zaps, unless a zap utility returns a fatal error or NOERROR is specified. Upon termination, APPLYZAP will generate an appropriate error message and return code.


Chapter Contents

Previous

Next

Top of Page

Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.