REXX Programming & Advanced REXX Programming (RX1015)

Request a Quote for this class

About this Course

This course will introduce students to the skills necessary to code REXX execs in z/OS environments. A series of written and lab exercises will be used to reinforce the classroom education.

Audience Profile

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

At Course Completion

Upon successful completion of this course, the student will be able 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 operations
  • Use such REXX programming constructs as:
    • IF statements
    • SELECT WHEN constructs
    • DO WHILE and iterative DO loop sequences
  • Debug REXX execs via the TRACE facility
  • Write user developed REXX subroutines and functions
  • 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 commands
  • Compile and linkedit REXX execs


  • 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.

Course Outline

1. Introduction to REXX

  • Definition
  • Dataset Organization
  • Methods of Execution

2. 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
  • Iterative DO Sequence
  • DO WHILE END Sequence
  • DO FOREVER Sequence
  • LEAVE Statement
  • ITERATE Statement
  • SIGNAL Statement
  • EXIT Statement

3. REXX Built-in Functions

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

4. Debugging REXX Execs

  • TRACE Statement
  • Interactive Tracing
  • Condition Traps

5. User Defined Subroutines and Functions

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

6. TSO/E Processing in REXX

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

7. Using ISPF Services in REXX

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

8. Parsing Data

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

9. File I/O

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

10. Data Stack Processing

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

11. ISPF Edit Macros

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

12. Batch REXX Execution

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

13. Supplemental Topics (as time permits)

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