Technical Blog Post
Abstract
How to list PTF prerequisite chain.
Body
You may have a need to know the PTF prerequisite PTF chain. You can do this by downloading the enhanced HOLDDATA, RECEIVE the enhanced HOLDDATA, and run a LIST FORFMID report against the enhanced HOLDDATA. This will provide you with a listing that will show the prerequisite chain and indicate whether that particular is already RECEIVE’d, APPLY’d, and/or ACCEPT’d.
You can download a week, month, quarter, or year of enhanced HOLDDATA. Regardless of what time frame you decide to download you need to make sure that it overlaps the last time you applied maintenance to your system. To determine the date of the last received HOLDDATA you can run a SMP/E LIST of your HOLDDATA to get the date and then you know which time frame you need. Otherwise I would recommend that you download the year.bin file, this should cover just about any time frame. This will be a very large file because it contains the enhanced HOLDDATA for all IBM products.
To download the desired files you can run a batch FTP job to copy the desired file to your system. The following JCL is similar to what you will need to download the file:
//JOBCARD JOB (ACCT INFO),'NAME',MSGCLASS=X
//HOLDDATA EXEC PGM=FTP
//INPUT DD *
service.boulder.ibm.com
anonymous
your_userid@your_company.com ç======= your userid
CD /s390/holddata
DIR
GET quarter.txt 'YOUR.CD(HOLDDATA)' (replace
QUIT
//OUTPUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
/*
//
If you want a different time frame you would use one of these.
GET week.txt 'YOUR.CD(HOLDWEEK)' (replace
GET month.txt 'YOUR.CD(HOLDMON)' (replace
GET year.txt 'YOUR.CD(HOLDYEAR)' (replace
This data does not have to go into a PDS, you can put it in to a sequential file instead. Just be sure that the file is pre allocated with DCB attributes of RECFM=FB,LRECL=1024.
Once you get it on the mainframe you need to run a SMP/E RECEIVE on it:
//JOBCARD JOB (ACCT INFO),'NAME',MSGCLASS=X
//RECEIVE EXEC PGM=GIMSMP,REGION=4M,COND=(0,NE)
//DELETE DD DSN=YOUR.CD.HOLDHDGA,DISP=(MOD,DELETE),
// UNIT=SYSALLDA,SPACE=(TRK,0)
//SMPCNTL DD *
SET BOUNDARY( GLOBAL ) OPTIONS( CONNECT ).
RECEIVE HOLDDATA FORFMID(HDGA510).
//SMPCSI DD DISP=SHR,DSN=YOUR.CD.GLOBAL.CSI
//SMPHOLD DD DISP=SHR,DSN=YOUR.CD(HOLDDATA)
//SMPPTFIN DD DUMMY
//SMPLOG DD DUMMY
//SMPOUT DD SYSOUT=*
//SMPRPT DD SYSOUT=*
/*
//
Now you can list the HOLDDATA for the FMID which should provide you with the PTF prerequisite chain:
//JOBCARD JOB (ACCT INFO),'NAME',MSGCLASS=X
//LISTHOLD EXEC PGM=GIMSMP,REGION=4M,COND=(0,NE)
//SMPCNTL DD *
SET BOUNDARY( GLOBAL ).
LIST FORFMID(HDGA510) HOLDDATA.
//SMPCSI DD DISP=SHR,DSN=YOUR.CD.GLOBAL.CSI
//SMPLIST DD DISP=(NEW,CATLG),DSN=YOUR.CD.HOLDHDGA,
// UNIT=SYSALLDA,SPACE=(TRK,(30,30),RLSE)
//SMPLOG DD DUMMY
//SMPOUT DD SYSOUT=*
//SMPRPT DD DUMMY
//
/*
You can run a REPORT ERRSYSMODS to get a list of the PEs and Hipers that will provide information about whether they are RECEIVE’d, APPLY’d, and/or ACCEPT’d.
You can also run a report for any missing fixes, REPORT MISSINGFIX ZONES (target_zone).
To get a list of the zones in the global you would run the SMP/E batch job with LIST GZONE.
To get a list of all the PTFs RECEIVE’d, APPLY’d, and ACCEPT’d you would run the SMP/E job with the command LIST PTFS.
Additional information on enhanced HOLDATA can be found at URL:
http://service.software.ibm.com/holdata/390holddata.html#fb80
UID
ibm11124085