Gen 8.6 now supports ECI v2 as one of the middleware choices for Gen C clients (GUI, COM Proxy and C Proxy) to communicate with Gen COBOL servers on CICS. Compared to ECI v1, ECI v2 provides the new capability to send more than 32KB of data on each cooperative flow by utilizing Containers. ECI v2 also allows the CICS Transaction Gateway (CTG) to be located on a different machine than the client applications. This allows for a smaller client footprint and for the configuration and administration of the CTG to be centralized.
Gen C clients (GUI, COM Proxy, C Proxy)
ECI v1 or ECI v2
Gen 8.6 provides ECI v2 support with PTFs SO12045 and SO12046 for the z/OS platform and PTF RTN86206 for the Windows platform.
ECI flow types
Gen 8.6 will continue to support ECI v1 cooperative flows for backward compatibility. ECI v2 cooperative flows offer additional choices for how the data on the flow can be encapsulated and which network protocol can be used to transmit the data. The data on the flow can be sent in the COMMAREA (DFHCOMMAREA) or in Containers. The COMMAREA still has a size limit of 32KB, while Gen 8.6 allows up to 16MB of data when using Containers. ECI v2 supports using the IPIC network protocol to transmit the data, but also supports using the ECI over TCP/IP network protocol used by ECI v1. IPIC connections provide multiple benefits such as Container support and better quality of service. Please note that the IPIC network protocol must be used if the data is encapsulated in Containers.
The table below summarizes the types of ECI flows supported.
Flow Type |
Data Encapsulation Type |
Data Size Limit |
Network Protocol |
Reason why someone might choose this option |
ECI v1 |
COMMAREA |
32KB |
ECI over TCP/IP |
Backward compatibility |
ECI v2 |
COMMAREA |
32KB |
ECI over TCP/IP |
CTG remote application support, but don’t have/want IPIC |
ECI v2 |
COMMAREA |
32KB |
IPIC |
CTG remote application support; IPIC benefits, but don’t need/want Containers |
ECI v2 |
CONTAINER |
16MB |
IPIC |
CTG remote application support; IPIC benefits; >32KB |
Note: CTG remote application support for ECI v2 requires IBM’s ctgclient.dll to be deployed with the client application. If using the Build Tool to assemble an msi file, ctgclient.dll can be included as an additional file.
COMMCFG.INI File Settings
Which type of ECI flow to use for each transaction can be specified in the commcfg.ini file using one of two supported formats.
For ECI v1, the existing format shown below is still used:
<TRANCODE> ECI {ECI System Name}
For ECI v2, the new format shown below is now used:
<TRANCODE> ECI <StorageType> {HostName} {PortNumber} {ECI System Name}
where StorageType describes how the data on the flow will be encapsulated. HostName and PortNumber describe where the CICS Transaction Gateway (CTG) is located and what port it is listening on.
As an example, for the four flow types shown in the table above, the commcfg.ini file might contain lines similar to the ones shown in the table below.
COMMCFG.INI Entry |
Description |
TRN1 ECI REG1TCP |
ECI v1 flow - will use COMMAREA and ECI over TCP/IP |
TRN2 ECI COMMAREA CTGhost.mycorp.com 2006 REG1TCP |
ECI v2 flow - will use COMMAREA and ECI over TCP/IP |
TRN3 ECI COMMAREA CTGhost.mycorp.com 2006 REG1IPIC |
ECI v2 flow - will use COMMAREA and IPIC |
TRN4 ECI CONTAINER CTGhost.mycorp.com 2006 REG1IPIC |
ECI v2 flow - will use CONTAINER and IPIC |
where REG1TCP represents a CICS Server name defined in the CTG for a CICS region that is configured to use the ECI over TCP/IP network protocol and REG1IPIC represents a CICS Server name defined in the CTG for a CICS region that is configured to use the IPIC network protocol.
ECI DLLs
PTF RTN86206 supplies two new DLLs in order to provide ECI v2 support. There is a new DLL that provides the ECI v2 cooperative flow runtimes (eciv2cfn.dll) and a new DLL that provides the ECI v2 User Exit (eciv2cxn.dll). If deploying remote ECI v2 applications, these two new DLLs need to be deployed along with the other Gen runtimes. If using the Build Tool to assemble an msi file, these two new DLLs will automatically be included. The existing ECI v1 DLLs are still needed if using ECI v1 flows.
The table below summarizes the DLLs needed for each ECI flow type.
Flow Type |
Cooperative Flow Runtime DLL |
User Exit DLL |
User Exit Source |
User Exit Makefile |
ECI v1 |
ecicfn.dll |
ecicxn.dll |
cieciclx.c |
ceciexit.nt |
ECI v2 |
eciv2cfn.dll |
eciv2cxn.dll |
cieciv2x.c |
ceciv2ex.nt |
Troubleshooting and Common Errors
Please see KB article CA Gen 8.6 ECI v2 Middleware troubleshooting.
Known Limitations
Please be aware of the following limitations with ECI v2 support:
For details on the new ECI v2 User Exit, please see the following link:
Gen™ 8.6 > Reference > User Exits > Windows C User Exits > Windows ECI User Exits > CI_ECI_V2_USER_EXIT - Get ECI V2 Flow Customizations Exit (Windows)