JCL requirements for the DBD/PSB/ACB Compare utility

When you code the JCL to run the DBD/PSB/ACB Compare utility, include the EXEC statement and appropriate DD statements.

JCL example

An example of the JCL that is required for DBD/PSB/ACB Compare is shown in the following figure.

Figure 1. Example of DBD/PSB/ACB Compare JCL (FABLCOMP JCL)
//stepname EXEC PGM=FABLCOMP,REGION=512K
//STEPLIB  DD   DSN=HPS.SHPSLMD0,DISP=SHR
//DBDLIB   DD   DSN=IMSVS.DBDLIB,DISP=SHR
//DBDLIB2  DD   DSN=IMSVS.TEST.DBDLIB,DISP=SHR
//PSBLIB   DD   DSN=IMSVS.PSBLIB,DISP=SHR
//PSBLIB2  DD   DSN=IMSVS.TEST.PSBLIB,DISP=SHR
//ACBLIB   DD   DSN=IMSVS.ACBLIB,DISP=SHR
//ACBLIB2  DD   DSN=IMSVS.TEST.ACBLIB,DISP=SHR
//SYSOUT   DD   SYSOUT=A
//SYSPRINT DD   SYSOUT=A
//SYSIN    DD   *
    (control statements)
/*

EXEC statement

The EXEC statement must be in the following format:
//stepname EXEC PGM=FABLCOMP

DD statements

Code the following DD statements to identify the source of input and the placement of output information:
STEPLIB DD or JOBLIB DD
This DD statement is required. This input DD statement defines the IMS™ Library Integrity Utilities load module library.
DBDLIB DD
This DD statement is required when the DBD= control statement is specified. The DBDLIB DD input data set is the library that contains the DBDs to be compared.
DBDLIB2 DD
This DD statement is required when you want to compare a DBD to another DBD, or a DBD-type ACB to a DBD. The DBDLIB2 DD input data set is the library that contains the DBDs to be compared.
Note: When comparing two DBDs that have the same name, the libraries specified in the DBDLIB DD and DBDLIB2 DD statements must be different libraries, and each of them must contain at least one DBD that has the same name.
PSBLIB DD
This DD statement is required when the PSB= control statement is specified. The PSBLIB DD input data set is the library that contains the PSBs to be compared.
PSBLIB2 DD
This DD statement is required when you want to compare a PSB to another PSB, or a PSB-type ACB to a PSB. The PSBLIB2 DD input data set is the library that contains the PSBs to be compared.
Note: When comparing two PSBs that have the same name, the libraries specified in the PSBLIB DD and PSBLIB2 DD statements must be different libraries, and each of them must contain at least one PSB that has the same name.
ACBLIB DD
This DD statement is required when the ACB= control statement is specified. The ACBLIB DD input data set is the library that contains the ACBs (PSB-type ACBs or DBD-type ACB) to be compared.
ACBLIB2 DD
This DD statement is required when you want to compare an ACB (PSB-type ACB or DBD-type ACB) to another ACB, a DBD to a DBD-type ACB, or a PSB to a PSB-type ACB. The ACBLIB2 DD input data set is the library that contains the ACBs (PSB-type ACBs or DBD-type ACB) to be compared.
Note: When comparing two ACBs that have the same name, the libraries specified in the ACBLIB DD and ACBLIB2 DD statements must be different libraries, and each must contain at least one ACB that has the same name.
SYSOUT DD
This DD statement is required. This output data set contains all activity messages and error messages. The record format is fixed-blocked. The logical record length is 133. Block size, if coded, must be a multiple of 133.
SYSPRINT DD
This DD statement is required. This output data set contains the reports of the comparisons made by DBD/PSB/ACB Compare. The reports are classified as DBD, PSB, and ACB Compare reports, and then each group is sorted alphabetically by member name in the DBDLIB, the PSBLIB, and the ACBLIB libraries. This output data set also contains the echo of the SYSIN control statements and selected runtime options when the CTLSTMT parameter is specified for the REPORT statement. The record format is fixed-blocked. The logical record length is 133. Block size, if coded, must be a multiple of 133.
SYSIN DD
This DD statement is required. SYSIN DD is the control data set for this program.

The record format is fixed-blocked. The logical record length is 80. Block size, if coded, must be a multiple of 80.

Up to 9999 control statements can be specified by use of the SYSIN DD statement. If there are more than 9999 control statements, the excess control statements are ignored.

Related reading: For the format of the control statements, see Control statements for the DBD/PSB/ACB Compare utility.