Basic JCL requirements

The basic JCL requirements for IMS High Performance Unload are for the IMS High Performance Unload runtime environment initializer (FABHX034). Many programs of IMS High Performance Unload and user-written HSSR application programs require that the basic JCL requirements are met.

EXEC and DD statements

The following table summarizes the DD statements for the runtime environment initializer (FABHX034).

Table 1. Runtime environment initializer (FABHX034) DD statements
DDNAME Use Format Need
STEPLIB Input - Required
HSSROPT Input LRECL=80 Optional
HSSRCABP Input LRECL=80 Optional
DFSVSAMP Input LRECL=80 Optional
ddname Input - Optional
HSSRLDEF Input LRECL=80 Optional
RECONx Input - Optional
IMSDALIB Input - Optional
IEFRDER Output - Required
HSSRSTAT Output LRECL=133 Optional
HSSRLOUT Output - Optional
HSSRTRAC Output LRECL=133 Optional
HSSRBUTR Output - Optional
HSSRSNAP Output LRECL=133 Required
IMS Input - Optional
IMSACB Input IMSVS.ACBLIB Optional
PROCLIB Input IMSVS.PROCLIB Required
IMSMON Output DUMMY Required
DFSRESLB Input IMSVS.SDFSRESL Required

The following list explains the EXEC and DD statements of the JCL to run IMS High Performance Unload:

EXEC
The EXEC statement must be in the following format:
 //  EXEC PGM=FABHX034,PARM=('DFSRRC00/DLI',pgmname,psbname,...) 

The program invoked by the PGM keyword on the EXEC statement is the IMS High Performance Unload runtime environment initializer named FABHX034.

The PARM parameters, except the first one, must be specified in the same format as the PARM parameters for the IMS DLIBATCH or DBBBATCH procedures. The first parameter must contain the name of the IMS region controller, DFSRRC00, followed by a slash (/) and the name of the IMS region in which the job is to run. The region name must be one of DBB, DLI, or ULU.

When processing a HALDB, the 14th parameter, which is the DBRC parameter, must be Y.

Tip: For each region type, IMS High Performance Unload provides a cataloged procedure. See Preparing the basic JCL.
STEPLIB DD
Points to the IMS High Performance Unload library, the IMS RESLIB library, and the user libraries that contain user programs and DFSMDA members.
Notes:
  • You do not need to APF-authorize the STEPLIB libraries. If however, the STEPLIB is not authorized for example by having unauthorized libraries concatenated, you must specify the DFSRESLB DD statement.
  • Start of changeIf all concatenations of the JOBLIB/STEPLIB are APF-authorized, Media Manager is used for reading VSAM ESDS database data sets and OSAM LDS database data sets, which saves the use of CPU time.End of change
  • If you do not want to authorize the library that contains the DFSMDA members, specify the IMSDALIB DD statement.
HSSROPT DD
This optional statement defines an input data set that contains optional control statements for HSSR Engine. For more information about HSSROPT control statements, see Options for HSSR Engine.
HSSRCABP DD
This optional statement defines an input data set that contains the control statements that change buffering parameters for the CAB buffer handler provided by HSSR Engine. For more information about HSSRCABP control statements, see Chained Anticipatory Buffer handler (CAB).
Note: Chained Anticipatory Buffering (CAB) is the default buffering method provided by HSSR Engine.
DFSVSAMP DD
This DD describes the data set that contains the buffer pool information required by the IMS DL/I buffer handler. If this data set is not specified, it is dynamically created by IMS High Performance Unload. For this reason, this data set should not usually be specified.

If you want to provide this data set, you should specify the minimum required number of buffers in the DFSVSAMP data set because IMS High Performance Unload does not use the buffers taken with the parameters specified in this data set. Otherwise, a larger region size is required in order to run IMS High Performance Unload.

You must however, specify DL/I buffers in DFSVSAMP in the following cases:

  • When you specify the BLDLPCK control statement in HSSROPT data set.

    In this case, HSSR Engine issues DL/I calls internally to build LPCKs.

  • When you do a migration unload of a database in which a logical child is defined.

    In this case, HSSR Engine issues DL/I calls internally to get information to be written in the header of the unload record of the logical child.

  • When APISET 3 is specified in the HSSROPT data set or by the site default option table. In this case, if a call that is not supported in APISET 2 is issued, that call and all succeeding calls are passed to DL/I and are processed by DL/I action modules.

The usual DFSVSAMP definitions should be used in tuning the processing of these internal DL/I calls.

ddname DD
These DDs define the database data set to be processed. One statement of this type must be present for each data set that appears in the DBD describing the database. The value of ddname must match the ddname in the DBD.

For an HIDAM database, DD statements must also exist for the data sets that represent the index. The DD statements that specify the index must contain ddnames specified in the DBD for the index database. No DD statements are required for the secondary indexes that are associated with this database unless the secondary indexes are used.

If the BLDLPCK control statement is specified in the HSSROPT data set, the database in which the logical parent is defined must be specified.

You must not code DCB=BUFNO=n or AMP='BUFND=n' options to request access method buffers for database data sets; HSSR Engine allocates its own buffer pool for each data set group.

Note: If you use dynamic allocation, do not use the DD statement for the database data sets.

For HALDBs, no DD statement needs to be specified for any database data set because the data set is always dynamically allocated.

HSSRLDEF DD
This optional statement defines the input data set that contains control statements for requesting the DB Record Length Distribution report with your own database record length ranges. For more information about HSSRLDEF control statements, see Activating the Database Tuning Statistics.
RECONx DD
This statement provides RECON1, RECON2, and RECON3 DDs under the same conditions as for standard IMS jobs. If RECON data sets need to be allocated dynamically, do not specify these DDs.
IMSDALIB DD
This optional statement defines the library that contains the DFSMDA members for dynamic allocation. Allocation of the database data sets and the RECON data sets is attempted in the following order:
  1. The DD statements coded in the JCL stream
  2. Dynamic allocation by data set definition that is contained in RECON (only for HALDB data sets)
  3. Dynamic allocation members in the IMSDALIB concatenation or in the JOBLIB/STEPLIB concatenation
If you specify this library on the IMSDALIB DD statement, it is highly recommended that you remove the library from the STEPLIB concatenation.
IEFRDER DD
This required statement defines the IMS log data set.
HSSRSTAT DD
This optional statement defines the output data set for HSSR Engine to write statistical output after the termination of the application program. For the details, see HSSRSTAT data set.
HSSRLOUT DD
This optional statement defines the output sequential data set, in which a small record is written for each database record when the Database Tuning Statistics function is activated by coding the DBSTATS control statement in the HSSROPT data set. For details about this data set, see Activating the Database Tuning Statistics.
Note: The BLKSIZE and LRECL for the HSSRLOUT data set must not be specified in JCL. HSSR Engine determines them dynamically from the key length of the root segment.
HSSRTRAC DD
This optional statement defines an output data set in which the trace data is written. The DD statement is required whenever any of the following functions are activated by HSSROPT statements.
  • The trace options TRHC and TRDB
  • The compare option CO
  • The diagnostic option DIAGG

For details about these control statements, see Options for HSSR Engine. For details about this data set, see HSSRTRAC data set.

HSSRBUTR DD
This optional statement defines the output data set on which the buffer handler trace is written. It is ultimately used as input for a buffer simulation run with the FABHBSIM utility.
 //HSSRBUTR DD DSN=xxx,DISP=(,KEEP),UNIT=tape,... 
HSSRSNAP DD
This required statement defines the output data set on which snapshots are written when an error occurs during initialization of HSSR Engine. For details, see HSSRSNAP data set.

The remaining five DD statements (that is, IMS, IMSACB, PROCLIB, IMSMON, and DFSRESLB) are for IMS. See IMS Database Utilities.

Additional JCL requirements for each utility

When running one of the following utilities, see also the JCL requirement topic for that utility:

When using the Database Tuning Statistics functions, see the following topics: