REXX for zOS
Duration: 3 or 4 days |
Participants: Application programmers and developers, technical support personnel, and end users. |
Objectives:
Upon successful completion of this course you will be able to:
- Code, test, and execute powerful REXX execs that accomplish a variety of utility and programming tasks in an MVS/ESA environment. - Code REXX programs that customize JCL and submit MVS background jobs. - Use built-in REXX functions, including those specific to the TSO platform, and write your own internal and external functions and subroutines. - Perform file I/O using the EXECIO statement. - Execute batch REXX execs using JCL. - Invoke TSO foreground applications. |
Overview:
- This course emphasizes REXX features that are particularly useful in an MVS and TSO environment. - We present this class in 3 days for experienced programmers. For a class of students with no programming experience, we present a 4 day course omitting complex program logic and covering other programming-related topics in greater depth. - We discourage including non-programmers and programmers in the same class. - Generally, this course is followed by ISPF Dialog Manager, which provides full-screen (panel) IO, variable, library, table support, etc. - An additional day can be added to this course teaching “structured programming using REXX”. It is added at the beginning of the course, so that all subsequent workshops reinforce the structured programming concepts. |
Prerequisites: Experience using TSO/ISPF is required. An understanding of programming concepts is strongly recommended. |
Format: Lecture and discussion with hands-on exercises. |
Topic Outline:
- Creating and Running REXX Execs Writing a simple exec Running a REXX exec in the TSO/MVS environment Running a REXX exec Explicit method Implicit method SYSPROC vs SYSEXEC EXECUTIL SEARCHDD(YES) REXX execs and CLISTs TSO commands in REXX execs - The Basics Syntax rules Variables, functions, and subroutines Constants Arithmetic operators Comparison operators Boolean operators Concatenation Stem variables Buffers and stacks - REXX Instructions SAY instruction PULL instruction ARG instruction Passing arguments to a REXX exec IF...THEN...ELSE instruction SELECT instruction DO instruction - Troubleshooting TS, TE Deciphering error messages - Built-in Functions External functions Arithmetic functions Comparison functions Conversion functions Formatting functions String-manipulation functions Miscellaneous functions - Trapping Screen Output SYSTRAP Stem variables Looping - User-Written Subroutines and Functions Functions vs subroutines Purpose and use Internal vs external Functions External Internal Return codes Subroutines External Internal RESULT variable EXPOSE - File I/O and Stacks Using EXECIO Data stacks and queues Buffers Push - Interrupt and Error Handling SIGNAL instruction Event trapping examples - Tracing and Debugging REXX Execs Tracing RC-return code - Running REXX Execs in Batch Batch TSO MVS Batch - Invoking Dialog Management Services Necessary allocations Service invocation Displaying simple ISPF panels |
|