Home About Courses Schedule Services Webinars Contact Search

REXX Programming & Advanced REXX Programming


Duration: 5.0 days

Method: Instructor led, Hands-on workshops

Price: $2950.00

Course Code: RX1015


Programmers, technical support personnel, and other individuals needing to write REXX execs.


This course will teach students the skills necessary to write REXX execs in the z/OS environment. Students will learn to perform arithmetic and character operations, use conditional and looping constructs, call built-in and user-written functions, and issue TSO commands and process the command output. Students will also learn how to use REXX to read and write z/OS data sets, parse data values, utilize the data stack, and write ISPF Edit Macros. The debugging facilities in REXX will be discussed, along with the process of executing REXX programs via batch jobs.


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.


  • I. Introduction to REXX
    • Definition
    • Dataset Organization
    • Methods of Execution
  • II. 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 UNTIL Sequence
    • DO FOREVER Sequence
    • LEAVE Statement
    • ITERATE Statement
    • SIGNAL Statement
    • EXIT Statement
  • III. REXX Built-in Functions
    • Information Functions
    • Character Functions
    • Word Functions
    • Data Functions
  • IV. Debugging REXX Execs
    • TRACE Statement
    • Interactive Tracing
    • Condition Traps
  • V. User Defined Subroutines and Functions
    • Defining and Using Subroutines
    • Defining and Using Functions
    • Internal versus External Functions
  • VI. TSO/E Processing in REXX
    • Using TSO Commands
    • TSO/E External Functions
      • SYSVAR( )
      • MVSVAR( )
      • SG( )
      • PROMPT( )
      • SYSDSN( )
      • LISTDSI( )
      • OUTTRAP( )
  • VII. Using ISPF Services in REXX
    • BROWSE / VIEW Services
    • EDIT Service
    • LIBDEF Service
    • DISPLAY Service
    • SETMSG Service
    • ADDRESS Statement
    • SUBCOM Command
  • VIII. Parsing Data
    • PARSE Statement
    • List Parsing
    • String Pattern Parsing
    • Positional Pattern Parsing
  • IX. File I/O
    • Executing Programs in Execs
      • ALLOC Command
      • CALL Command
      • FREE Command
    • EXECIO Statement
  • X. Data Stack Processing
    • Definition
    • REXX Statements to Manipulate the Stack
    • Uses of the Stack in REXX Execs
    • TSO Commands That Use the Stack
  • XI. ISPF Edit Macros
    • Overview
    • Edit Macro Commands
    • Using Edit Primary Commands
    • Using Edit Line Commands
    • Using Edit Macro Keyphrases
    • Using Edit Labels
  • XII. Batch REXX Execution
    • Executing REXX Execs in TSO Background Jobs
    • Executing REXX Execs in Batch Jobs
  • XIII. Supplemental Topics (as time permits)
    • REXX Language Support in Db2
    • REXX Support for MVS Operator Commands
    • Compiling REXX Execs