I usually like to talk about new items here, but I find myself needing to talk about something very old. Specifically, I think that many *subsystem* programmers on our platform might not be aware of...the beauty and simplicity of the item I fondly call the "sliced bread of z/OS": SMP/E FIXCATs!
I do know that z/OS system programmers are very well aware of FIXCATs, but I suspect that they haven't shared this knowledge with subsystem programmers, and subsystem programmers likely see no need to read about z/OS installation advances. For this reason, I'm going to ask that you share this information with those that you want to help, and happen to be in the middleware portion of our stack.
CICS, Db2, IMS, MQ folks...let's talk...
What makes SMP/E FIXCATs so fabulous?
FIXCATs are simply a grouped name of fixes that have something in common. But beyond that, you can run very simple and helpful reports that are tailored directly to your system, to see what you are missing. Because of this reporting capability, I can see in just a matter of minutes the entire positioning situation I'm in when I'm going to upgrade a software product. Do I need a PTF on CICS V5.4 when I run CICS V5.5 that I don't have on right now? I can see comprehensive information practically instantaneously. I could even automate the job to run nightly so it's ready for me to look at in the morning, should I wish to run it that often.
But, you used to give me the list of PTFs in a book...why don't you do that anymore? I like looking at the book, or even pulling them from a website, then comparing them to what I've already looked at, and finding which ones are newly added. I'm used to doing it that way.
I think you can guess why, and I think you can appreciate why that is hard to do. Those printed lists become quickly out of date, and I think we all can agree that incomplete information is totally unacceptable today, when a single missing PTF could mean the difference between an outage or full availability. Also, this is a time of doing more with less, and trying to look at a list and check if you are missing something is really not containable anymore.
How exactly do I run these reports?
It is a two step process, and both can be automated.
a. Retrieve the latest Enhanced HOLDDATA. You can get that many ways, but any SMP/E RECEIVE ORDER command will bring back Enhanced HOLDDATA. If you insist on getting it "manually", you can pull it here: http://service.software.ibm.com/holdata/390holddata.html (use FULL). Chances are, your friendly z/OS system programmer already does this daily, so as a subsystem programmer, you can most likely just ride with that.
b, Run this SMP/E JCL:
SET BDY(GLOBAL). /* Your subsystem CSI global */
REPORT MISSINGFIX ZONES(SSTGT) /* your subsystem "from" target zone */
FIXCAT(IBM.Coexistence.**). /* the FIXCAT from the list below you want, or wildcard to see many */
This is for comparing a subsystem product (like CICS V5.4) to another same subsystem product (like CICS V5.5), which is what the Coexistence name is for.
For comparing another product that will run on a subsystem (like Omegamon), use this JCL. for Target checking.
SET BDY(GLOBAL). /* Your program product global */
REPORT MISSINGFIX ZONES(PPTGT) /* your program product you will run "with" target zone */
FIXCAT(IBM.TargetSystem..**). /* the FIXCAT from the list below you want, or wildcard to see many */
Let me list all those Coexistence and Target FIXCAT categories, which are for subsystems, and which are incredibly helpful when verifying that both coexistence and cross-product IBM product PTFs are installed. Remember, wildcarding can be done and is incredibly powerful should you wish to verify several releases at one time.
FOR CICS:
IBM.Coexistence.CICS.V5R1 |
Fixes that allow prior releases of CICS TS to coexist with, and fallback from, CICS TS V5.1. |
IBM.Coexistence.CICS.V5R2 |
Fixes that allow prior releases of CICS TS to coexist with, and fallback from, CICS TS V5.2. |
IBM.Coexistence.CICS.V5R3 |
Fixes that allow prior releases of CICS TS to coexist with, and fallback from, CICS TS V5.3. |
IBM.Coexistence.CICS.V5R4 |
Fixes that allow prior releases of CICS TS to coexist with, and fallback from, CICS TS V5.4. |
IBM.Coexistence.CICS.V5R5 |
Fixes that allow prior releases of CICS TS to coexist with, and fallback from, CICS TS V5.5. |
IBM.TargetSystem-RequiredService.CICS.V4R2 |
Fixes required on other IBM products to allow them to run with CICS TS V4.2. |
IBM.TargetSystem-RequiredService.CICS.V5R1 |
Fixes required on other IBM products to allow them to run with CICS TS V5.1. |
IBM.TargetSystem-RequiredService.CICS.V5R2 |
Fixes required on other IBM products to allow them to run with CICS TS V5.2. |
IBM.TargetSystem-RequiredService.CICS.V5R3 |
Fixes required on other IBM products to allow them to run with CICS TS V5.3. |
IBM.TargetSystem-RequiredService.CICS.V5R4 |
Fixes required on other IBM products to allow them to run with CICS TS V5.4. |
IBM.TargetSystem-RequiredService.CICS.V5R5 |
Fixes required on other IBM products to allow them to run with CICS TS V5.5.
|
FOR Db2:
IBM.Migrate-Fallback.DB2.V9 |
Fixes that allow the prior release of DB2 to migrate to or fall back from DB2 V9. |
IBM.Migrate-Fallback.DB2.V10 |
Fixes that allow prior releases of DB2 to migrate to or fall back from DB2 V10. |
IBM.Migrate-Fallback.DB2.V11 |
Fixes that allow prior releases of DB2 to migrate to or fall back from DB2 for z/OS V11. |
IBM.Migrate-Fallback.DB2.V12 |
Fixes that allow DB2 for z/OS V11 to migrate to or fall back from DB2 for z/OS V12. |
IBM.ProductInstall-RequiredService |
Fixes that must be installed for an IBM product at the time the product is installed. |
IBM.TargetSystem-Exploitation.DB2.V12R1Mnnn |
Fixes required on other IBM products to allow them to exploit the new capabilities of DB2 for z/OS V12 function level "nnn". |
IBM.TargetSystem-RequiredService.DB2.V10 |
Fixes required on other IBM products to allow them to run with DB2 for z/OS V10. |
IBM.TargetSystem-RequiredService.DB2.V11 |
Fixes required on other IBM products to allow them to run with DB2 for z/OS V11. |
IBM.TargetSystem-RequiredService.DB2.V12R1Mnnn |
Fixes required on other IBM products to allow them to run with DB2 for z/OS V12 function level "nnn".
|
FOR IMS:
IBM.Coexistence.IMS.V10 |
Fixes that allow IMS V8 and V9 to coexist with, and fallback from, IMS V10. |
IBM.Coexistence.IMS.V11 |
Fixes that allow IMS V9 and V10 to coexist with, and fallback from, IMS V11. |
IBM.Coexistence.IMS.V12 |
Fixes that allow IMS V10 and V11 to coexist with, and fallback from, IMS V12. |
IBM.Coexistence.IMS.V13 |
Fixes that allow IMS V11 and V12 to coexist with, and fallback from, IMS V13. |
IBM.Coexistence.IMS.V14 |
Fixes that allow IMS V12 and V13 to coexist with, and fallback from, IMS V14. |
IBM.Coexistence.IMS.V15 |
Fixes that allow IMS V13 and V14 to coexist with, and fallback from, IMS V15.
|
IBM.TargetSystem-RequiredService.IMS.V10 |
Fixes required on other IBM products to allow them to run with IMS V10. |
IBM.TargetSystem-RequiredService.IMS.V11 |
Fixes required on other IBM products to allow them to run with IMS V11. |
IBM.TargetSystem-RequiredService.IMS.V12 |
Fixes required on other IBM products to allow them to run with IMS V12. |
IBM.TargetSystem-RequiredService.IMS.V13 |
Fixes required on other IBM products to allow them to run with IMS V13. |
IBM.TargetSystem-RequiredService.IMS.V14 |
Fixes required on other IBM products to allow them to run with IMS V14. |
IBM.TargetSystem-RequiredService.IMS.V15 |
Fixes required on other IBM products to allow them to run with IMS V15. |
FOR MQ:
IBM.Coexistence.MQ.V7R0M1 |
Fixes that allow WebSphere MQ for z/OS V6 to coexist with, and fallback from WebSphere MQ for z/OS V7.0.1. |
IBM.Coexistence.MQ.V7R1M0 |
Fixes that allow WebSphere MQ for z/OS V6 and WebSphere MQ for z/OS V7.0.1 to coexist with, and fallback from WebSphere MQ for z/OS V7.1. |
IBM.Coexistence.MQ.V8R0M0 |
Fixes that allow WebSphere MQ for z/OS V7.0.1 and WebSphere MQ for z/OS V7.1 to coexist with, and fallback from WebSphere MQ for z/OS V8.0. |
IBM.Coexistence.MQ.V9R0M0 |
Fixes that allow WebSphere MQ for z/OS V7.1 and WebSphere MQ for z/OS V8.0 to coexist with, and fallback from WebSphere MQ for z/OS V9.0. |
IBM.Coexistence.MQ.V9R1M0 |
Fixes that allow IBM MQ for z/OS V8.0 and IBM MQ for z/OS V9.0 to coexist with, and fallback from IBM MQ for z/OS V9.1. |
IBM.TargetSystem-RequiredService.MQ.V7R0M1 |
Fixes required on other IBM products to allow them to run with WebSphere MQ for z/OS V7.0.1. |
IBM.TargetSystem-RequiredService.MQ.V7R1M0 |
Fixes required on other IBM products to allow them to run with WebSphere MQ for z/OS V7.1. |
IBM.TargetSystem-RequiredService.MQ.V8R0M0 |
Fixes required on other IBM products to allow them to run with WebSphere MQ for z/OS V8.0. |
IBM.TargetSystem-RequiredService.MQ.V9R0M0 |
Fixes required on other IBM products to allow them to run with WebSphere MQ for z/OS V9.0. |
IBM.TargetSystem-RequiredService.MQ.V9R0Mn |
Fixes required on other products to allow them to run with IBM MQ for z/OS V9.0.n Continuous Delivery release. For example, category IBM.TargetSystem-RequiredService.MQ.V9R0M2 identifies fixes required on other products to allow them to run with IBM MQ for z/OS V9.0.2. |
IBM.TargetSystem-RequiredService.MQ.V9R1Mn |
Fixes required on other products to allow them to run with IBM MQ for z/OS V9.1.n Continuous Delivery release. For example, category IBM.TargetSystem-RequiredService.MQ.V9R1M2 identifies fixes required on other products to allow them to run with IBM MQ for z/OS V9.1.2. |
I would like to ensure that our whole platform is enjoying the efficiencies of FIXCATs, as they really deserved to be exploited at every level of our stack.