Running SPZAP

You can run SPZAP using control statements as input into the job stream or dynamically as part of selected macros:
Consider the following points when you run SPZAP:
  • SPZAP uses the system OPEN macro. Therefore, SPZAP cannot modify or inspect RACF-protected data sets when SPZAP cannot successfully complete the access checks that occur during OPEN processing.
  • A module can be a load module in a PDS or a program object in a PDSE. SPZAP replaces a program object in a PDSE rather than updating the program object in place. Users who have used the BLDL macro to establish a connection to a particular copy of a program object must invoke BLDL again to gain access to the new copy.

    If you are using LLA to manage a program object that has been changed through the use of SPZAP, then, to make the modified object available, the operator must refresh LLA for the directory entries for that program object. Otherwise, LLA continues to load the unmodified version of the program object.

    SPZAP itself cannot identify when a load module or a program object is in use by another user or is in the process of being loaded through LLA.

    See z/OS DFSMS Using Data Sets for more information about PDSEs and their data structure.

  • Unexpired data sets such as system libraries cannot be modified unless the operator replies r xx,‘U’ to the expiration message that occurs during OPEN.
  • If you use SPZAP to modify an operating system module that is made resident in virtual storage only at IPL time, you must IPL the system again to invoke the new version of the module you have modified. (Note that this requirement applies to all modules in SYS1.LPALIB, all data sets named in the LPALSTxx member of SYS1.PARMLIB, and all modules in SYS1.NUCLEUS.

    SPZAP itself cannot determine when a module is loaded only at IPL time.

  • The SYSLIB DD statement cannot define a concatenated or a multi-volume data set.
  • SPZAP supports only direct access storage devices (DASD) for the SYSLIB device.
  • When modifying a system data set, such as SYS1.LINKLIB, specify DISP=OLD on the SYSLIB DD statement.
  • If you use SPZAP for a digitally signed module, message AMA165I is issued. The control statement is to be processed, but the digital signature is no longer valid.
  • SPZAP supports placement of SYSIN and SYSPRINT data sets in cylinder-managed space.
  • SPZAP (AMASPZAP or IGWSPZAP) supports all data sets allocated in the extended addressing space (EAS) of an extended address volume (EAV).
  • SPZAP (AMASPZAP or IGWSPZAP) supports the following dynamic allocation (DYNALLOC or SVC 99) options for all data sets: S99TIOEX(XTIOT), S99ACUCB (NOCAPTURE), and S99DSABA (DSAB above the line).