Part Three - Challenge #14


  Rexx Programmers Reference

What is Rexx?

Rexx is a very underrated programming language; elegant in design, simple syntax, easy to learn, use and maintain, yet as powerful as any other scripting language available today.

Rexx is available for every OS.

If you find yourself supporting a large enterprise z/OS in the future, you will encounter Rexx routines used to automate many tasks. Those encountering Rexx quickly appreciate the above first statement. However, z/OS Rexx is more than a scripting language with all the benefits of any scripting language. z/OS Rexx can be compiled into machine code for high performance. Compiled z/OS Rexx is used to build business applications and z/OS software products.

Many thousands of IDs, security permissions, data sets, and unix directories are required for the contest. A Rexx routine is used to build the thousands of IDs, security permissions, data sets, and unix directories. A Rexx routine makes it possible to complete these tasks very quickly.

The following is valid Rexx code:
/* Rexx */
say 'hello world'

Rexx has a small number of language keywords and significantly larger number of built-in functions.

Rexx execution is flexible-

  • ISPF direct execution
  • TSO Ready prompt direct execution
  • Unix shell prompt direct execution
  • JCL execution
  • Any program language can execute compiled Rexx

Information needed to complete the challenge

The challenge involves reading and interpreting Rexx code.

The Rexx code supports 4 types of statements

  1. Functions
  2. Instructions
  3. Built-in functions provided by the specific processing facility
    See Chapters 3 and 4
  4. Commands available to the specific processing facility
    See Chapter 10

Rexx functions and instructions are available to all operating systems.

z/OS TSO/E is the specific processing facility in the challenge. All z/OS TSO/E commands are available to Rexx. The suggested Chapter 10 source of information above does not cover all the z/OS TSO/E commands. Chapter 10 only covers TSO/E commands created specifically for Rexx, such as EXECIO which is in the challenge Rexx code.

Sources of information for additional Rexx programming constructs used in the challenge code

  1. Basic Syntax
  2. Strings
  3. Arrays

There are many excellent internet sources of information for Rexx such as
from a small company in UK and Introductory Rexx Tutorial


Get Rexx code
  1. Edit z######.source
  2. Select empty member name slots - s slots
  3. Copy code into empty member - copy 'zos.mtm2018.public.source(slots)'
  4. F3 key to end, save, and return to z#####.source directory of members

Execute, debug, correct Rexx code, and complete the challenge

While in z#####.source directory list
  Enter ex to left of member name slots to execute the Rexx code.
  Observe Rexx syntax error. The error message provides the line number.

Edit member slots, correct the Rexx function syntax error, and F3 to save changes.

  Enter ex to left of member name slots to execute the Rexx code.
  If the first syntax issue is resolved, then observe a fruit color fails to show in the middle window.

Edit member slots, correct the syntax problem enabling fruit color to appear in middle window, and F3.

  Enter ex to left of member name slots to execute the Rexx code.
  Follow the instructions.

Once you win, you will be instructed to read the slots Rexx code to complete the challenge successfully.

You possess significant z/OS experience by completing these part 3 challenges. Completing the last challenge places your in contention for the winner circle or the honorable mention circle. These are prestigious positions in the Part 3 Wall of Fame drawing the attention of employers.

Next: Challenge #15