What we currently know of as Rexx is the culmination of the evolution of the command processing languages EXEC and EXEC2 on VM/CMS. Command processing languages can add logic to the execution of operating system commands and process the results of those commands or return codes from those commands. They’re somewhat similar to conditional JCL on VSE or z/OS.
The Rexx Language Association (www.rexxla.org) is a wonderful resource for all things Rexx, including Mike Cowlishaw’s original Website, which has a history of the Rexx language.
Rexx has weaved its way into many operating systems over the years, including VSE, z/OS, Linux, and Windows. As a separate development from Rexx on VSE and z/OS, it’s also available for use under CICS running on those operating systems.
Rexx for CICS can be used for application development or prototyping under CICS. Typical Rexx features are available, including the ability to write the program and run it immediately. Rexx for CICS includes an Xedit-like editor and a file system, Rexx File System (RFS), for program and data storage with a hierarchical directory structure.
Rexx for CICS can execute most of the CICS Application Program Interface (API) and have the results returned in Rexx variables. It has a panel generation and utilization language for full-screen applications and also can access DB2. If you’ve never used Rexx for CICS, there are some set-up items to address. First, make sure current maintenance is applied. Appendix K, “Post-Installation Configuration,” in the book, Rexx Guide, on the CICS Transaction Server bookshelf has a good punch list of the tasks necessary before you can use Rexx for CICS.
The examples shown here were produced with z/VSE 3.1.2 running on Flex/ES from Fundamental Software.
RFS is implemented as a set of VSAM files. Two VSAM files compose each filepool, the directory, and the data. The directory contains the hierarchical structure of the directories in the pool; the data actually contains the files (Rexx programs, etc.) that compose the pool. Two filepools come with VSE; they’re called POOL1 and POOL2. POOL1 maps to the files RFSDIR1 and RFSPOL1. If you’d rather create your own pools, there’s sample JCL in PRD1. BASE called CICVSAM.J.
The CICS resource definitions for Rexx are in group CICREXX. This group also contains the file definitions. Make sure it’s in your start-up list. If you add your own pool(s), the files that comprise them also will need to be defined to CICS.
If your filepool files are added to an LSR pool, make sure there’s a pool definition for an 18KB CI and that the key length is set to 252.