DL/I Control Blocks


User needs to provide information about how IMS segments can be accessed, updated, deleted, or new ones inserted, and other access control specifications. User will do this through a series of specifications that will be grouped as a block called as control blocks.

DL/I command language is used perform the data manipulation functions using control blocks. So control blocks also called as DL/I control blocks.

Control blocks will control the way how the IMS will structure and access the data stored in the database. Based on the data structure and control specifications there are three major control blocks.

  1. DBD describes the database organization and access methods.
  2. PSB describes an application program's view and use of the database.
  3. ACB combines information from the DBD and PSB.

DataBase Description (DBD) -


Uses to defines the layout of the database. Database administrator defines layout using DBDGEN macro.

The DBD contains the name of the database and defines the whole database actual structure. The DBD can be explained in detail here .

Program Specification Block (PSB) -


A PSB is the set of all PCBs that a application program using. The application program can access only database which are defined in the PSB. PSBs are generates by using PSBGEN and will be stored in a PSBLIB.

Program Specification Block is a set of one or more PCBs. The PSB can be explained in detail here .

Application control blocks (ACBs) -


An ACB is the run-time control block which is a consolidation of PSBs and DBDs. In another words, Application control blocks (ACBs) are created by merging information from PSBs and DBDs.

For online program ACB must be build before using ACB maintenance utility. ACBGEN ran for online programs, which merges the DBD and PSB and creates the ACB. The ACB can be explained in detail here .