argument to the exec. For example: EDIT TEST.EXEC causes the REXX/CICS editor exec, CICEDIT, to
start and TEST.EXEC, the argument, names the file to edit or create. All REXX/CICS transaction
identifiers must have CICS definitions which associate them with the REXX/CICS main module,
CICREXD.
v Execs started using a CICS START command
REXX/CICS execs may be started using the CICS START command. The START command names the
CICS transaction identified to start and the table created by the REXX/CICS DEFTRNID command
names the exec to start. If the exec is CICRXTRY and CICS start data is present, the first operand
names the exec to start and any other operands are passed to the exec as an argument. If no start
data is present, then CICRXTRY is started. For execs other than CICRXTRY, start data is passed to the
exec as an argument. Usually, REXX/CICS execs have a terminal associated with them. However, if a
REXX/CICS exec does not have a terminal associated to the transaction, any terminal output is either
discarded or directed to a CICS temporary storage queue as specified by the REXX/CICS SET
TERMOUT command. An error is generated if terminal input is requested for a transaction for which no
terminal is associated.
v Execs started using a CICS LINK or XCTL command
The REXX/CICS interface program CICREXD may be invoked using the CICS LINK or XCTL command.
A COMMAREA must be passed to the interface program when invoked in this way. The COMMAREA
must contain operands that name the exec to start and an argument to be passed. The exec name is
expected as the first blank delimited token in the COMMAREA.
Note: A utility called REXXTRY (CICRXTRY exec) is provided with REXX/CICS that allows the interactive
execution of REXX instructions and REXX/CICS commands. To invoke this utility, enter the
REXX/CICS transaction identifier associated with CICRXTRY without any operands.
Where Execs Execute
REXX/CICS execs are executed as part of the CICS task that issues them, within the CICS region. The
REXX interpreter is fully reentrant and runs above the 16 megabyte line (AMODE=31, RMODE=ANY).
Locating and Loading Execs
The following rules are used to locate and load an exec into storage so it can be started:
1. Execs loaded into storage using EXECLOAD are searched and if the exec is found, the EXECLOADed
copy is used.
2. The user's current RFS directory, as defined by the REXX/CICS CD command, is searched. If found,
the exec is loaded and started.
3. The user's path, as defined by the REXX/CICS PATH command, is searched. If found, the exec is
loaded and started.
4. If the user is an authorized user, VSE Librarian sublibraries specified on the SETSYS AUTHCLIB
command are searched. If the exec is found, it is loaded and started.
5. VSE Librarian sublibraries specified on the SETSYS AUTHELIB command are searched. If the exec is
found, it is loaded and started.
6. Finally, members with a member type of PROC in sublibraries defined in the LIBDEF PROC search
chain for the CICS TS partition are searched.
Editing Execs
REXX execs can be edited using the supplied REXX/CICS editor. Also, if REXX/CICS execs reside in a
VSE Librarian member, they can be edited using other editors such as the librarian member edit
component of DITTO.
REXX General Concepts
126
CICS TS for VSE/ESA: REXX Guide