Control blocks

DL/I database support uses the control blocks DIB, DLP, and UIB, which are shown in Figure 40.

Figure 40. Control blocks for DL/I database support
 An application program using CALL DLI uses the DIB control block. An application program using EXEC DLI uses the UIB control block. Access to DL/I databases from both kinds of application program is handled by DFHEDP, DFHDLI, DFHDLIRP, and DFHDLIDP, and all of these modules use the DLP control block.

DL/I interface block (DIB)

When an application program issues EXEC DLI requests, it uses the user DL/I interface block (DIB) instead of the user interface block (UIB). On return, DFHEDP extracts data from the UIB to place in the DIB. The storage for the user DIB is part of the application program. The definition of the user DIB is automatically inserted by the CICS® translator for an EXEC DLI application program.

DL/I interface parameter list (DLP)

The DL/I interface parameter list (DLP) is a global DL/I interface control block that lasts for the duration of a CICS session, and contains information relating to the type of DL/I support present in the CICS system. The DLP is created during CICS startup and is addressed by CSADLI in the CSA optional features list.

See CICS Data Areas for a detailed description of this control blocks.

User interface block (UIB)

The user interface block (UIB) is the control block used by the CALL and CALL DL/I interfaces to pass response codes and the PCB address list to application programs using CALL DL/I services. The UIB is acquired when a task issues its first PSB schedule request specifying that it requires a UIB. The UIB is freed at task termination. TCADLIBA points to the UIB.

See the CICS Data Areas manual for a detailed description of these control blocks.

[[ Contents Previous Page | Next Page Index ]]