Systems Programming (SMP/E)
Part Three - Challenge #12

Background:

In a mainframe IT organization, the systems programmer plays a central role with a diverse set of technical skills.

A systems programmer is responsible for maintaining a fully operational environment and resolving problems quickly. Responsibilities of the job include technical services, support, and consultation to the entire IT organization. The system programmer installs, customizes, and maintains the operating system, and installs or upgrades other software products that run on the system.

A highly experienced systems programmer:

  • develops operational 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

A software tool exists to install z/OS and z/OS software products. The software tool tracks all modifications to z/OS and z/OS software products. The software tool is Systems Modification Program/Extended (SMP/E)

When an operating system problem is encountered and the failing component appears to be an IBM owned component, the Systems Programmer contacts IBM with the error messages. IBM will request information about the maintenance level applied to various components of the operating system. SMP/E is used to quickly answer those questions. An understanding of SMP/E is required to work with IBM to resolve problems.

SMP/E is a repository of details about the highly advanced IBM Z flagship operating system, z/OS, and the IBM products added to the z/OS environment, such as DB2 and COBOL.

Learning SMP/E is an exercise in comprehending terminology. The specialized SMP/E skill is expected of any z/OS Systems Programmer position.

z/OS system might appear to be one large block of code. Actually, z/OS is a complex system comprising of many different smaller blocks of code. Each of those smaller blocks of code perform a specific function within the system.

Each system function is composed of one or more load modules. In a z/OS environment, a load module represents the basic unit of machine-readable, executable code.

The following terminology will be referred to in the challenge. You are not expected to memorize any of the terminology. Awareness of the terminology puts you on the learning path to be a skilled Systems Programmer.

Overview of SMP/E Terminology

  • LMOD
      SMP/E terminology for load module
      Load modules are created by combining one or more object modules and processing them with a link-edit utility
  • MOD
      SMP/E terminology for an object module used to create a load module, LMOD
    LMOD can consist of one or many MODs
  • MAC
      Macro source code
      While MODs are shipped as object modules, in some cases a MOD is required to be assembled by SMP/E
      because a z/OS distributed MAC, macro, source code changed
      These building blocks, MAC, MOD, LMOD, are called elements by SMP/E.
      A change to an element is a system modification and called SYSMOD by SMP/E
      Note: Other SMP/E elements exist, but understanding MAC, MOD, and LMOD will make learning about the other SMP/E elements pretty easy.
      The challenge is limited to SMP/E elements, MAC, MOD, and LMOD
  • CSI
      Consolidated Software Inventory
      A related group of SMP/E data sets with information about the elements
  • RECEIVE
      SMP/E command to read SYSMODs into SMP/E CSI data sets
    Global Zone stores information about software "received"
  • APPLY
      SMP/E command to update SMP/E CSI data sets with SYSMODs previously received
    Target Zone stores information about software "applied"
    Target Libraries stores the software used by running system
  • ACCEPT
      SMP/E command to update SMP/E CSI data sets accepting SYSMODs as permanent
    Distribution Zone store information about software "accepted"
    Distribution Libraries stores the initial installation software and "accepted" software used in the event a backout ("restore") is necessary
  • RESTORE
      SMP/E command to update SMP/E CSI data sets backing out previously applied SYSMOD


  • FUNCTION SYSMOD
      Entire operating system or product consisting of many components
    FMID unique 7 digit alphanumeric value used to identify various FUNCTION SYSMODs
      FMID - Function Management IDentifier, example HBB77A0
  • PTF SYSMOD
      Fix for operating system component or product component
    RMID unique 7 digit alphanumeric value is used to identify various PTF SYSMODs
      RMID - Replacement Management IDentifier, example UA12345
  • APAR SYSMOD
      Fix for operating system component or product component (NOT FULLY TESTED)
    RMID unique 7 digit alphanumeric value is used to identify various APAR SYSMODs
      RMID - Replacement Management IDentifier, example OA12345
  • USERMOD
      Customer modification to the z/OS environment such as local system exit
  • PUT
      Program Update Tape
      Collection of PTF SYSMODs(fixes) routinely published to keep software maintenance current
  • RSU
      Recommended Service Update
      Collection of PTF SYSMODs (fixes) routinely published to keep software maintenance current

The challenge uses ISPF print screen. Therefore, you need to modify your ISPF defaults as follows:

From Log/List drop down, select 2 - List Data set defaults

Select 4 to Keep data set and allocate new data set

From Log/List drop down, select 3 - List Data set characteristics

Select 1 - Record Format FBA, then Logical record length 80 and Line length 80

Challenge:

SMP/E panels will be used to retrieve information about an active system module.

The 2016 Master the Mainframe Contest SMP/E challenge used JCL only to locate information about an active system module. 2017 challenge will use interactive panels only. The point is that either JCL or panels can be used to interact with the SMP/E Consolidated Software Inventory, CSI, environment.

Challenge situation - a system problem just came to your attention

A system element, BPXFSMKN, was involved with a reported system issue. You need to find out more about BPXFSMKN. The challenge is to use the SMP/E Dialog Panels to learn more information about this element.

The challenge does NOT provide any screen shots. Follow the instructions below to complete the challenge.

  1. Enter SM from ISPF Primary Option Menu to display the SMP/E Dialog Panels
      F3, exit, the initial tutorial
  2. Tab to SMPCSI DATA SET field, type 'MVS.GLOBAL.CSI', tab back to top command input, enter 3 (Query)
      IEC331I and IEC251I messages can be ignored
      Reason for messages are the CSI data sets are READ ONLY
  3. Enter 1 (CSI Query)
      If you want to learn a lot more about SMP/E, F1 (Help) on this panel
  4. Information for the CSI Query panel follows:
      MVST is the ZONE NAME
      You do not have information on the ENTRY TYPE - leave it blank
      BPXFSMKN is the ENTRY NAME
  5. CSI QUERY - SELECT TYPE panel display the found ENTRY TYPE
      Select s the ENTRY TYPE
  6. CSI QUERY panel displayed the found ENTRY TYPE
    RMID name is visible in the display
    LMOD name is visible in the display
      You need RMID and LMOD names to complete the challenge
      F3 twice will return to CSI QUERY panel
  7. From CSI QUERY panel:
    MVST is ZONE NAME
    SYSMOD is ENTRY TYPE
      Type the RMID name in the ENTRY NAME field, then enter
      Observe -
        Type of SYSMOD is PTF
        Date/Time maintenance was applied to the element
      Enter print to print screen to data set
      F3 to CSI QUERY panel
  8. From CSI QUERY panel:
    MVST is ZONE NAME
    LMOD is ENTRY TYPE
      Type the LMOD name in the ENTRY NAME field, then enter
      Observe location of LMOD is LINKLIB (which is SYS1.LINKLIB)
  9. Enter L on the command line to display link-edit data
      Observe module has numberous alias names
      Enter print to print screen to data set
  10. Enter =x to return to ISPF Primary Option Menu
      Enter x to exit ISPF session
    Note message - hlq.S0W1.SPF#.LIST has been kept. - where # is a system selected number
  11. Enter ispf
      Enter 3.4
      Enter hlq.S0W1.SPF#.LIST in the Dsname level field
  12. Edit hlq.S0W1.SPF#.LIST
      type c999 on line 1 and enter create p3.output(#12)

You just completed the challenge. Feel free to browse P3.OUTPUT(#12) for the print screens.

Next: Challenge #13