The GENERATE command creates assembly, copy, and link-edit steps.
The information used to construct the EXEC statement for each of these
steps is obtained from the OPTIONS entry for the target zone. The OPTIONS
entry points to a UTILITY entry for each utility that SMP/E can call. Each UTILITY
entry contains:
- The name of the program to call.
- The parameters to pass that program. (Based on information in
the target zone, SMP/E may add more parameters.)
Although you
can specify up to 100 characters of data in the PARM field of a UTILITY
entry, JCL restricts the length of the PARM field to a total of 100
characters. Therefore, only the first 50 characters of the UTILITY
PARM field are used for the GENERATE command. The other 50 characters
are reserved for SMP/E-generated parameters.
Note: - The limitation on the length of the EXEC PARM field does not apply
to invocations of the hierarchical file system copy utility. The parameters
for this utility are specified on the EPARM operand of the generated
SELECT statement instead of on the EXEC statement. However, the maximum
total length of the parameters to be passed on the EPARM operand is X'FFFF' bytes.
If the length exceeds this number, SMP/E truncates the parameters
at the limit and passes this value to the hierarchical file system
copy utility.
- If the DFP level of the driving system on which SMP/E is running
supports the binder, SMP/E supports PARM options exceeding 100 characters. In this case, SMP/E uses OPTIONS
instead of PARM on the EXEC statement. GENOPTS is specified as the
ddname, and a DD statement is created for GENOPTS. SMP/E then adds
all other options after the GENOPTS DD statement. In this way, the
PARM string limit of 100 characters can be exceeded for the binder
link-edit step. SMP/E does not verify whether the DFP level of the
system on which the GENERATE output is executed supports the binder.
- Before using the GENERATE command to create JCL that will update
files in a UNIX file
system, you may want to add UID(0) to the
UTILITY entry PARM value so that the JCL created by GENERATE will
include UID(0) in the execution parameter string for the link-edit
utility. Consider specifying UID(0) if all the following are true:
- UID 0 authority is needed to update files in a UNIX file system.
- Your UID is not 0 but you are authorized to the BPX.SUPERUSER
facility class profile. The UID(0) option, in this case, causes the
binder to set an effective UID of 0 for its execution.
- The binder to be invoked by the generated JCL is at the proper
level to understand the UID option.
If you do specify UID(0) for GENERATE, you must remove it
after GENERATE has run, so that it is not used for other SMP/E commands
(such as APPLY, which handles setting the effective UID itself prior
to invoking the binder).
If no OPTIONS entry is available, or if no UTILITY entries have
been defined, the SMP/E default values are used. For a summary of
these default values, see the UTILITY Entry (Global Zone) section
in SMP/E for z/OS Reference.