How can I test different versions of the same load module in CICS? Can you shift between different load datasets?...
I remember, back in the VERY old days of CICS 1.4, when the Command Level API was starting to replace the functions of the Macro API, wanting to do exactly what you are suggesting. Have an older version of a named module and a newer version of the same module around in the same CICS region, and then somehow switch between them for testing purposes.
Needless to say, it did not work then, and I'm afraid that this operation is still not available.
The closest you can get to this is to have a load library in DFHRPL into which you can place versions of your module, and then CEMT NEWCOPY each time to bring whatever version is in there active.
If you can link the newer version of the program with a different name to that of the old, then you can use the XPCREQ GLUE to alter the name of the program being linked to (better to have RDOed the new name rather than use PROGRAM Autoinstall). You would write a little bit of GLUE code to alter the relevant name to the newer one and enable it to use the new program-name.
You might also want to think about using the XFCFTCH exit, but this would require knowledge of the Entry Point Address of the newer program, and so be more complex to code - but this will work for modules being run from a TRANSACTION definition.
Dig Deeper on IBM system z and mainframe systems
Related Q&A from Robert Crawford
For better mainframe capacity planning, how do I convert CPU hours to MIPS? And is there a way to calculate the relationship between MIPS and MSUs? Continue Reading
I have two years of experience in mainframe technology, currently working as a mainframe developer. I want to change to Java technology. Continue Reading
I want to replicate DB2 from the mainframe to an AIX box since it's cheaper and the copy can be used for testing. Is this possible? Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.