In a mainframe IT organization, the systems programmer plays a central role which requires diverse set of technology skills.
A systems programmer maintains both hardware and software systems and resolves system problems. Responsibilities of the job include: installation and maintenance of the systems as well as technical consultation, services, and support to the organization.
A highly experienced systems programmer:
- develops operation procedures
- develops systems administration procedures
- develops application development procedures
- assists systems administration staff with issues involving operating system services
- assists development staff with issues involving operating system services
- provides on-call support for any escalated issue beyond the technical capability of other groups
The system programmer installs, customizes, and maintains the operating system, and also installs or upgrades products that run on the system.
The system programmer might be presented with the latest version of the operating system to upgrade the existing systems. A software tool exists to install z/OS and z/OS software products. This software tool tracks all modifications to z/OS and z/OS software products. This software tool is Systems Modification Program/Extended (SMP/E)
Use SMP/E to locate the modification level of a system module.
If you are a z/OS Systems Programmer, a responsibility includes debugging of a reported problem and providing corrective action. You isolated a problem that appears to be a defect in a specific IBM component. As a result, you contact IBM defect support to report the problem. IBM defect support works with you to drill deeper into the failing component. Ability to use SMP/E is critical to working with IBM to drill deeper into the failing component.
A systems programmer must have excellent understanding of SMP/E terminology and will as a result of repeated use of the SMP/E tool.
Overview of SMP/E Terminology
- Consolidate Software Inventory (CSI) - Data sets with information about installed software
- Global Zone - Information about software "received"
- Target Zone - Information about software "applied"
- Distribution Zone - Information about software "accepted"
Overview of SMP/E Software Installation and Maintenance Process
SYSMOD - System Modification
- FUNCTION SYSMOD - Entire operating system or product consisting of many components
- PTF SYSMOD - Fix for operating system component or product component
- PUT - Program Update Tape, a collection of PTF SYSMODs (fixes) routinely sent to keep software maintenance current
- RSU - Recommended Service Update, a collection of PTF SYSMODs (fixes) routinely sent to keep software maintenance current
- RECEIVE - Store SYSMODs in Global Zone data sets
- APPLY - Install SYSMODs into Target Zone data sets and Target Libraries
- ACCEPT - Install SYSMODs into Distribution Zone data sets and Distribution Libraries
- RESTORE - Backout Target Zone and Target Library SYSMODs from previous update in Distribution Zone and Distribution Libraries
While ISPF panels for SMP/E exist, this challenge will not use the panels. The challenge will use JCL to execute the SMP/E tool.
Situation - You isolated a problem in ICHRCP00. ICH is the 3 digit unique identifier for the 'RACF Base' component. You contact IBM defect support. IBM defect support wants you to provide the last date of maintanence applied to ICHRCP00 and the PTF name applied on that date to ICHRCP00.
The objective is to find the 4 digit target zone name. submit jcl(listzone) . The SMPLIST DDNAME output include ZONEINDEX values. The 4 character ZONEINDEX value associated with TARGET MVS.MVST.CSI in the output. The 4 character string is the target zone name.
The objective is to find the 'RACF Base' FUNCTION SYSMOD. Edit jcl(listfunc) , Replace 'target_zone_name' with the TARGET zone name that was obtained from Step 1, then submit . Find the RACF Base in the SMPLIST DDNAME output using f 'RACF Base' . The FMID name value associated with the RACF Base is what is needed from the job output.
The objective is to find the RACF Base component, ICHRCP00, in the target zone. Edit jcl(listfmid) . Replace 'target_zone_name' with the TARGET zone name that was obtained from Step 1 and replace 'fmid_name' from Step 2. , then submit . Review job output SMPLIST DDNAME. The output has multiple entries for ICHRCP00, one entry for each time maintenance was applied to ICHRCP00. You are interested only in the last maintenance applied. Search from the bottom of the output as follows:
- f 'ichrcp00' prev
- up 8
The latest maintenance activity applied to ICHRCP00 target library component contains 'TYPE = PTF' line. To the left of 'TYPE = PTF' is the PTF name that has a UA prefix followed by a number.
The objective is to confirm the PTF name associated the current maintenance applied to ICHRCP00. Edit jcl(listmod) . Replace 'target_zone_name' with the correct TARGET zone name. Replace 'module_name' with module ICHRCP00, then submit . Review the SMPLIST DDNAME output and locate the last PTF that updated ICHRCP00. The PTF name has the form UAxxxxx. The RMID value in the output is the PTF name.
The objective is to determine the date of the last maintenance applied to ICHRCP00. Edit jcl(listptf) . Replace 'target_zone_name' with the correct TARGET zone name. Replace 'PTF_name' with the PTF name found in Step 4, then submit . The output is written to CC#####.P3.OUTPUT(#11) and the output contains the date maintenance was applied to ICHRCP00.