Remote DL/I

This topic gives information that is specific to remote DL/I.

An overall description of DL/I database support is given in DL/I database support.

System definition

For a CICS® system that supports only remote databases, you must, in addition to providing the usual definitions that are required for function shipping, code a PSB directory (PDIR) using the DFHDLPSB macro. Every PDIR entry must have SYSIDNT specified. The PDIR system initialization parameter must be coded specifying the suffix of the PDIR.

Design overview

DL/I PSB scheduling

When a CICS task requests the scheduling of a DL/I PSB by means of an EXEC DLI SCHEDULE request or DL/I PCB call, and the request is for a remote PSB, control is passed to DFHDLIRP. DFHDLIRP allocates a remote scheduling block (RSB) and issues a DFHIS TYPE=CONVERSE macro to ship the scheduling request to the owning system.

Database calls

For a remote DL/I database call, a DFHIS TYPE=CONVERSE macro is issued to ship the request to the owning system. The return codes are passed back to the user in the user interface block (UIB).

DL/I PSB termination
If a remote PSB is terminated, the actions performed are:
  1. Free the RSB and local program communication block (PCB) storage.
  2. If the DL/I PSB termination was not caused by a CICS syncpoint, request one now.

Control blocks

Figure 1 illustrates some of the control blocks used to support remote DL/I.
Figure 1. Some control blocks used for remote DL/I support
CSADLI, the DL/I interface entry, points to DLP, the DL/I interface parameter list. DLP includes DLPDLI (entry point for DFHDLI), DLPEDPEP (entry point for DFHEDP), DLPRPEP (entry point for DFHDLIRP), and DLPRPDIR, which points to PDIR, the remote PSB directory. TCARSBA, the DBCTL remote scheduling block address, points to RSB, the remote scheduling block.

The DL/I interface parameter list (DLP) is described in DL/I interface parameter list (DLP).

The remote PSB directory (PDIR) contains an entry for each remote PSB that can be used from an application program.

The remote scheduling block (RSB) is acquired when a CICS task issues a PSB schedule request for a remote PSB. The RSB is freed when the task issues a SYNCPOINT or a DLI TERM request.