REXX Training Services

Computer Education Professionals

REXX Training Services

Submit REXX Questions

Contact You

SYS-ED/M - Mobile Devices

REXX Training Services Advanced search

Knowledge Base


Web Browser Viewing - MS Edge

REXX Language Programming

z/OS Mainframe and Alternative Operating Environments
REXX Language REXX and IBM Corporation Language Comparison: IBM REXX and CLIST
Multiplatform and Open Source REXX REXX Training by SYS-ED Distance-learning Service
Specialized REXX Training CLIST Programming Mainframe Training Programs

Programming Languages


Courseware for Teaching - REXX and Mainframe Training Services
Courseware for Teaching
Cloud Programming
Open Source Software GSA Submission Sitemap

REXX, TSO/ISPF, z/VM, and z/OS are registered trademarks of IBM Corporation.
REXXTools is a registered trademark of Open Software Technologies, Inc.
IBM is rebranding DB2 to Db2 and MQSeries to IBM MQ.


Enhancements and Extensions to REXX Base Functionality

REXX Language

REXX: REstructured eXtended eXecutor is a structured high-level interpreted programming language developed at IBM Corporation. REXX programs tend to be shorter and easier to follow than programs written in legacy mainframe programming languages. The popularity and utilization of REXX is based upon strong parsing, high level simplicity, and interpretive support. The interpreter offers source-level interactive debugging capabilities and facilitates a streamlined development cycle. The REXX architecture works well with interacting with TSO and ISPF, Dialog Manager Services and system services, as well as other add-ons to be used. REXX serves as a macro and scripting language with a variety of editors: ISPF Editor, Xedit, Kedit, uni-XEDIT, and S/EDIT and software products: QMF and SAS using SAS MACRO under CMS. REXX has interfaces for graphical user interfaces and web servers which allow the development of system and user applications. Microsoft Windows and UNIX platforms support REXX. Free operating system specific downloads of REXX are available for MS Windows, Linux, UNIX, BSD, Macintosh and VSE operating systems. In spite of its wide availability, REXX primary utilization is in the IBM z/OS and z/VM mainframe environments.

REXX and IBM Corporation

In the early 1980’s with IBM mainframe computers, operating systems, and system software emerging as the foundation infrastructure for Fortune 1000 companies, government municipalities, and healthcare facilities, REXX scripts were coded for processing data and text and report generation. In the IBM mainframe environments, REXX emerged as a front end consolidator for input/output and interactive online editing and processing of data from 3270 terminals.

Host Commands Character Manipulation Parsing - Specialized
TSO or Batch Invocation Debugging Built-in Interactive - Dialog Manager

IBM CICS Transaction Server IBM Db2 Relational Database REXXTools - Open Software Technologies

REXX applications were written to parse, check, and format different text and datatypes which were then extended with Dialog Manager. REXX was incorporated into IBM’s SAA: System Application Architecture and has continued to be included as a standard component in its operating systems. REXX has interfaces to CICS and Db2. IBM made versions of REXX available for Novell NetWare, Windows, Java, and Linux. REXX compilers are available for use on IBM mainframes.

Language Comparison: IBM REXX and CLIST

REXX can process a greater variety of data than the CLIST language; this includes numbers, characters, decimals, hexadecimal strings, and exponents, without the need of built-in functions. This provides flexibility and reduces chances for errors. A CLIST is dependent on TSO/E. TSO/E REXX has the capability to invoke commands from several environments in batch and ISPF under the IBM z/OS operating system. The ADDRESS instruction sets the environment for commands.

REXX variable names can be in any case and have a default value of uppercase variable name. In contrast, CLIST symbolic variables initially have a null value. Many CLIST sequences require the use of double-ampersand variables, which go through multiple several levels of symbolic substitution. Double-ampersand variables are useful for building arrays. The dynamic creation of statements with the INTERPRET instruction is used with nested symbolic substitution. All other REXX instructions have one level of scanning. A value can be assigned dynamically to allocated arrays and all related variables. These arrays can have a subscript - tail that uses either letters or numbers.

REXX offers more controlled branching and has more flow - control structures than CLIST. The CLIST interpreter uses two phases to process a CLIST; execution occurs during the second phase. The REXX interpreter interprets the entire EXEC in a single phase; this is more efficient. REXX has far more built-in functions than CLISTs. These additional functions include string manipulation, bit operations, datatype conversion, utilities, and date/time operations. REXX also makes it far easier to parse strings.

REXX operators are identified to client operators; the REXX operators do not have character equivalents of relational operations. REXX has strict relational operators for character-by-character comparison of two character strings and boolean operators for certain types of data. Additional concatenation and mathematical operators also exist in REXX.

A major difference between REXX and CLIST languages is in their stack structure and operations. The REXX stack retains user input until processed. The MAKEBUF command sets up a reserved buffer area. The interpreter creates two markers for the buffer boundaries and places new elements on top of the buffer. The buffer can be manipulated and queried through REXX instructions and CMS commands. If an error occurs, the program abnormally ends and the stack clears.

CLIST uses a less rigorous enforcement of structured programming concepts. The CLIST language includes a GOTO statement allowing a CLIST to enter the middle of a DO loop or exit the DO loop before normal completion. CLIST statements are less flexible than REXX instructions. Except for built-in function names, they always are in uppercase, whereas REXX instructions can use any case.

Multiplatform and Open Source REXX

In 1996 ANSI: American National Standards Institute published the ANSI X3.274 -1996 “Information Technology - Programming Language REXX”. In 2004, IBM released the source code for Object REXX under the Common Public License. Object REXX is a superset of the REXX language and supports object-oriented programming: messaging, classes, objects, single and multiple inheritance, data hiding and encapsulation, polymorphism and operator overloading and a large class library. REXX programs can run under Object REXX without alteration. Object REXX contains a WSH scripting engine for developing REXX application with the MS Windows operating system. The installation of a command-line REXX interpreter provides the capability to run ooRexxScript programs from the command-line with the CScript command by invoking the Windows Scripting Host.

NetRexx is a Java-compatible REXX-like language which coexists interchangeably with Java code and runs under the JVM: Java Virtual Machine. NetRexx is used to develop classes for use by Java programs. Applications, applets, servlets, and beans can be developed with NexRexx and then used with Java components. A benefit associated with NetRexx is the generation of fully commented Java code. NetRexx compiles to Java byte-code using Java source code; there are no reserved keywords and it uses the Java object model. It is not upwards-compatible with standard REXX.

Microsoft Resource Development Kits provided a REXX interpreter for the Windows command-line. Portable REXX by Kilowatt and Personal REXX by Quercus are MS-DOS REXX interpreters designed for MS-DOS which also can be run under using a command prompt on MS Windows.

REXX scripts and macros can be developed using an open source, database-independent interface; this promotes script portability. The REXX/SQL product provides database independence for issuing DML, DCL, and DDL SQL statements from within REXX scripts. REXX/SQL scripts can be redirected from one database target to another such as converting from Oracle to Db2. This will be useful for organization’s that support more than one database product and there is a requirement for consistent access to data. REXX/SQL supports the major databases and runs under the major operating systems: Linux, UNIX, and MS Windows. REXX/SQL product supports the standard database featureset: 1- Issuing DML, DCL, and DDL statements, transaction control with COMMITs and ROLLBACKs 2- Concurrent database connections, cursors, and auto-commit 3- Dynamic statement preparation and bind variables 4- SQL control structures 5- Retrieval and setting of database interface behaviors.

REXX Training by SYS-ED

SYS-ED staff and CETi technology partners coded first generation REXX, CLIST, and Dialog Manager programs. Our REXX training service draws upon this skillset and multidisciplinary experience in IBM mainframe system software to train information technology personnel to develop and repurpose REXX programs, and scripts in the private sector: 1- banking and finance 2- energy and exploration companies 3- telecommunications companies 4- software companies.

Over the past quarter century, we have provided industry standard REXX training and tailored courses which provide data and information technology personnel with the knowledge and foundation skills to:

  • Create an online directory of users and programmers containing contact information and using VSAM as the data source.

  • Search KSDS datasets for a specific string that is not in the VSAM index.

  • Parse research data that is transferred from the mainframe to the MS Windows environment.

  • Run online JCL validation programs to assure that the JCL meets the standards of the shop.

  • Execute Db2 DDL to create objects that effectively clones one system to another.

  • Utilize REXX in combination with Dialog Manager Services to develop data entry systems with full data validation and checking.

Performance Objectives

SYS-ED REXX courses teach:

  • The new facilities for hybrid operating environments with different API’s and user interfaces.
  • How to capture and store system information and create a database which can be manipulated and managed.
  • How to access services on the system to code full screen data entry screens; historically this has been done with Dialog Manager.
  • How Db2 can be accessed from REXX to run queries and update tables.
  • How to use REXX for creating CGI programs that access z/OS based resources for web browser based users.
  • How to create REXX execs which can execute on any platform or REXX implementation.

SYS-ED specialized training provides identifies these differences with examples and provides guidelines for transitioning from CLIST to REXX.


SYS-ED's REXX courseware includes subject matter and techniques for designing, coding, and debugging REXX code, inclusive of performance optimization. The principles of adult learning are applied to the content, interpreting and translating subject matter into narrative descriptions and diagrams which explain the design, program logic, and underlying architecture.

REXX Program Structure

The collective work of programmers and subject matter experts are managed by editors with a multidisciplinary expertise in information technology, textbook authoring, and degrees in management and business administration.

IBM's information agenda is built on its proprietary operating systems and system software. Its foundation is to simplify, collaborate, reuse, and standardize. SYS-ED's REXX and mainframe course offerings, training programs, and software specific websites have been designed to add value-added service to this strategy.

1- Delivery of content through multiple delivery medium as part of a collaborative environment for integrating data at a business level.

2- Student handouts, reference guides, and validation assessment for training human resources that leverage existing investments in software infrastructure.

3- Application development accelerators in the form of industry and client-specific training aids, examples, skeleton programs, and case studies.

4- Support services in the form of technology updates, knowledge base, answers to questions, and tailored documentation in hybrid and interrelated information technology.

Few consulting or training companies have the experience and library of REXX stepwise teaching examples and sample programs that we do. And truth be told when it comes to addressing challenging consultancy level REXX training assignments, IBM has called upon SYS-ED systems consultants for our specialized expertise and presentation skills.

Upon completion of a SYS-ED instructor-led course at the client location, subject matter is organized for future use in a web-based training infrastructure.

Distance-learning Service

SYS-ED offers REXX training in a web-based learning format. A distance-learning course is lecture, student handout, review questions, examples, training aids, workshops, and website support services.

Distance-learning Service

Enrollment requires a consultation with the manager enrolling the employee for the training. The prospective trainee needs to be qualified for the course and service transmission to the client location tested: bandwidth, firewall, base operating system, software requirements, web browser, and setup of machine exercises.

SYS-ED reserves the right to deny enrollment in its courses.

SYS-ED's courseware library consists of examples, sample programs, industry-specific exercises, and training aids. The Computer Education Techniques knowledge base researches the accuracy of information in the public domain. Content selectively is added to student handouts.

SYS-ED's long term strategy is to have mainframe courseware recognized as a NRV: Nationally Recognized Vendor curriculum.

Private Training - Mainframe Training Services
REXX Language and Scripting 1
CLISTs and Dialog Manager
IBM Mainframe Programming Skills
Mainframe Utilities

CICS Transaction Server Programming
Db2 Application Programming
Distance-learning - Machine Exercises Mainframe Training Service 
Private Mainframe Training Teaching Models: Return on Investment Distance-learning

Grow Your Own REXX Programmers

There have been inquiries whether SYS-ED still offered REXX training for IT professionals.

The typical comments were that:


It is difficult to find REXX courses which develops the skills needed for maintaining and updating REXX programs.


There is a scarcity of REXX courses geared to Fortune 1000 corporations employees and their specific work environments.


A high percentage of REXX courses are cancelled.


Travel costs and living expenses are a significant constraint when it comes to attending a REXX course.


It is important to have a resource for asking REXX questions after the training.

In response to these questions:

REXX Training Services Yes, SYS-ED offer multiple levels of REXX training: 3-day z/OS REXX Scripting and 2-day z/OS REXX Scripting: Advanced.
REXX Training Services Yes, SYS-ED teaches the REXX programming language; we offer integrated REXX training programs with CLISTs and Dialog Manager, and tailored courses - REXX, ISPF Dialogs, Edit Macros, and LibMaint.
REXX Training Services Yes, we have the flexibility to conduct personalized training.
REXX Training Services REXX courses are available in multiple formats: distance-learning, blended web-based delivery, and classroom.
REXX Training Services Upon completion of a SYS-ED course, our staff is available to answer REXX questions.

SYS-ED has been conducting courses in the public domain since 1980; however, there have been changes in the laws and regulations governing computer training in the state of New York. The schedule on our websites reflects a projected time frame for licensure with the New York State Department of Education - Bureau of Proprietary School Supervision and submission and approval of curriculum.

REXX Training

Information technology personnel will need to maintain and update existing REXX, CLISTs, and Dialog Manager program.

Web-based Training Services

Portfolio of Clients

REXX Training Services

Instructor Training - NYS ED BPSS Standards
Web-based Training Services REXX Language New York State Department
of Education Standards
Mainframe Environments

Program for Client A:

  • Distance-learning will be used for OOPs and XML and fundamentals.
  • SYS-ED will be REXX Scripting, REXX Scripting: Advanced, CLISTs, and Dialog Manager courses.
  • A combination of IBM and SYS-ED courses offerings will be used for z/OS operator training.

The classroom instruction will have a distance-learning extension affording staff in remote locations to also have the training.

Specialized REXX Training

REXX interacts with a number of IBM mainframe products. This allows for the creation of editor macros, Db2 administration scripts, coding interactive programs, and running a group of commands. Information can be in the job queue.


REXX implementations come with defined application programming interfaces to allow applications written in other languages to communicate with REXX programs. The REXX programming language allows applications to be written for any software which supports the interface. REXX can communicate with any language which implements the required interfaces and serve as the macro language used by all such applications. A single language can be used to write procedures which control a number of applications.

IBM TSO: Time Sharing Option is a component of the z/OS operating system for handling each TSO user as a unique address space for running programs. IBM ISPF: Interactive System Productivity Facility is used for the development of applications to access and execute from terminals. ISPF was combined with PDF into a single product: ISPF/PDF: Program Development Facility. It provides for menus and panels that interact with the z/OS operating system and dataset management. Most ISPF panels have an area for entering: ISPF, PDF, and TSO commands. PDF primary commands provide functions specific to ISPF options. Member list screens have standard commands. ISPF offers a consistent interface; dialogs can be developed with REXX or compiled programs for portability. User or dialog generated variables and table values can be saved for future dialog sessions.

SDSF screens and commands are kept in libraries and are interpreted at execution time. Since their libraries differ, operators and general users often have slightly different sets of screens, and operators have a much richer set of commands. Operator authority is established by system programmers in the TSO Profile, and in the ISFPARMS module and its macros. ISPF dialog manager provides services to dialogs and controls the interaction of the dialog's elements.

REXX scripts are used to manipulate Db2 data and IBM’s REXX-to-Db2 interfaces provide an extended featureset. REXX scripts can issue Db2 commands through a direct interface to the Db2 CLP: command-line processor. There also is a Db2 Administrative API for developing REXX scripts that manage and control Db2 database backups and recoveries and issuing Db2 commands, and database management. The IBM REXX-to-Db2 interfaces are included with Db2 for Linux, AIX, and MS Windows. IBM provides an editor for prototyping and application coding under CICS Transaction Server. There are excellent string handling functions for parsing messages and building text streams. Significant advantages associated with developing REXX programs within CICS is that the file system offers non-shared or read-only shared, unstructured data in conjunction with a hierarchical naming system without system definition.

SYS-ED specialized REXX training is comprised of client designated course search engine titles/topics in conjunction with the CETi knowledge base: examples, sample programs, case study and validation assessment. At the client discretion, project specfications can be incorporated into the workshop as part of on-the-job training.

CLIST Programming

Mainframe installation have coded CLISTs which reduce the amount of time spent on tasks: ascertaining dataset status, allocating datasets, and printing files. By grouping the instructions in a CLIST, there are efficiencies in invoking keystrokes and minimizing errors in performing a task.

CLIST Language

  Simple CLIST   Manage IBM TSO/E Subsystems   Programmatic CLIST  
  Perform Basic Tasks   Self-contained Applications   Manage Applications  

  File Operations   Terminal Operations   System Variables  
  CLIST Symbolic Variables   Built-in Functions   CLIST Flow Control  
  Exception Handling   Trace Facility   Using Other Clients  

A CLIST can consist entirely of TSO commands or a combination of TSO commands and CLIST statements. CLISTs are used to issue ISPF commands; ISPF panels invoke CLISTs based upon user input. When a value on a panel, the change to the variable on the associated panel definition applies also to the value of the variable in the CLIST that displayed the panel.  A programmable CLIST allows input/output to files and terminals.

CLISTs have been written to act as intermediaries between a user and applications. A CLIST sends and receives messages from the terminal and uses that information to determine the task to that the user wants to perform. The CLIST defines the environment and executes the commands required to invoke the application and perform the requested tasks. A CLIST can contain TSO/E commands, JCL: Job Control Language statements, and ISPF dialog management service commands to display full screen panels. A CLIST also can invoke REXX programs. CLIST programs can invoke applications written in other languages such as COBOL and Assembler. Logic can be coded to represent dependencies and determine whether programs should run based on program return codes. A simple CLIST contains TSO commands and subcommands. A programmable CLIST contains its own statements and the capability to access and utilize selectively other IBM z/OS mainframe system software command environments. A command or group of commands is bypassed based on the information supplied by the user at CLIST execution or on certain conditions.

Front end screens can be created in ISPF applications with Dialog Manager.

Facility Explanation
Keylists Key assignment changes can be made using the KEYS and KEYLIST commands, )PANEL statements and parameters, and Keylist settings.
CUA: Common User Access attributes The ATTR statement modifies the CUA and extend traditional attributes.
Action bars and pull-down choices Action Bar navigation is with these statements: )ABC, )PDC, )ABCINIT, and )ABCPROC. The )ATTR and )BODY sections have new parameters. There are Actions which can use numbers or point and shoot.
Static and moveable pop-up windows Changes can be made to the size of pop-up windows and windows titles. Additional changes are made using the ADDPOP and REMPOP service and WINDOW command.
Field level help Changes can be made to fields and help panels and point and shoot action. The )HELP statement is used to make additional modifications.
Point and shoot fields There are ways for designating fields: point and shoot, input, output, and text. There are new attributes in the ATTR and PNTS statements.
Scrollable areas and fields Changes can be made to the size of the scrollable areas, multiple scrollable areas per panel, cursor positioning, scrollable definitions, and scrollable parameters. The AREA and FIELD statements and the ZVARS control variable implement these new and expanded facilities.

Device-independent panels are designed for adapting automatically to terminal size. The facilities of ISPF can be used to create additional customized dialogs: reporting, inventory, and database updates. The dialog services are accessible through CLISTs, REXX, and IBM legacy languages. SDSF runs under ISPF. As with all ISPF systems, Dialog Manager provides library access services which perform system utility functions on ISPF libraries or datasets. An edit recovery service recovers the changes made to a dataset before a system failure. The edit and browse interfaces services provides input/output to edit or browse data that is not in either a sequential or a partitioned dataset. Applications use the display capabilities of z/OS without having to write display functions. End user action dialogs can be developed.

CLISTs and dialog management programs developed in the 1980’s and 1990’s have to be maintained, updated, transitioned to REXX, or be recoded with an open source language on a IBM mainframe or WAS: WebSphere application server. SYS-ED teaches REXX courses with an on-the-job training component: examples, skeleton programs, project specifications, and case studies.

Mainframe Training Programs

SYS-ED offers entry level, programming language/platform, and mainframe system software training programs.

Entry level Mainframe Assembler Language COBOL Language
CICS Transaction Server Db2 Platform z/OS Operations and System Programming

The entry level training program consists of operating system, programming skills, development tools, programming language, database, and system software. The z/OS Operations and Systems Programming training program does not assume prior knowledge with the IBM mainframe environment. The prerequisite with the CICS Transaction Server training program is a legacy programming language.

The RAD: Rational Application Developer, Linux/UNIX, and Java are intended for cross platform programming in IBM and hybrid open source, and third party environments.

Linux and UNIX Java Language RAD: Rational Application Developer

Evolving IT - Interrelated Technologies

Information technology training for organizational enterprise is more complex and challenging than ever before. For many Fortune 1000 companies, government municipalities, and healthcare providers, there is a huge investment in infrastructure and applications specific to their operations. There will be a requirement to modernize mainframe systems with the data center infrastructure and communicate with other parts of the infrastructure through web services and to provide efficiences and cost savings or revenue generating services.

SYS-ED trained a significant portion of the first generation of DP personnel. And looks forward to training their IT successors in the 21st century.

REXX Training

REXX Language Courses
SYS-ED's REXX courses are tough, but they're worth it. Our REXX training is used by Fortune 1000 companies, government municipalities, healthcare providers, software houses, and consulting companies to meet their REXX staffing requirements and acquire specialized mainframe skillsets.

SYS-ED's courseware draws upon a library of examples, sample programs, exercises, and case studies to teach the REXX language in the IBM mainframe system software environment and alternative operating systems.

Teaching is Our Business
Most computer training companies are divisions of large software companies or consulting companies. Not SYS-ED. Our only goal is to provide programming language training for motivated IT professionals. This independence allows us to concentrate on teaching.

Our Teachers Know How to Teach
SYS-ED instructors combine teaching skills with experience in the IBM mainframe, UNIX, Linux, and MS Windows operating environments. After a course, they are available to answer questions.

Enrollment - SYS-ED REXX Courses are Not for Everyone
No one is allowed to enroll in a SYS-ED mainframe course, without a consultation with our Director of Education. We review the operational objectives and project specifications for the organization evaluating whether to send its employee for the training. The employee only is allowed to enroll if they have the background required for the course.

REXX Training at Your Office or using the Internet
SYS-ED REXX courses are provided over the Internet through a distance-learning medium or classroom instruction. The client location can include the same workshop as the training offered through the SYS-ED schedule.

Technology Exchange Websites

SYS-ED's websites compile, organize, and present software specific and established operational categorizations of information technology. They provide a framework for assessing knowledge transfer: web-based training, classroom instruction, courseware, learning paths, and validation assessment.

Footnote 1:
SYS-ED’s core REXX and mainframe curriculum have been submitted to the New York State Department of Education - Bureau of Proprietary School Supervision for technical review and licensing.