Distributed program link (DPL)
When a CICS® program issues an EXEC CICS LINK command, control passes to a second program (referred to as the linked-to program) that is named in the EXEC CICS LINK command. The second program executes and, after completion, returns control to the first program (referred to as the linking program) at the instruction that follows the EXEC CICS LINK command. The linked-to program can return data to the linking program if the EXEC CICS LINK command has used the COMMAREA option to pass the address of a communication area.
Distributed program link (DPL) extends the use of the EXEC CICS LINK command so that the linked-to program can be on a remote CICS system. When the linked-to program is on a remote CICS system, it is referred to as a back-end program.
- To separate the end-user interface (for example, BMS screen handling) from the application business logic (for example, accessing and processing data). This makes it easier to port part of an application between systems, such as moving the end-user interface from a IBM® mainframe-based CICS system to a TXSeries® for Multiplatforms system.
- To obtain performance benefits from running programs closer to the resources that they access, therefore reducing the need for function shipping requests and reducing the number of flows of data between the connected CICS regions.
- Where applicable, to provide a simpler solution than distributed transaction processing (DTP).
- To access relational database management systems (RDBMSs) with a program using Structured Query Language (SQL).
DPL is used when either the linked-to program is defined as remote in the Program Definitions (PD) for that program, when the SYSID option is specified on the EXEC CICS LINK command, or when the program is linked with the dynamic distributed program link user exit. This is described in Using the dynamic distributed program link user exit.