Learning and using z/OS creatively
Part Three - Challenge #15

The Final Challenge!

Good Luck! Remember, Part 3 is not a race. You have until December 31.

You will learn what the new to z/OS technicians frequently take several years to figure out.

Why? It is common to underestimate the value of carefully reading 'Introduction' sections of technical documentation.

The ability to read and interpret messages is an important skill within any operating system environment.

z/OS messages follow a format which enables an experienced technician to quickly identify what software component wrote the message and why the software component wrote the message.

Messages provide the ability to quickly assess the status of the operating system, optional software products and business applications.

Storyline - The role you are now playing is a role of an experienced z/OS technician. Your assignment as an experienced z/OS technician is to help a newbie become familiar with the z/OS environment. How you are going to assist a newbie become familiar with z/OS is by creating customized reports that read and format SYSLOG messages.

You are among a small fraction of the enrolled contestants completing the last challenge with hopes of being in the winner circle or in the honorable mention circle. It is possible for several contestants to be tied going into the final challenge. Therefore, your creativity applied to the final challenge is used to break ties, determine the winners, and determine who is in the honorable mention circle.

The final challenge has no correct or incorrect answer.

The final challenge is a matter of exercising technical creativity to distinguish your ideas and work from the other contestants. You are given a few ideas with sample Rexx code as the basis for applying creativity.


Quality can win over quantity
  • Final challenge creativity is a matter of quality over quantity
  • Achieving quality can take a lot of work and be the result trimming quantity to what you feel is best

Challenge Situation

The challenge is for you to enhance a system utility which generates point-in-time system activity reports. The system utility uses REXX and the SDSF interfaces to generate reports. Consider all SDSF Menu selections as the SDSF interfaces.

You already created 2 reports -

  1. Challenge 13 reported on the relationship between real memory, cpu consumption, and number of active workloads
  2. Challenge 14 reported on all occurrences of a specific string found in the system log (SYSLOG)

Challenge Description

Reports can be from any of the SDSF interfaces.

At least 1 report you write must demonstrate ability to parse SYSLOG records.

A report on all occurrences of a message ID is provided as a guide for additional reports demonstrating your ability to parse SYSLOG records and your knowledge of z/OS messages in the SYSLOG.

Familiarity with z/OS Message Format is needed to demonstrate you ability to parse SYSLOG records and create a report. A review of Chapter 1. Introduction in the z/OS Messages and Codes professional manual is a description of the z/OS Message Format and the records found in the SYSLOG.

When reviewing Chapter 1. Introduction, skip the information about Routing codes. The contest system is NOT a production environment with all the functional areas normally found in a large production environment. Therefore, the Routing codes are meaningless in the contest z/OS.

If you are in an interview for a z/OS technical position and you explain what you learned and accomplished in the final challenge, the person interviewing you will be impressed - assuming they know something about z/OS.


Start the Final Challenge

Submit JCL job to allocate needed Part 3 partitioned data sets with sample REXX code.

  • tso submit 'zos.public.jcl(p3ch15)'

JCL p3ch15 did the following:

  1. Deleted data sets ch15.clist and ch15.output (if they existed)
      Submitting the JCL a second time will wipe out previous challenge 15 work
      - to be used to start over
  2. Allocated new data sets -
    ch15.clist containing REXX templates to be used to complete the challenge
    ch15.output is the report output data set for all challenge 15 reports
  3. Wrote a timestamp into p3.output(#15)
      The timestamp does NOT influence winner selection
      The timestamp is only to inform judges that you did begin the final challenge
  4. Created member REXXJCL in your JCL partitioned data set
      Used to execute new REXX code to avoid tying up your workstation during execution

System Activity Utility

REXX template code is available as a guide to complete challenge 15.

From ISPF Command Shell panel =6 try the following:
  1. Enter ex ch15(get)
  2. Enter 1 to select 'Report specific message identifier found in SYSLOG'
  3. When prompted to enter message id, enter ich408i
  4. The SYSLOG records are read looking for all records related to z/OS message id ich408i
  5. All ich408i related SYSLOG records are written to the display
  6. All ich408i related SYSLOG records are written to ch15.output(msgid)

z/OS Message Format
Message sent to hardcopy log in JES2 system

MVS System Message - Volume 1 - Chapter 1. Introduction

Format of the message body

Message Directory

ICH408I message is issued when RACF, IBM z/OS Security product, detects an unauthorized request (a violation) made by a user or job. The user and group that is indicated in the first line of the ICH408I message are the execution user ID and group ID under which the job was to run.

Judging criteria of final challenge

Your ch15(get) will be executed to view the various reports.

The final challenge has no correct or incorrect answer.

The final challenge is a matter of exercising technical creativity to distinguish your ideas and work from the other contestants. You are given a few ideas with sample Rexx code as the basis for applying creativity.

You have the freedom to do what you want. The judges are looking for technical acumen applied to z/OS. Impress the judges with your best reports that show your acquired z/OS knowledge. The REXX code template provided is a good start. You are not required to use the REXX code template. If you choose to not use the REXX code templates, then execution of ch15(get) needs to guide the judges what action must be taken to review your work.

Next: Completing Part 3