Overview of DPL

CICS® distributed program link enables CICS application programs to run programs residing in other CICS regions by shipping program-control LINK requests.

An application can be written without regard for the location of the requested programs; it simply uses program-control LINK commands in the usual way. Typically, entries in the CICS program definition tables specify that the named program is not in the local region (known as the client region) but in a remote region (known as the server region).

An illustration of a DPL request is given in Figure 26. In this figure, a program (known as a client program) running in CICA issues a program-control LINK command for a program called PGA (the server program). From the installed program definitions, CICS discovers that this program is owned by a remote CICS system called CICB. CICS changes the LINK request into a suitable transmission format, and then ships it to CICB for execution.

In CICB, the mirror transaction (described in CICS function shipping) is attached. The mirror program recreates the original request, issues it on CICB, and, when the server program has run to completion, returns any communication-area data to CICA.

Figure 26. Distributed program link
 The picture shows two CICS regions, CICA and CICB, connected by an ISC or MRO session. On CICA, a program PGA is defined as owned by CICB (REMOTESYSTEM(CICB)). On CICB, PGA is defined as a local program. On CICA, a program issues an EXEC CICS LINK PROGRAM(’PGA’) COMMAREA(....) command. Because the PGA is defined as remote, CICA ships the request to CICB. On CICB, the mirror transaction issues the LINK PROGRAM call and, when PGA has completed, returns any communication-area data to CICA.

The CICS recovery and restart facilities enable resources in remote regions to be updated, and ensure that when the client program reaches a syncpoint, any mirror transactions that are updating protected resources also take a syncpoint, so that changes to protected resources in remote and local systems are consistent. The CSMT transient-data queue is notified of any failures in this process, so that suitable corrective action can be taken, whether manually or by user-written code.

A client program can run in a CICS intercommunication environment and use DPL without being aware of the location of the server program. CICS is made aware of the location of the server program in one of two ways. DPL requests can be routed to the server region either statically or dynamically.

Related concepts
Intersystem queuing
Examples of DPL
Related tasks
Statically routing DPL requests
Dynamically routing DPL requests
Daisy-chaining of DPL requests
Defining local resources for DPL
Defining remote resources for DPL
Application programming for CICS DPL
Related reference
Limitations of DPL server programs
Appendix A. Intercommunication rules and restrictions checklist
[[ Contents Previous Page | Next Page Index ]]