Abstract for TSO/E REXX Reference

This information supports z/OS® (5694–A01).

Purpose of this information

This information describes the z/OS TSO/E REXX Interpreter (hereafter referred to as the interpreter or language processor) and the REstructured eXtended eXecutor (called REXX) language. Together, the language processor and the REXX language are known as TSO/E REXX. TSO/E REXX is the implementation of SAA REXX on the MVS™ system. Although TSO/E provides support for REXX, you can run REXX programs (called REXX execs) in any MVS address space. That is, you can run a REXX exec in TSO/E and non-TSO/E address spaces.

Descriptions include the use and syntax of the language and explain how the language processor interprets the language as a program is running. The information also describes TSO/E external functions and REXX commands you can use in a REXX exec, programming services that let you interface with REXX and the language processor, and customizing services that let you customize REXX processing and how the language processor accesses and uses system services, such as storage and I/O requests.

Who should read this information

This information is intended for experienced programmers, particularly those who have used a block-structured, high-level language (for example, PL/I, Algol, or Pascal).

How to use this information

This information is a reference rather than a tutorial. It assumes you are already familiar with REXX programming concepts. The material in this information is arranged in topics:

  1. Introduction
  2. REXX general concepts
  3. Keyword instructions (in alphabetic order)
  4. Functions (in alphabetic order)
  5. Parsing (a method of dividing character strings, such as commands)
  6. Numbers and arithmetic
  7. Conditions and condition traps
  8. Using REXX in different address spaces
  9. Reserved keywords, special variables, and command names
  10. TSO/E REXX commands
  11. Debug aids
  12. TSO/E REXX programming services
  13. TSO/E REXX customizing services
  14. Language processor environments
  15. Initialization and termination routines
  16. Replaceable routines and exits

This introduction and REXX general concepts provide general information about the REXX programming language. The two topics provide an introduction to TSO/E REXX and describe the structure and syntax of the REXX language; the different types of clauses and instructions; the use of expressions, operators, assignments, and symbols; and issuing commands from a REXX program.

Other topics in the information provide reference information about the syntax of the keyword instructions and built-in functions in the REXX language, and the external functions TSO/E provides for REXX programming. The keyword instructions, built-in functions, and TSO/E external functions are described in Keyword instructions and Functions.

Other topics provide information to help you use the different features of REXX and debug any problems in your REXX programs. These include:

TSO/E provides several REXX commands you can use for REXX processing. The syntax of these commands is described in TSO/E REXX commands.

Although TSO/E provides support for the REXX language, you can run REXX execs in any MVS address space (TSO/E and non-TSO/E). Using REXX in different address spaces describes various aspects of using REXX in TSO/E and non-TSO/E address spaces and any restrictions.

In addition to REXX language support, TSO/E provides programming services you can use to interface with REXX and the language processor, and customizing services that let you customize REXX processing and how the language processor accesses and uses system services, such as I/O and storage. The programming services are described in TSO/E REXX programming services. The customizing services are introduced in TSO/E REXX customizing services and are described in more detail in the following topics:

Throughout the information, examples that include data set names are provided. When an example includes a data set name that is enclosed in single quotation marks, the prefix is added to the data set name. In the examples, the user ID is the prefix.