Dynamic Support for EXEC CICS Commands
Support for most EXEC CICS API commands is included in REXX/CICS. This is a dynamic interface (no
EXEC CICS command translation pre-processing step is needed). This support is provided through the
addition of an ADDRESS CICS command environment.
REXX Interface to CEDA and CEMT Transaction Programs
This allows CEDA and CEMT commands to be easily issued from REXX execs, with any subsequent
output placed into a REXX variable, instead of being displayed at the terminal. This facilitates the
automation of many CICS administration and operation activities, and is an excellent programmer aid.
High-level Client/Server Support
REXX/CICS provides integrated client/server support to REXX execs by providing facilities to allow REXX
execs to act as clients (which make requests to REXX/CICS servers) and by providing facilities to allow
REXX execs to act as servers (with the ability to wait for and process requests from REXX/CICS clients).
REXX/CICS facilities are provided which allow REXX/CICS servers to wait on requests from clients
(WAITREQ), and to retrieve (C2S) and set (S2C) the contents of client REXX variables.
Note: Servers do not execute as nested execs of clients, but rather execute as parallel entities.
Servers use Automatic Server Initiation (ASI) to start automatically when they receive their first request.
Support for Commands Written in REXX
REXX/CICS supports the ability for users to write new REXX/CICS commands in REXX. These commands
do not function as nested REXX execs, and unlike nested REXX execs have the ability to get and set the
values of REXX variables in the user exec that issued the command. Therefore, commands written in
REXX can have similar capabilities as commands written in Assembler or other languages. Also,
commands can be quickly written in REXX to speed systems development (in a building block structure),
and then can selectively be rewritten in Assembler (or any other CICS supported language) at a later date,
if performance requirements dictate.
Command Definition of REXX Commands
REXX/CICS includes as one of its basic facilities, the ability for systems administrators and users to easily
and dynamically define new REXX commands, either on a system-wide or user-by-user basis. One of the
greatest strengths of REXX is its ability to interface cleanly with other products, applications, and system
services. The goal for providing a command definition facility for new or existing commands is to facilitate
the rapid and consistent high-level integration of various products and services together through the use of
REXX. REXX command definition is accomplished with the REXX/CICS DEFCMD and DEFSCMD
commands.
Support for System and User Profile Execs
To facilitate REXX/CICS system and user environment tailoring, REXX/CICS attempts to execute
CICSTART, CICSPROF, and user PROFILE execs, if they exist. CICSTART is the system profile exec
(STARTUP profile) and it is issued before the first user exec is run after CICS system restart. CICSPROF
is the system user profile exec and it is issued when a user enters REXX/CICS for the first time since the
CICS system restart. CICSPROF also invokes the user PROFILE.
Shared Execs in Virtual Storage
REXX/CICS supports shared copies of REXX execs residing in virtual storage. Shared execs improve the
interactive response time of REXX applications, and sharing reduces the total virtual storage requirement.
Execs can be pre-loaded by using the EXECLOAD command. Common system-wide execs are good
candidates for pre-loading through the placement of EXECLOAD commands in the CICSTART exec.
Introduction
Chapter 11. Introduction 105