Documente Academic
Documente Profesional
Documente Cultură
REXX
Com-plete supports only non-TSO REXX environments; it invokes IRXJCL internally in order to execute
a REXX script. Please refer to the IBM TSO/E REXX Reference documentation to learn more about the
difference between TSO and non-TSO REXX environments.
Executing REXX scripts involves a large number of load modules, many of which are reentrant. It is
therefore highly recommended to allow automatic loading of reentrant modules into RESIDENTPAGE.
z/VSE
1. Add a LIBDEF PROC,SEARCH= lib.sublib statement to the Com-plete startup for the library
containing the REXX PROCs.
1
REXX Running REXX EXECs
Warning:
Extreme care must be taken when using dynamic dataset allocation
functions under Com-plete. You should always keep in mind that the
scope of DD names is the address space. This means, if two users
change the allocation of the same DD name simultaneously, then they
override each other’s allocation, causing unpredictable results. If you
change the allocation of a DD name used by Com-plete itself, you are
likely to cause a crash of Com-plete.
Software AG recommends that, whenever possible, you let
BPXWDYN chose a SYSnnnnn DD name for a dynamically allocated
dataset, having the DD name returned to the REXX script using the
RTDDN(gennedDD) parameter of BPXWDYN.
Example:
/* REXX *** */
Parse Arg dsn .
xrc = bpxwdyn("ALLOC DA("dsn") RTDDN("mydd") SHR")
If xrc <> 0 Then Do
Say "Allocation failed, RC=" || D2X(xrc,8)
Return xrc
End
Say "Here’s the contents of the file:"
"EXECIO * DISKR" mydd "(STEM in. FINIS)"
Do i = 1 To in.0
Say in.i
End
bpxwdyn("FREE FI("mydd")")
Exit
Another way to use REXX in Com-plete is as a CGI scripting language with the HTTP server, as
described in section Using REXX in Programming CGI Requests in the Com-plete HTTP Server
documentation.