Enhanced HOLDDATA delivered between December 30, 1997 and January 8, 1998 included some incorrect ++HOLD statements. The problem with the ++HOLD statements is that they did not have the causing APAR number in the correct format. This will result in these ++HOLDs never being resolved by a fixing PTF.
The latest load of the data includes ++RELEASE and ++HOLD statements to correct those errors. However, if any ++HOLDs with an incorrect prefix remain, this sample exec will create the appropriate statements that you can scan to verify they release the correct entries, and then receive as holddata to correct the errors.
Note: This sample exec was designed to correct the ++HOLD statements delivered by Enhanced HOLDDATA. However, the exec can be modified to correct APAR prefixes on other than Enhanced HOLDDATA. The exec contains comments to direct which statements need to be changed.
HOLDFIXDAT.TXT | Table of APAR prefixes |
HOLDFIXREX.TXT | Sample REXX utility |
HOLDFIXJOB.TXT | Sample JCL |
//SAMPLE JOB '.......................','..........',RD=R, // CLASS=T,NOTIFY=......,MSGCLASS=H,MSGLEVEL=(1,1),REGION=5000K, // TIME=23040 //* //* SMP/E LIST COMMAND //* //SMPELIST EXEC PGM=GIMSMP //SMPCSI DD DSN=xxx.SMPE.CSI,DISP=SHR //SMPOUT DD SYSOUT=* //SMPLOGA DD SYSOUT=* //SMPCNTL DD * SET BDY(GLOBAL). LIST HOLDDATA HOLDERROR. /*
The SMPOUT dataset in the sample goes to the default output, but you could define dataset xxx.HOLD.LIST to contain the SMPOUT. The REXX exec expects to find the output from the LIST HOLDDATA HOLDERROR in that specific dataset.
//SAMPLE JOB '.......................','..........',RD=R, // CLASS=T,NOTIFY=......,MSGCLASS=H,MSGLEVEL=(1,1),REGION=5000K, // TIME=1440 //* //* SMP/E RECEIVE OF HOLD DATA //* //SMPERECV EXEC PGM=GIMSMP //SMPCSI DD DSN=xxx.SMPE.CSI,DISP=SHR //SYSUT2 DD * //SYSUT3 DD * //SMPOUT DD SYSOUT=H //SMPSNAP DD SYSOUT=H //SMPLOG DD SYSOUT=H //SMPLOGA DD SYSOUT=H //SMPHOLD DD DSN=xxx.HOLDDATA.FIX,DISP=SHR //SMPPTFIN DD DATA,DLM='$$' $$ //SMPCNTL DD * SET BDY(GLOBAL) . RECEIVE HOLDDATA BYPASS(FMID) . /*
This procedure should correct any ++HOLDs that had an incorrect APAR prefix.