Daisy-chaining of DPL requests

Statically-routed DPL requests can be daisy-chained from region to region.

For example, imagine that you have three CICS® regions—A, B, and C. In region A, a program P is defined with the attribute REMOTESYSTEM(B). In region B, P is defined with the attribute REMOTESYSTEM(C). An EXEC CICS LINK PROGRAM(P) command issued in region A is shipped to region B for execution, from where it is shipped to region C.

Dynamically-routed DPL requests cannot be daisy-chained from region to region. Imagine two CICS regions, A and B. A program P is defined as DYNAMIC(YES), or is not defined , in both regions. An EXEC CICS LINK PROGRAM(P) command is issued in region A. The dynamic routing program is invoked in region A and routes the request to region B. In region B, the dynamic routing program is not invoked, even though program P is defined as DYNAMIC(YES); P runs locally, in region B.

CICS does not support the daisy-chaining of dynamic DPL requests which includes combining dynamic routing with static routing. When a DPL request has been dynamically routed CICS expects the program to execute in the target region. If a dynamically routed DPL request is statically daisy-chained to a different target region via intermediate regions, it must execute in that target region.