What does IMS Library Integrity Utilities do?

IMS™ Library Integrity Utilities aids you in managing data for the libraries, such as DBD libraries, PSB libraries, ACB libraries, RECON data sets, IMS catalog, IMS directory, and libraries containing DFSMDA members that you use when referring to IMS databases.

Some typical data management functions are:

These functions are provided by the following utilities:

Note: The utilities of IMS Library Integrity Utilities do not support IMS Partition DB (5697-A06, 5697-D85) or any other products with equivalent functions.

Integrity Checker utility

If the control blocks that IMS uses for access to a database are not the same as the ones that IMS used to load the database, data integrity can be compromised. This condition is one of the most common causes of corruption in IMS databases. Some typical reasons for using a wrong control block are as follows:

  • A batch program uses a test DBD library to update a production database.
  • A batch program uses a new DBD before the associated database is reorganized for that DBD.
  • An online IMS subsystem uses an old ACB to update a database that has been reorganized since its associated DBD was changed.

Using a wrong IMS control block is a common procedural error, which IMS or DBRC cannot prevent.

Integrity Checker addresses this error. To prevent both batch programs and IMS systems from using the wrong IMS control blocks for access to a database, it verifies the following two IMS control blocks during the database authorization:

  • The DMB that was used to load the database
  • The DMB that IMS is using to get access to a database

In a batch environment, your program uses DBDs to get the database definition needed for access to a database. In an online environment, your IMS subsystem uses ACBs to get that database definition. In either case, DL/I internally builds a control block, called DMB, for each database to be accessed, from a DBD or an ACB. As soon as DMB is created, all information about the database definition refers to the DMB, not to the DBD or the ACB. Integrity Checker verifies the internal control block DMB rather than the DBD or ACB itself.

If a mismatch is found, Integrity Checker denies authorization to the database. This mechanism prevents any accidental updating of a database with an incorrect DBD, which would result in corruption of the database.

Some benefits of using Integrity Checker are as follows:

  • It prevents the risk of corrupting data by using the wrong DBD.
  • It prevents the risk that corrupted data will cause system outages.
  • It reduces the cost of recovering databases that have been corrupted.

Integrity Checker provides an option to record database accesses that are made for database update, load, and unload operations. When you enable this option, Integrity Checker records database accesses that are made from the utilities and the application programs that are supported by Integrity Checker.

Consistency Checker utility

Consistency Checker ensures that the necessary definitions in an IMS subsystem have been created for your database or your application program. For a DBD in the DBD library, Consistency Checker verifies whether the following definitions have been created correctly in each library and whether these definitions are consistent with the DBD:

  • The ACB in the ACB library
  • The database definition entry in the MODBLKS module
  • The database definition entry in the resource definition data sets (RDDSs)
  • The DFSMDA dynamic allocation member for database data set in the MDA library
  • The DB and DSG registration record in the RECON

Consistency Checker decides which definitions are to be verified depending on the user input and the database organization defined in the specified DBD.

Related reading: For the libraries to be verified for each database organization, see Table 1.
For a PSB in the PSB library, Consistency Checker verifies whether the following definitions have been created correctly in each library and whether these definitions are consistent with the PSB:
  • The ACB in the ACB library
  • The application program definition entry in the MODBLKS module
  • The application program definition entry in the resource definition data sets (RDDSs)

Consistency Checker generates reports after checks and helps you determine which definitions are needed before you start an IMS subsystem.

Multiple Resource Checker utility

The Multiple Resource Checker utility checks the consistency across multiple resources.

For DBDs, Multiple Resource Checker verifies whether the following resources exist in each library and whether the definitions contained are consistent:
  • DBD members in DBD libraries
  • ACB members in ACB libraries
  • DB and DBDS records registered in RECON data sets
For PSBs, Multiple Resource Checker verifies whether the following definitions are the same in each library:
  • PSB members in PSB libraries
  • ACB members in ACB libraries

Multiple Resource Checker can process up to 10 DBD libraries, PSB libraries, ACB libraries, and 10 sets of RECON data sets in one job. The utility generates a Resource Check Summary report, which contains a matrix table that summarizes the results of checking.

You can use the Multiple Resource Checker to ensure that IMS resources are the same and, if inconsistencies are found, investigate which resources are inconsistent.

DBD/PSB/ACB Compare utility

The DBD/PSB/ACB Compare utility reports the differences between database description (DBD) control blocks, program specification blocks (PSB), or application control blocks (ACB). By using this utility, you can compare control blocks that have the same name but that reside in different libraries, or control blocks that have different names and that reside in the same object library or in different object libraries.

The reports produced by DBD/PSB/ACB Compare enables you to check the differences between DBDs, PSBs, and ACBs.

DBD/PSB/ACB Mapper utility

The DBD/PSB/ACB Mapper utility produces printed maps (pictures of the segment hierarchy) from DBDs, PSBs, and ACBs. It also produces detailed reports that describe DBDs, PSBs, and ACBs.

The maps produced by DBD/PSB/ACB Mapper can be used as recording mediums to retain the historical and current status of the IMS databases. They can also be used as a reference in comparing and evaluating the database requirements of current and proposed applications.

DBD/PSB/ACB Reversal utility

The DBD/PSB/ACB Reversal utility converts the DBD/PSB/ACB control blocks back into IMS DBDGEN/PSBGEN utility control statements. The DBD/PSB/ACB Reversal utility is helpful if you have lost your source libraries that contain DBDGEN/PSBGEN utility control statements.

The DBD/PSB/ACB Reversal utility also produces useful summary reports of IMS DBD, PSB, and ACB libraries. These reports represent the IMS member information, such as DBD, PSB, and ACB organization, PCB PROCOPT, and the relations among members.

MDA Reversal utility

The MDA Reversal utility converts DFSMDA members back into DFSMDA macros. Also, the utility generates a report that lists DFSMDA members and their properties.
  • Convert DFSMDA members back into DFSMDA macros – converts DFSMDA members back into DFSMDA macros. This function reads one or more DFSMDA members from the specified library and converts them back into DFSMDA macros.
  • Generate a report that contains a list of DFSMDA members – generates the Library Contents report which contains a list of DFSMDA members in the specified library. Detailed information about DFSMDA members, such as the name of the DD statement and the name of the data set, is shown for each DFSMDA member.

Catalog Manager utility

The Catalog Manager utility provides the capabilities to ensure that the IMS catalog and the IMS directory are maintained correctly and to analyze DBDs and PSBs in the IMS directory.

  • Start of changeTime stamp validation — checks DBDs and PSBs in the IMS catalog to ensure that they are maintained correctly. It checks the time stamps of DBDs and PSBs in the IMS catalog, the IMS directory, and ACB libraries to ensure that they are consistent.End of change
  • Compare IMS control blocks — compares IMS control blocks and reports the differences. The utility supports comparing IMS control blocks (DBD-type ACBs and PSB-type ACBs) within the IMS directory, and those between the IMS directory and ACB libraries. The utility also supports comparing those resources in the IMS directory with DBDs in DBD libraries and PSBs in PSB libraries.
  • Convert IMS control blocks to IMS DBDGEN/PSBGEN utility control statements — converts ACBs in the IMS directory back into IMS DBDGEN/PSBGEN utility control statements. This function is useful, for example, when you no longer have the original source for ACBs and you need to re-create them.

Advanced ACB Generator utility

Advanced Application Control Block Generator (also referred to as Advanced ACBGEN utility) is a functional replacement for the IMS Application Control Blocks Maintenance utility (DFSUACB0, also referred to as IMS ACBGEN utility), with improvements. The Advanced ACBGEN utility can also replace the IMS ACBGEN utility (DFSUACB0) to generate ACB members within ACB Generation and Catalog Populate utility (DFS3UACB) jobs.

The Advanced ACBGEN utility uses some of the IMS provided modules and replaces others. Additionally, several utilities are provided to display and audit the contents of an ACB library.

Advanced ACBGEN utility provides the following features:

  • Extensive and informative set of reports
    • Data set information about the ACB, PSB, and DBD libraries used
    • Summary of PSBs added, replaced, and deleted during ACBGEN
    • Summary of DBDs added, replaced, not replaced, and deleted during ACBGEN
    • Distribution of PSB and DBD sizes
    • Summary of DFSnnnn messages issued
  • Utility to analyze an ACB library for potential problems
    • Verifies that all members are at the same IMS version and release level
    • Verifies that the ACB library does not contain any PSBs or DBDs inadvertently placed there during a DBDGEN or a PSBGEN
    • Generates a distribution of unique ACBGEN dates
  • Improved performance
    • Elapsed time reductions of 200% to 500% (2 - 5 times as fast)
  • Reduced use of system resources
    • Reduces use of CPU
    • Reduces EXCPs
    • Reduces volume of SYSPRINT
  • Easy to use
    • Implemented by adding the load library of IMS Library Integrity Utilities to the top of the STEPLIB DD concatenation when invoking current JCL procedures
    • Uses but does not modify IMS modules

ACBLIB Analyzer utility

The ACBLIB Analyzer utility verifies that all ACB library members are at the same IMS Version/Release level, and that all members were placed in the ACB library by the ACBGEN process—that is, the library was not inadvertently used during a DBDGEN or PSBGEN. The utility program also produces several reports.

MFS Reversal utility

MFS Reversal is designed to convert Message Format Services (MFS) control blocks (MIDs, MODs, DIFs, and DOFs) back into IMS MFS utility control statements.
Note: MID refers to Message Input Descriptor and MOD to Message Output Descriptor; DIF refers to Device Input Format, and DOF to Device Output Format.

The primary purpose of MFS Reversal is to re-create MFS sources. This recovery function is important if you have lost your MFS source library or suspect a difference between the control blocks being used and the source.

In addition to decoding MFS control blocks, MFS Reversal provides valuable summary reports of IMS format libraries. You can use these reports to obtain the cross-reference information between the MID/MODs and the DIF/DOFs, and the cross-reference information between the MIDs and the MODs. Also, if a MID or MOD has been selected for reversal, the report informs you of other MIDs and MODs names that were not selected for reversal, but refer to the same DIFs and DOFs referenced by the selected MID or MOD.

You can optionally request the MFS Reversal utility to copy the selected MFS control blocks and their associated control blocks from the IMS format library to a user-specified partitioned data set.

MFS Compare utility

MFS Compare is designed to compare two sets of MFS format control blocks from two MFS format libraries to quickly highlight differences between them.

MFS Compare enables you to compare two MFS format libraries. If you are not sure whether the MFS you are running corresponds to your MFS source library, you can create MFS control blocks from your source statements and then compare the control blocks with the control blocks you are running. Thus, you can use MFS Compare to validate what actually is operating in a particular IMS environment.