REXX Programming under TSO/ISPF

REXX is a powerful multi-purpose and user-friendly programming tool, used to exploit many IBM and third-party operational products. It is the tool of choice in most (if not all) of today's larger data centres for those who need to implement new operational procedures both quickly and effectively.

This three-day course is designed for TSO/ISPF users who wish to learn how to create and use programs in the REXX language. The course is taught combining formal classroom teaching with many practical exercises and problem scenarios, thus ensuring a full understanding of this powerful procedural language.

This course is also available in a four-day version, with additional challenging practical sessions and extended individual coaching. Bot versions of the course are available for exclusive, one-company presentations and for live presentation over the Internet, via the Virtual Classroom Environment service.

The next step

For those who wish to design and build ISPF panels using Dialog Manager, the course Creating & Customising ISPF Panels with Dialog Manager is recommended.

Virtual Classroom Environment dates - click to book!

UK Start Times

3 July 2024 7 August 2024 16 September 2024 4 November 2024

What is a 'Virtual Classroom Environment'?


What do I need?

  • webcam
  • headphones with microphone
  • sufficient bandwidth, at least 1.5 Mb/s in each direction.

What you will learn

On successful completion of this course you will be able to:

  • describe the concepts and structure of the REXX language environment
  • write and debug REXX programs executing in the TSO environment
  • use the tracing and debugging aids effectively
  • use the loop control and decision making instructions
  • identify and put into practice the most commonly used REXX built in functions
  • parse data strings
  • use TSO commands and functions within REXX EXECS
  • manage I/O using data stacks and stems
  • use sub-routines and functions.

Who Should Attend

Systems programmers, operations analysts, senior operators, operations support staff and application programmers who will be writing and/or maintaining TSO REXX programs.


An understanding of programming at a conceptual level and a good knowledge of TSO and its commands. A superficial knowledge of ISPF/PDF is insufficient for those who wish to gain full value from this course.


3 days

Fee (per attendee)

£1850 (ex VAT)


This includes free online 24/7 access to course notes.


Hard copy course notes are available on request from

at £50.00 plus carriage per set.

Course Code



Introduction to REXX

Executing REXX EXECs; elements of the REXX language: Clauses, Tokens, Labels, Assignments, Instructions and Commands; constant and variable symbols; Simple, Compound & Stem variable symbols; operators for concatenation, arithmetic, comparison & logical operations.
This segment introduces the terminology associated with REXX and shows how data fields are defined and initialised.

Tracing and Debugging

Using TRACE instruction for debugging; using immediate commands HI, HT, TS and TE; use of EXECUTIL; interpreting TRACE output.
This segment describes the tracing facilities available in REXX to enable more rapid problem determination.

Parsing Strings

Parsing variables and strings; basic parsing techniques; special templates; place holders, literal patterns and numeric patterns.
Explains how input from any source can be split into useable entities using various techniques.

Control Instructions

Decisions: IF, THEN, ELSE, SELECT, WHEN, OTHERWISE; creating and controlling loops: DO WHILE, UNTIL, FOREVER, LEAVE, ITERATE; introduction to sub-routines.
This segment describes the IF, THEN, ELSE logic used in REXX.

Sub-routines and Functions

Internal and external sub-routines; how to create internal and external functions; passing arguments and results to and from sub-routines and functions; CALL; RETURN; EXIT; PROCEDURE; RESULT.
This segment shows how to create subroutines and functions, and identifies the difference between them

REXX Built-in Functions

Introduction to REXX supplied built in functions; how to use the most useful ones: ARG, DATE, TIME, DATATYPE, LENGTH, POS, WORDS, LEFT, RIGHT, STRIP, SPACE, COPIES and WORD.
This segment explains the commonly used REXX built-in functions, and indicates their use in REXX programs.

Data Stack Management

LIFO and FIFO stacking; avoiding the stack; writing to the stack: PUSH and QUEUE; reading from the stack: PARSE PULL; creating and managing extensions to the stack: MAKEBUF, QBUF and DROPBUF; interrogating the stack: QUEUE, QELEM; creating and managing private stacks: NEWSTACK, DELSTACK and QSTACK.
This segment describes the stack mechanisms used by TSO and REXX.

Using TSO Commands & Functions

Using TSO commands and functions: SYSDSN, LISTDSI, MSG, OUTTRAP, PROMPT and SYSVAR; reading and writing datasets with EXECIO.
Shows how to invoke and use TSO commands from a REXX program.

What the students say

Very interesting and I can see how useful it will be when I return to work.

Mainframe Developer

Royal Bank of Scotland Group

© RSM Technology 2022