z/OS REXX Programming

This 5 day class will introduce students to the skills necessary to code REXX execs in
z/OS and OS/390 environments.  The student will learn to:

  •  Create and allocate REXX libraries.
  • Invoke REXX execs and pass parameters to them.
  • Use REXX instructions to perform terminal I/O.
  • Perform arithmetic calculations and character
  • Use such REXX programming constructs as: IF statements, SELECT‑WHEN constructs and DO‑WHILE and iterative DO loop sequences.
  • Debug REXX execs via the TRACE facility.
  • Write user‑developed REXX subroutines and
  • Issue TSO commands from REXX execs.
  • Trap TSO command output and process the output
    in the REXX exec.
  • Use ISPF services in REXX execs.
  • Parse data using the PARSE statement.
  • Read and write sequential datasets.
  • Manipulate and access the REXX data stack.
  • Create REXX‑based ISPF edit macros.
  • Execute REXX execs in batch jobs.
  • Write REXX execs that interact with DB2.
  • Write REXX execs that issue MVS operator
  • Compile and linkedit REXX execs.

A series of written and lab exercises will be used to reinforce the classroom


Programmer, technical support personnel, and other individuals that need to write REXX execs.


  • Introduction to OS/390, Introduction to z/OS, or
    equivalent experience.
  • TSO/ISPF, or equivalent experience.
  • Previous experience in designing and coding
    application programs will enhance the results of this course.

Introduction to REXX

  • Definition
  • Dataset Organization
  • Methods of Execution

REXX Language Syntax

  • General Statement Syntax
  • Variables
  • Assignment Statement
  • Accessing the Terminal
    • SAY Statement
    • PULL Statement
    • ARG Statement
    • IF‑THEN‑ELSE Statement
    • SELECT‑WHEN Sequence
    • AIterative DO Sequence
    • DO‑WHILE‑END Sequence
    • DO‑UNTIL Sequence
    • DO FOREVER Sequence
    • LEAVE Statement
    • ITERATE Statement
    • SIGNAL Statement
    • EXIT Statement

REXX Built-in Functions

  • Information Functions
  • Character Functions
  • Word Functions
  • Data Functions

 Debugging REXX Execs

  • TRACE Statement
  • Interactive Tracing
  • Condition Traps

User‑defined Subroutines and Functions

  • Defining and Using Subroutines
  • Defining and Using Functions
  • Internal versus External Functions

TSO/E Processing in REXX

  • Using TSO Commands
  • TSO/E External Functions
    • SYSVAR( )
    • MVSVAR( )
    • MSG( )
    • PROMPT( )
    • SYSDSN( )
    • LISTDSI( )
    • OUTTRAP( )

Using ISPF Services in REXX

  • BROWSE / VIEW Services
  • EDIT Service
  • LIBDEF Service
  • DISPLAY Service
  • SETMSG Service
  • ADDRESS Statement
  • SUBCOM Command

Parsing Data

  • PARSE Statement
  • List Parsing
  • String Pattern Parsing
  • Positional Pattern Parsing

File I/O

  • Executing Programs in Execs
    • ALLOC Command
    • CALL Command
    • FREE Command
    • EXECIO Statement

Data Stack Processing

  • Definition
  • REXX Statements to Manipulate the Stack
  • Uses of the Stack in REXX Execs
  • TSO Commands That Use the Stack

ISPF Edit Macros

  • Overview
  • Edit Macro Commands
  • Using Edit Primary Commands
  • Using Edit Line Commands
  • Using Edit Macro Keyphrases
  • Using Edit Labels

Batch REXX Execution

  • Executing REXX Execs in TSO Background Jobs
  • Executing REXX Execs in Batch Jobs

Supplemental Topics (as time permits)

  • REXX Language Support in DB2
  • REXX Support for MVS Operator Commands
  • Compiling REXX Execs

To Hire a proven z/OS REXX Subject Matter Expert Consultant and Instructor that teaches this class, call 800-798-3901 today!

Leave a Reply