Resolving the delay in communication between regions across systems using ppc_tcp protocol due to a non-responsive host specified prior to the desired host in CICS_HOSTS environment variable.
For communication between regions across systems over ppc_tcp protocol, you need to use the CICS_HOSTS environment variable for specifying the destination host addresses.
For example, if region REG1 running on HOST1 is configured to initiate a communication over ppc_tcp to regions REG2 and REG3 running on hosts HOST2 and HOST3 respectively, we need to add CICS_HOSTS environment variable to the region REG1's environment file where the CICS_HOSTS variable specifies the list of destination address (in dotted decimal, dotted hexadecimal or internet name service format) to which REG1 might communicate. Resolution of the destination address will be from left to right.
In REG1 environment file, you need to add the following line: CICS_HOSTS = "HOST2 HOST3"
If a transaction on REG1 running on HOST1 initiates a communication with REG3 running on HOST3, CICS will first search for REG3 on HOST2. If this entry is not found, it will search for REG3 on HOST3 (resolving from left to right). Once found, the communication between regions REG1 and REG3 will start over ppc_tcp. If HOST2 is not reachable for any reason, CICS will re-attempt several times to establish communication with HOST2 before moving to HOST3 for searching region REG3. This causes a delay in communication between regions REG1 and REG3.
You can avoid this delay can be avoided by configuring the RemoteTCPAddress attribute in CD.stanza to specify destination address where region REG3 is running.
RemoteTCPAddress can be specified in dotted decimal, dotted hexadecimal or internet name service format provided the same format is used in CICS_HOSTS environment variable.