14. REXX Support

14.1 Prerequisites

Support for Rexx (both ooRexx and Regina Rexx) is built into the downloadable version of Hercules. The
only thing needed is to install one (or both) of the two supported Rexx packages (see

Appendix H. Links ).

If the Rexx packages are installed with the standard installation procedures (using the provided installers)
then the needed environment variables are created automatically during the installation and no manual
action is required. For more information on how to build Rexx support into Hercules please refer to the
“Installation Guide”.

14.2 Using Rexx

Rexx can be used in various ways within Hercules:

Invoking Rexx scripts explicitely through the EXEC console command. Invoking Rexx in the run-commands file. Invoking Rexx in the configuration file.

14.2.1 Explicitely invoking Rexx

The EXEC console command may be used to explicitely invoke a Rexx script. The required argument is
the name (and optionally path) of the Rexx script. Optional arguments will be passed to the Rexx script.

Example 1:

EXEC d:\rexx\script.rex arg1 arg2

In the above example the Rexx script named “script.rex” located on drive d: in directory “rexx” will be
called with “arg1” and “arg2” as arguments.

14.2.2 Implicitely invoking Rexx

Rexx will be invoked implicitely if existing script files (e.g. a configuration file or a run-commands file) start
with “/*”.

Example:

/* REXX */

SELECT

WHEN SYSTEM = 'S/370' THEN DO

ADDRESS HERCULES 'ARCHLVL S/370'

ADDRESS HERCULES 'ENGINES 1*CP'

ADDRESS HERCULES 'MAINSIZE 16'

ADDRESS HERCULES 'XPNDSIZE 0'

END

WHEN SYSTEM = 'ESA/390' THEN DO

ADDRESS HERCULES 'ARCHLVL ESA/390'

ADDRESS HERCULES 'MAINSIZE 2048'

ADDRESS HERCULES 'ENGINES 2*CP'

ADDRESS HERCULES 'XPNDSIZE 2048'

END

WHEN SYSTEM = 'z/ARCH' THEN DO

ADDRESS HERCULES 'ARCHLVL z/ARCH'

ADDRESS HERCULES 'MAINSIZE 4096'

ADDRESS HERCULES 'ENGINES 4*CP,2*AP'

ADDRESS HERCULES 'XPNDSIZE 0'

END

OTHERWISE DO

SAY 'Invalid architecture mode specified'

RETURN 16

END

The above extract from a configuration file shows the different settings of system parameters depending
on the value of a variable.

14.3 Command Environment

Hercules commands can be issued from Rexx through the Hercules command environment. The Her-
cules command environment is the default environment, therefore it is not necessary to specify it, when
using Hercules commands within a Rexx script.

Example 1:

Executing the Hercules ‘ARCHLVL’ command from a Rexx script specifying the Hercules command en-
vironment.

ADDRESS HERCULES 'ARCHLVL S/370'

Example 2:

Executing the Hercules ‘ARCHLVL’ command from a Rexx script without specifying the Hercules
command environment.

'ARCHLVL S/370'

14.4 The Rexx Builtin Function “value()”

Hercules symbols and environment variables can be retrieved with “value()” or “getenv()”. The builtin
function “getenv()” is obsolete and has been replaced by “value()” and should no longer be used.

Previous Page Next Page