Reader question: CICS is doing read only, while batch jobs update the VSAM files. We were having problems with read integrity in CICS occasionally not being able to locate the records that were added by the batch jobs. You recommended doing a close/open on the files when the batch job ended.
We have implemented this solution by writing a program that issues the close/open. It works well, usually. However, sometimes, if there is a task running which is using the file, when the close/open program issues the close, the file is disabled but not closed. And usually, when that task ends, the file is closed and then reopened by the close/open program. Occasionally, however, the task using the file behaves erratically. Sometimes it loops on a readnext. Sometimes it just seems to hang.
I'm wondering if we are seeing these symptoms if the batch updating resulted in a control area split which means that CICS is using index records in his buffer that no longer reflect the real file. I understand that the close/open updates the highest used RBA, etc., which allows us to locate added/updated records. Could we also be having unpredictable problems because of control area splits? I keep recommending VSAM RLS but I can't get my managers or the CICS folks to listen.
Robert: Hmmm, if the VSAM file is actually closed whilst the batch updating is going on, CA/CI splits should not cause access errors (as the relevant storage areas are refreshed). RLS is really what you want.
You might, however, put the file name in the RDO entry for the file (take it away from the JCL) so that after the file is closed, deallocate it from the CICS region by deleting the definition. Then, to restore CICS access to the file, you will have to reinstall it (from CEDA or programmed equivalent) before opening it. This will ensure that nothing is being held over the open/close processing!
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