DD statements for the DMAC Print function

DD statements of the FPA DMAC Print function determine the input and output data sets and specify how to run the DMAC Print function.

List of DD statements

The following table summarizes the DD statements for the DMAC Print function.

Table 1. DD statements for the DMAC Print function
DDNAME Use Format Can be dynamically allocated? Required or optional
JOBLIB or STEPLIB Input PDS No Required
IMSACB, IMSACBA, or IMSACBB Input PDS No Required when IMSCATHLQ=*NO
IMSDALIB Input PDS No Optional
MODSTAT Input PDS Yes Optional
MODSTAT2 Input PDS Yes Optional
OLCSTAT Input PDS Yes Optional
addnname or areaname Input VSAM ESDS cluster or PS (Note) Yes Required under certain conditions (for details, see addnname/areaname DD)
HFPSYSIN Input LRECL=80 No Required
HFPPRINT Output SYSOUT Yes Optional
HFPRPTS Output LRECL=133 Yes Optional
HFPABEND Output LRECL=125 Yes Optional
RECONn Input and output KSDS Yes Required when both of the following conditions are met:
  • DBRC=YES
  • DFSMDA members for RECONn data sets are not used
Note: If image copy is used as an input data set.

Input DD statements

The following input DD statements are used for the DMAC Print function.

JOBLIB/STEPLIB DD
This DD statement is a required DD statement that defines the following input data sets:
  • The FPA load module library (required).
  • The library that contains DFSMDA dynamic allocation members for the RECON data set. When DBRC=YES is specified and the RECONn DD statement is omitted, this DD statement is required.
  • The library that contains a default site default member (HFPCSITE) to determine the data set name and the member of the site default table.
  • The IMS load module library (required).
  • The IMS Tools Base library (SHKTLOAD), if you specify the ITKBSRVR keyword.
  • The IMS Tools Base library (SGLXLOAD), if you specify the IMSCATHLQ keyword.

FPA must be run as an APF-authorized program. All of the data sets that are listed within the JOBLIB or the STEPLIB concatenation must also be APF-authorized. If you use DFSMDA members and the DFSMDA members are in a non-APF authorized library, you can specify the DFSMDA library on the IMSDALIB DD statement.

IMSACB DD
This DD statement is an optional DD statement that defines the library that contains the DMB for the database. The IMSACB DD statements (IMSACB, IMSACBA, IMSACBB, MODSTAT, MODSTAT2, and OLCSTAT) can be used to identify the active ACB library. When both OLCSTAT or MODSTAT and MODSTAT2 are found, FPA checks the time stamp and determines the latest one.
The active IMSACB library is determined according to the following rules:
  1. Check IMSACB DD statement in the JCL statement.
  2. Check OLCSTAT DD statement in the JCL statement.
  3. Check MODSTAT and MODSTAT2 DD statement in the JCL statement.
  4. Allocate OLCSTAT dynamically and check the OLCSTAT member.
  5. Allocate MODSTAT and MODSTAT2 dynamically and check the MODSTAT and MODSTAT2 members.

If you specify the IMSCATHLQ keyword, IMSACB DD statements are not used. The IMS directory is used instead of the ACB library.

IMSACBA DD
This DD statement is an optional DD statement that defines the library that contains the DMB for the database. This statement must be provided if MODSTAT and MODSTAT2, or the OLCSTAT DD statement is specified.
IMSACBB DD
This DD statement is an optional DD statement that defines the library that contains the DMB for the database. This statement must be provided if MODSTAT and MODSTAT2, or the OLCSTAT DD statement is specified.
IMSDALIB DD
This DD statement is an optional DD statement that defines the IMSDALIB data set. This DD statement is useful when the data set for dynamic allocation members is not APF-authorized.
MODSTAT DD
This DD statement is an optional DD statement that defines the MODSTAT data set. When this statement is specified, the IMSACBA and IMSACBB DD statements must be specified instead of the ACBLIB DD statement.
Note on dynamic allocation:
If this statement is not specified in the JCL statements when the data set is required, the data set is allocated dynamically by using a DFSMDA member. You can build the DFSMDA member for the MODSTAT library by using a TYPE=DATABASE statement of the DFSMDA macro.
MODSTAT2 DD
This DD statement is an optional DD statement that defines the MODSTAT2 data set. When this statement is specified, the IMSACBA and IMSACBB DD statements must be specified instead of the ACBLIB DD statement.
Note on dynamic allocation:
If this statement is not specified in the JCL statements when the data set is required, the data set is allocated dynamically by using a DFSMDA member. You can build the DFSMDA member for the MODSTAT2 library by using a TYPE=DATABASE statement of the DFSMDA macro.
OLCSTAT DD
This DD statement is an optional DD statement that defines the OLCSTAT data set. When this statement is specified, the IMSACBA and IMSACBB DD statements must be specified instead of the ACBLIB DD statement.
Note on dynamic allocation:
If this statement is not specified in the JCL statements when the data set is required, the data set is allocated dynamically by using a DFSMDA member. You can build the DFSMDA member for the OLCSTAT library by using a TYPE=DATABASE statement of the DFSMDA macro.
addnname/areaname DD
This DD statement is a required DD statement. This statement defines an input data set, which is the VSAM ESDS or image copy for an area to be printed. The ddname used must be the ddname for the area that is defined in the input ACB library (IMSACB DD). There can be multiple addnname DD statements for each area included in the print request.
The input data set can be allocated dynamically in one of following ways:
  • The IDSNMASK keyword parameter of the DMACPRT command
  • When the GLOBAL DBRC=YES option is specified, the ADS information in the DBRC RECON data sets (only for VSAM ESDS data sets)
  • The area name member in the IMS DFSMDA library (only for VSAM ESDS data sets)
Or it can be specified with one of the following DD statements explicitly:
  • //addnname DD JCL statement
  • //areaname DD JCL statement
If an area data set is used for the DMACPRT command input, it must be error free (that is, it has no EQEs). And if the area is registered with DBRC, the data set must have no EEQEs.
The following figure shows how FPA determines area data set names.
Figure 1. Input data set names for the DMACPRT command
This figure depicts how the input data set names are determined for the DMACPRT command. The elements for determining the input data set names are discussed in this topic.
HFPSYSIN DD
This DD statement is a required DD statement that defines the input control statement that specifies the FPA functions.
The HFPSYSIN DD statement can be coded as a standard SYSIN file, a sequential data set, or a PDS member. LRECL=80 is required for the DCB of this data set. Only one command, besides the GLOBAL command, can be specified in HFPSYSIN. FPA analyzes the command syntax in columns 1 - 72. Columns 73 - 80 are regarded as comment.
For details about coding the HFPSYSIN DD statement, see Utility control statements for the DMAC Print function.

Output DD statements

The following output DD statements are used for the DMAC Print function.

HFPPRINT DD
This DD statement is an optional DD statement that defines the processing log output data set. The data set contains the processing messages that are issued by FPA.
The following DCB attributes of the file are set by the FPA main task:
  • RECFM=FBA
  • LRECL=133
  • BLKSIZE=1330
Do not code the DCB information in your JCL statement. The output data set must be a standard SYSOUT or a sequential data set. You cannot specify DUMMY.
The HFPPRINT data set contains 133-byte, fixed-length records. It is recommended that you code your DD statement as follows:
//HFPPRINT DD SYSOUT=A
Note on dynamic allocation:
When this statement is not specified in the JCL statements, FPA dynamically allocates the data set by using SYSOUT=*.
The following figure shows an example of the processing messages that are issued for the DMACPRT command.
Figure 2. Processing messages issued for the DMACPRT command
IMS HPFP UTILITIES                                        "Processing messages"                                        PAGE:       1
5698-FPP V2R1                                                                                                    2021-11-22 17:10:02

HFPC0001I COMMAND ANALYZE PROCESSING STARTED.                                                                                       
HFPC0005I DBRC=NO IS SPECIFIED.                                                                                                     
          - EEQE DETECTION IS NOT PERFORMED.                                                                                        
HFPC0002I COMMAND ANALYZE PROCESSING COMPLETED.                                                                                     
HFPF0001I DMACPRT PROCESSING STARTED FOR DATABASE: DEDBJN21                                                                         
HFPF0002I DMACPRT PROCESSING COMPLETED FOR DATABASE: DEDBJN21                                                                       
HFPL0001I REPORT STARTED FOR COMMAND: DMACPRT, DATABASE: DEDBJN21                                                                   
HFPL0002I REPORT COMPLETED FOR COMMAND: DMACPRT, DATABASE: DEDBJN21 
HFPRPTS DD
This DD statement is an optional DD statement that defines the report output data set. The data set contains the reports that can be used to verify the process of the command. The following DCB attributes of the file are set by the FPA main task:
  • RECFM=FBA
  • LRECL=133
  • BLKSIZE=1330
Do not code the DCB information in your JCL statement. The output data set must be a standard SYSOUT or a sequential data set.
The following reports are generated in this data set:
  • Audit report
  • Processing report
  • DBD Definition report
  • DMACPRT report
The HFPRPTS data set contains 133-byte, fixed-length records. It is recommended that you code your DD statement as follows:
//HFPRPTS DD SYSOUT=A
Note on dynamic allocation:
When this statement is not specified in the JCL statements, FPA dynamically allocates the data set by using SYSOUT=*.
HFPABEND DD
This DD statement is an optional DD statement. It defines a snap dump output data set that is used for diagnostic purposes. This data set might be used when the FPA job ends abnormally. Do not code the DCB information in your JCL statement. The output data set must be a standard SYSOUT or a sequential data set.
Note on dynamic allocation:
When this statement is not specified in the JCL statements, FPA dynamically allocates the data set by using SYSOUT=*.

Input/Output DD statements

The following input/output DD statements are used for the DMAC Print function.

RECON1/RECON2/RECON3 DD
These statements define the DBRC RECON data sets. These DD statements are required DD statements when both of the following conditions are met:
  • DBRC=YES is specified for the GLOBAL command
  • DFSMDA members for RECONn data sets are not used
The RECONn data set must be the same data set that is used in the IMS control region. Because FPA issues a signon, a signoff, an authorization call, and an unauthorization call to DBRC, it updates RECONn data sets.
Note on dynamic allocation:
If this statement is not specified in the JCL statements when the data set is necessary, the data set is allocated dynamically by using a DFSMDA member.