Using C GUI clients to call z/OS COBOL servers via Client Manager and Gen CICS Multi Sockets Server listener (TISRVMSL).
In the process of upgrading from Gen 8.5 to 8.6 and will have a transition phase where a mixture of application versions will need to be used.
Is it possible for an 8.6 client to call an 8.5 server?
Is it possible to keep a mix of 8.5 and 8.6 generated code/action blocks for clients and server managers?
Release : 8.5, 8.6
1. Is it possible for an 8.6 client to call an 8.5 server?:
In general, running 8.6 clients against 8.5 servers or 8.5 clients against 8.6 servers is supported because the Common Format Buffer used to send the data for Gen client/server distributed processing has not changed across versions. Either an 8.5 or 8.6 Client Manager can be used.
Gen™ 8.6 > Distributed Processing > Working With Distributed Processing > Understanding Distributed Processing > Data Representation
2. Is it possible to keep a mix of 8.5 and 8.6 generated code/action blocks?:
Answering for both clients and servers:
a. For C GUI client applications all code in each executable must be generated and built (compiled/linked) from the one version of Gen because the corresponding Gen C GUI runtimes are only supported with their matching version of the generated/compiled code i.e. 8.5 clients must be 100% generated from 8.5 and use 8.5 runtimes, 8.6 clients must be 100% generated from 8.6 and use 8.6 runtimes.
NOTE: 8.5 C runtimes have versioning which has now been removed in 8.6 to enable an improved future upgrade process. For further details please see: Gen™ 8.6 > Release Notes > Gen 8.6 GA Complete (8.6.2) > Gen Release 8.6 - see "Windows C Runtime".
NOTE: An 8.5 client calling an 8.6 client and vice versa is not supported i.e. Dialog flows across different client versions is not supported.
b. For CICS/COBOL Server Manager DLLs it is supported to use 8.6 runtimes with 8.5 generated code, so it is possible to have a mixture of 8.5 and 8.6 generated server managers both using the 8.6 runtimes. This is subject to the conditions covered in the 8.6 techdocs here: Gen™ 8.6 > Encyclopedia > Host Encyclopedia > Host Encyclopedia Construction > DLLs, Compatibility, and Application Migration in HE > Migrating from Gen 8.5
The above answers are purely from a technical perspective.
Per Gen Release and Support Lifecycle Dates the Gen 8.5 End Of Service (EOS) date was June 30, 2021.
After that 8.5 EOS date if applications still contain 8.5 generated code they will not be on a fully supported release.
This is as per this statement in the 8.6 techdocs section: Gen™ 8.6 > Encyclopedia > Host Encyclopedia > Host Encyclopedia Construction > DLLs, Compatibility, and Application Migration in HE > Changes Made in Gen 8.6 that Impact Migration
"This section contains information that enables applications to migrate to Gen 8.6. Some of these Gen applications may have been built by Gen releases that are no longer supported. The information is intended to move these applications to a supported release and in no way implies a change in Support Policy."