DBD/PSB/ACB Compare utility overview

The DBD/PSB/ACB Compare utility reports the differences between two control blocks (DBDs, PSBs, or ACBs), of the same type or different types, that have the same name but reside in different IMS™ libraries. The utility also reports the differences between two control blocks of the same type that have different names and that reside in the same IMS library or in different IMS libraries. If there are no differences, only activity messages are produced. However, you can optionally generate source-level compare reports even when no difference is found.

Function overview

The utility provides the following functions:
DBD Compare function
This function compares two control blocks, that is, two DBDs or a DBD and a DBD-type ACB that have the same name but reside in different libraries, and produces a report that shows the differences. Additionally, this function compares two DBDs that have different names and that reside in the same library or in different libraries.
PSB Compare function
This function compares two control blocks, that is, two PSBs or a PSB and a PSB-type ACB that have the same name but reside in different libraries, and produces a report that shows the differences. Additionally, this function compares two PSBs that have different names and that reside in the same library or in different libraries.
ACB Compare function
This function compares two control blocks, that is, two ACBs, a DBD-type ACB and a DBD, or a PSB-type ACB and a PSB that have the same name but reside in different libraries, and produces a report that shows the differences. Additionally, this function compares two ACBs that have different names and that reside in the same library or in different libraries.

Program structure and job step

DBD/PSB/ACB Compare consists of one program, FABLCOMP that controls other load modules and compares two control blocks (DBDs, PSBs or ACBs). This program builds and prints a report that shows the differences between two control blocks of the same type or different types that have the same name but that reside in different libraries. It also builds and prints a report that shows differences between two control blocks, of the same type, that have different names and that reside in the same library or different libraries. If no difference is found, the compare report is not created, and only activity messages are produced. However, if SOURCE and NODIFF parameters are both specified on the REPORT statement, the utility generates source-level compare reports even when no difference is found.

This program uses simple input formats that are specified in the SYSIN data set. All activity and error messages are written in the data set that is defined by the SYSOUT DD statement. If the CTLSTMT parameter is specified for the REPORT statement, the echo of the SYSIN control statements and selected runtime options are written to the SYSPRINT data set.

Data flow

The following figure shows the general data flow for DBD/PSB/ACB Compare (FABLCOMP). Input consists of the SYSIN data set and the DBDLIB, PSBLIB, and ACBLIB data sets. Output consists of the reports and activity log.

Figure 1. Data flow for DBD/PSB/ACB Compare
This figure depicts data flow for DBD/PSB/ACB Compare. It has  four inputs; control statements, DBDLIB, PSBLIB, and the ACBLIB data sets. It has two outputs; reports and the activity log.