I have a VSAM file that is currently defined to both CICS and a batch scheduling subsystem for update. CICS writes data to the VSAM file, and the batch scheduler subsystem, called CA7, reads and deletes the record from the VSAM file. This means that both subsystem can update the VSAM file and at times both sides try updating the VSAM file at the same time, which causes a 'deadly embrace.' The CICS region and the scheduler stop communicating and have to be cycled to break the 'embrace'.
Instead of writing the data to a VSAM file from CICS, I'd like to do one of two things:
(1). Pass the data to an MQ queue and tigger a batch job to read the data and update the VSAM file then invoke the scheduler.
(2). Or pass the data from CICS to a batch job that will update add the data to the VSAM file and then invoke the scheduler.
If anyone has a suggestion on the best way to pass data between CICS and a batch job please let me know. Any and all examples would be greatly appreciated.