INDIRECT EXEC Statement
Because of the z/OS 256-byte limitation on scheduling scripts to run in the started task, to pass more than 256 bytes to a script running in the started task, for example passing several long dataset names, can be problematic. The Platform Server addresses these situations through the use of an indirection file that may contain one or more parameters and the dataset name of the script to execute that, in aggregate, exceed 256 bytes.
The Platform Server postprocessing actions (PPAs) can use an indirection file residing on the z/OS system where the file is to be executed (rather than an actual script file) by including the
INDIRECT=YES statement.
The format of the statement is
INDIRECT={YES |
DELETE |
NO}.
Where:
YES: Indicates that the data in the defined dataset is not the actual script to run but is the dataset whose contents contain the name of the script to run and the required parameters.DELETE: Indicates that the data in the defined dataset is not the actual script to run but is the dataset whose contents contain the name of the script to run and the required parameters. WhenDELETEis specified, the script program deletes that same dataset when the script is completed.Note:DELETEcan only be defined when the dataset name is not contained in a DSN containing a member name.NO: indicates that the data in the defined dataset is the actual script to run.
The indirect dataset that contains the script name and necessary parameters is built into a single record separating each item with commas.
Scripts are most frequently launched through remote execution statements such as a PPA (for details, see the descriptions of the POST_ACTION parameter in Batch Interface) where the INDIRECT parameter might be most useful. Another frequent occurrence is when you queue a script through the FUSSCRPT REXX exec.
The following figure shows an example transfer of a UNIX platform uploading a data file that contains the name of the script to be run with the various values to be passed to that script located on the remote z/OS platform: