Resources

Home   News   Version 1   Tech Support   Pubs   S2K Site Map



How do I apply a zap to SYSTEM 2000 software?


Zaps are supplied in the form of 80-column text files used as input to the IBM utility IMASPZAP. Here is an example of IMASPZAP execution JCL using an actual problem fix as input:

    //JCLZAP JOB
    //*
    //ZAP      PROC SYSOUT='*'
    //ZAP      EXEC PGM=IMASPZAP,PARM='IGNIDRFULL'
    //SYSPRINT DD  SYSOUT=&SYSOUT
    //SYSLIB   DD  DSN=S2K.R121.LOAD,DISP=SHR
    //       PEND
    //ZAP      EXEC  ZAP
    //SYSIN    DD   *
    *  IBM R12.1   BUG 4860  MVS
    *
    *  USES THE WRONG DISPLACEMENT WHEN POINTING TO THE PREFIX FOR
    *  SAVE AND KEEP FILE.
    *
    *  YOU MUST RELINK SYS2K AND S2KPLI AFTER APPLYING THIS ZAP.
    *
    NAME S2K50 COPRIM
    VER 0508 9500,E1DA
    VER 0510 4110,E1FC
    VER 0518 4120,E1DA
    *
    REP 0508 9500,E1DE
    REP 0510 4110,E200
    REP 0518 4120,E1DE
    CHECKSUM CC17CC18
    //


Format of a ZAP Deck

In the above example, the zap deck starts after the   //SYSIN DD * statement and continues through the CHECKSUM CC17CC18 statement.

Some zap decks have changes for more than one module or CSECT. There is a set of NAME, VER, and REP statements for each module or CSECT being changed.

You can tell a zap deck from a source module change by the types of statements in the zap.

The following table describes the different statements that make up a zap deck.


*  IBM R12.1   BUG 4860  MVS
This statement is a comment indicating the following about this fix:
  • hardware this version of SYSTEM 2000 runs on (IBM)
  • SYSTEM 2000 release (R12.1)
  • problem fix number (BUG 4860)
  • operating system (MVS)

Comments in zap decks are indicated by an asterisk (*) in column 1.

*
*  USES THE WRONG DISPLACEMENT WHEN POINTING TO THE PREFIX FOR
*  SAVE AND KEEP FILE.
*
*  YOU MUST RELINK SYS2K AND S2KPLI AFTER APPLYING THIS ZAP.
*
Comment block describes the problem being corrected, and gives instructions to make the zap become effective.
NAME S2K50 COPRIM
NAME statement indicates the module and CSECT within the module being modified by the zap.
VER 0508 9500,E1DA
VER 0510 4110,E1FC
VER 0518 4120,E1DA
VER statements verify that the machine language code and data at the given address within the module match the machine language code and data in the VER statement.
REP 0508 9500,E1DE
REP 0510 4110,E200
REP 0518 4120,E1DE
After the program code is verified, the REP statements replace the machine language code and data at the given address within the module with the code and data in the REP statement.
CHECKSUM CC17CC18
The IMASPZAP utility program generates a CHECKSUM value when it applies the zap, and compares it to the value in the CHECKSUM statement.



Applying the Zap

Before you apply the zap make sure you have current backups for load libraries affected by the zap. The zap comments tell you if you must run PRELNK JCL to link programs SYS2K and S2KPLI after you apply the zap to your load library. If you are running Version 1, you do not need to relink executable programs because zaps are applied directly to the executables, and PRELNK has been eliminated.


Common Problems Encountered when Applying Zaps

After you execute the IMASPZAP JCL, the job should end with a condition code of 0000 or 0004 and you should see this message at the end of the job output:

AMA132I CHECKSUM WAS CORRECT , IS NOW 0.

Click here to see the output of an IMASPZAP that ran properly.

If the job ends with a condition code of 8, or you don't see the CHECKSUM WAS CORRECT message, use the following table to determine the problem and proper response. This table describes the most common errors encountered when applying zaps.


Problem Explanation
The IMASPZAP utility program issued the following messages:

AMA125I S2K50 IDR-COUNT = 0019 (MAX=0019)
AMA126I S2K50 IDR(S) FILLED - RE-LINK

This execution of the IMASPZAP utility filled the IDR space in the module.

IMASPZAP ended with a condition code of 0004.

User Response: This message can be safely ignored.

If the CHECKSUM was correct, no VER or REP statements were in error, and the job ended with a condition code of 4, the zap was applied successfully.

Click here to see output from a job that issued this message.

The IMASPZAP utility program issued the following messages:

AMA120I S2K50 NO IDR SPACE - RE-LINK
AMA128I UPDATES ENABLED BY OVERRIDE PARM

The IDR space in the module is filled and no more entries can be added.

IMASPZAP ended with a condition code of 0004.

User Response: This message can be safely ignored.

If the CHECKSUM was correct, no VER or REP statements were in error, and the job ended with a condition code of 4, the zap was applied successfully.

Click here to see output from a job that issued this message.

One or more of the VER cards rejected because it didn't match the module contents at the specified location. Either the zap had already been applied, or an error was introduced when the zap was entered manually.

The job ends with a condition code of 0008 and error messages are issued.

User Response: Contact SYSTEM 2000 Technical Support.

Click here to see output from a job that issued this message.

The CHECKSUM value in the CHECKSUM statement did not match the CHECKSUM value generated by IMASPZAP. If there were no errors in the VER or REP statements, the changes were applied to the module even though the CHECKSUM values didn't match.

The job ends with a condition code of 0008 and error messages are issued.

User Response: Contact SYSTEM 2000 Technical Support.

Click here to see output from a job that issued this message.