Allocating ACBLIB data sets

ACBLIB data sets contain the application control blocks (ACBs), which describe IMS applications, and data management blocks (DMBs), which describe databases and the applications that can access them.

The ACBLIB data sets are required to be allocated only in IMS systems that use ACB libraries. If the IMS management of ACBs is enabled in your IMS system, any instructions to allocate ACBLIB data sets are ignored. The IMS management of ACBs is enabled by the ACBMGMT= parameter in the CATALOG section of the DFSDFxxx PROCLIB member.

You can allocate active and inactive ACBLIB data sets by using either JCL or DFSMDA members.

If you use the DFSMDA member for the allocation of IMSACB, you can dynamically allocate active and inactive ACBLIBs and remove the JCL DD statements for them from their IMS and DL/I procedures.

Do not mix allocation methods. For example, you cannot allocate one ACBLIB data set with JCL and the other with DFSMDA. When the IMS control region is initialized, IMS checks whether any of the ACBLIBs are allocated using JCL. If either IMSACBA or IMSACBB is allocated in the control region or DL/I region using JCL, both must be allocated using JCL. After IMS determines that one of the ACBLIB DD statements is present, no DFSMDA members are processed. If JCL is used for IMSACBA but not for IMSACBB, IMS terminates with abend U0023.

The IMSACBA and IMSACBB DD statements in the JCL for the FDR, DBC, DCC, DLISAS, and IMS procedures take precedence over the DFSMDA member. For dynamic allocation to occur, you would need to remove the IMSACBA and IMSACBB DD statements in the JCL for the FDR, DBC, DCC, DLISAS, and IMS procedures (and keep the DFSMDA member).

Allocating ACBLIB data sets using JCL

If you allocate ACBLIBs using JCL, IMS opens the active ACBLIB when the control region is initialized. The inactive ACBLIB is opened only after an online change procedure is initiated. However, because the JCL DD statement is in the IMS JCL procedure, the inactive ACBLIB data set is always allocated. If you have defined a DL/I SAS, the DD statements for the IMS ACBLIBs are also in the DL/I JCL procedure.

Ensure that the same ACBLIB data sets are specified on the control region JCL and the DL/I region JCL. If an inconsistency occurs in the naming of the ACBLIB data sets specified on the control region JCL and the DL/I region JCL, the IMS control region initialization terminates with abend U0023.

Allocating ACBLIB data sets using DFSMDA

When you use DFSMDA members, the active ACBLIB is allocated when the control region is initialized. The inactive ACBLIB is not allocated until an online change procedure is initiated. However, because the inactive ACBLIB is not allocated during normal IMS processing, you can resize the inactive ACBLIB data sets, add data sets to the concatenation, or change data sets in the concatenation without bringing IMS down.

When you use DFSMDA, the IMS ACBLIB data sets are allocated with disposition of "SHR."

Two DFSMDA members must be defined:

  • A DFSMDA member for the data sets in the IMSACBA concatenation.
  • A DFSMDA member for the data sets in the IMSACBB concatenation.

The DFSMDA member names correspond to the DD statements for the ACBLIBs. For example, DFSMDA member IMSACBA contains all the data sets in the IMSACBA concatenation. DFSMDA member IMSACBB contains all the data sets in the IMSACBB concatenation.

If you use DFSMDA members and the dynamic allocation of the active ACBLIB fails, IMS terminates with abend U0023.

If DFSMDA members are used to allocate the ACBLIB data sets, and no DFSMDA member is found for the active ACBLIB, the IMS control region initialization terminates with abend U'0071' and message DFS0887A.