Generating JCL


When you generate JCL for Execution, the DASD MANAGER PLUS product uses symbolic variables to resolve all data set names that appear on the interface panels of the components.

For more information on symbolic variables, see the supported symbolic variables table in User-defined programs or services.

DASD MANAGER PLUS passes parameters (from the product options file (POF) and Execution panels) to Batch JCL Generation using the AJXIN and AJXPOFIN input streams. These parameters include the names of input files, JCL files, and the diagnostic output files. (For more information about the AJXIN and AJXPOFIN input streams, see the DASD MANAGER PLUS for DB2 Reference Manual.)

After the data set names have been resolved, the JCL Generation component performs the following functions:

  • Scans the input worklist for all utilities and commands that require JCL
  • Analyzes each utility command for its DD requirements.

    Depending on the override options that you select, the following tasks might be performed for each identified DD:

    • Sizing the data sets
    • Using the values specified for using DASD or tape units, as well as the values for tape-related options
    • Using the values specified for the SMS and alternate SMS data sets, data set thresholds, and alternate units
    • Processing the options for image copy GDGs
  • Resolves the names of work data sets (such as SORTWORK, and the permanent data sets that Execution uses) that DASD MANAGER PLUS passes from the JCL Generation option panels,
  • Merges DD statements that more than one command uses (for example, SYSUT1 and SORTWORK) so that the component does not generate duplicates and uses the highest estimated space

You can add debugging comments in the generated JCL by specifying Gen JCL debug Yes on the DASD MANAGER PLUS General Options panel (see Setting-general-user-options). You can then see information such as the variables that the product uses for creating the JCL and their assigned values.

JCL Generation either performs standard ISPF file tailoring or simulates file tailoring by using compiled skeleton libraries (SLIBs) to generate JCL. A large number of symbolic variables are available to automatically vary the JCL generated according to, for example, the subsystem name and the database name. These symbolic variables are listed in Symbolic-variables.

The generated JCL includes DD statements for all data sets that the job or the Execution component needs, as well as the EXEC statement for the program and any necessary control parameters. For many of the work data sets that Execution uses, you can create the JCL for a cleanup job step that automatically deletes the work data sets at the end of the run. Other data sets are commented out in the JCL, providing you with the option to delete these as well.

Modifying ISPF skeletons and variables

The JCL Generation component generates JCL by using a method that improves upon standard ISPF file-tailoring services. The method used is based on ISPF skeletons.

The $AJXDOC member in the HLQ.BMCSLIB data set lists and briefly describes each non-DD and DD statement skeletons that JCL Generation uses. The member also lists the variables that JCL Generation uses to construct the default names for permanent data sets.

Each skeleton name in the $AJXDOC member has a corresponding member in the HLQ.BMCSLIB data set. Some of the members that contain skeletons also provide comments, tips, and suggestions for using the skeletons.

You can specify up to five user-defined variables in the POF. The JCL Generation User Defined Variables panel allows you to specify variable names (up to eight characters). Each variable has a corresponding symbolic variable, as shown in the following table. You can use the symbolic variables in your job cards or data set prefixes. For information about specifying the variables, see Setting-user-variables.

User-defined variables

POF variable

Symbolic variable

USER_VAR1_CHAR

&UVR1

USER_VAR2_CHAR

&UVR2

USER_VAR3_CHAR

&UVR3

USER_VAR4_CHAR

&UVR4

USER_VAR5_CHAR

&UVR5

Symbolic-variables describes the symbolic and SLIB variables that JCL Generation uses and specifies the length of each variable.

To improve the performance of the JCL construction phase of JCL Generation, BMC uses an SLIB compiler. Consequently, if you edit SLIBs after installation, you must recompile them.

JCL Generation data sets sizing function

You can use the JCL Generation data set sizing function to tailor the data set sizes when the JCL is built.

The function gathers information from one of the following sources (shown in general order of accuracy, from most accurate to least accurate):

  1. The BMC Statistics repository (statistics that the BMCSTATS or NGT Stats utility gathers)
  2. Db2 system catalog (statistics that the IBM RUNSTATS utility gathers)
  3. Results of VSAM object sampling
  4. Default data set allocation parameters that are set from the JCL Generation Individual Data Set Options panel

Whether using the BMC Statistics repository, object sampling, or no sizing, JCL Generation obtains some information from the Db2 system catalog.

The formulas for estimating data set size are taken from the documentation for the IBM Db2 utilities and from the documentation for the BMC utilities. The following table shows the statistics that JCL Generation uses for space estimation and the source of the statistics:

Data set sizing values and sources


Source

Value

BMCSTATS

IBM RUNSTATS

VSAM sampling

Number of active pages

X

X

X

Number of modified pages

X

NA

X

Page size

NA

X

NA

Maximum row length

NA

X

NA

Average row length

X

NA

X

Number of rows

X

X

X

Number of non-clustering indexes

NA

X

NA

Longest key

X

X

NA

Number of foreign keys

NA

X

NA

Number of indexes

X

X

NA

Longest foreign key

NA

X

NA

Success

Tip

To specify the data sizing method, see Setting-the-JCL-options-for-static-data-sets.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

DASD MANAGER PLUS for DB2 13.1