Accessing an ESDS file that's open to CICS
I need to access an ESDS file that is open to CICS for update from a batch COBOL program. It is a high activity file that I cannot close and reopen to flush the buffers and update the RBA pointers.
Is there another way to force the file to update the RBA information without closing the file?
I'm afraid that in this circumstance you are stuck. If you are using an ESDS file, then you are adding records at the end. So, some alternative programming techniques suggest themselves:
- The first is to use two ESDS and then get CICS to read the Batch one after update and adding the records at the end of the CICS ESDS.
- The second is to use my EXCI SupportPac and get batch to send the individual records to CICS for appending to the file.
- Something else which you may care to investigate is the new(ish) Transactional VSAM support but I'm not sure if this works for an ESDS.
As an aside, you don't say why you are using an ESDS. Perhaps it is for the dumping of records from CICS, bearing in mind the high activity on it. If this is so, I think you should investigate using the Logger facilities to do this output. It's more efficient but at the expense of more complicated batch processing.
This was first published in December 2005