Previously our batch ran at the end of the online day, after CICS had been closed. We now want to leave our online up for an extra hour, for enquiry only and start the batch while the online is still up.
To enable this we set all our files to 'read-only' in CICS before the batch starts, as so:
Fil(SEPENBL ) Vsa Ope Ena Rea Bro Sha
Dsn( SEY.USSET.SEPENBL )
All our files have ShareOptions (2,3) - so I believe this should allow the online to read the VSAM files, while the batch can update.
This is working ok in UAT, except for 3 jobs which are occasionally abending with this error:
IEC161I 052(013,USJCICS)-084,YNYLS79D,S010 NYLS79D,SEPENBL,,,
Which I believe is basically saying that the batch job can't have update access to the VSAM file as CICS region USJ has already got update access to the file.
I've checked the file statuses in CICS at the time of the abends, they are still: Fil(SEPENBL ) Vsa Ope Ena Rea Bro Sha - so nothing has changed the file statuses to updateable again. Which was my first thought.
So +100 jobs work fine with this approach, but 3 jobs abend occasionally. Has anyone any ideas why?
The jobs that abend all get contention on VSAM files that have alternate index's. But they are all different files.
Two jobs complain about the alternate index, the 3rd job complains about the main clusters.
All files, alternate index's and associated files have ShareOption(2,3).
I'm guessing there is some other option in the file definition, or environment that is not compatible with sharing the files across CICS and batch - but what?
Any help would be much appreciated.