It sounds like your program has not implemented the IBM SHROPT(4 3)
requirement for how to use ENQ/DEQ:
"If your program is updating, after the update has completed the ENQ/DEQ
bracket, the reader must determine the required operations for control
block refresh and buffer invalidation based on a communication mechanism or
assume that everything is not at the latest level and refresh each request."
See
https://www.ibm.com/support/knowledgecenter/SSLTBW_2.4.0/com.ibm.zos.v2r4.idad400/crso.htm
Most likely the function missing in your application is "buffer
invalidation based on a communication mechanism" -- ENQ/DEQ is not enough
if doing it at the individual update level (which sounds like what your
program is doing).

On Wed, Jan 20, 2021 at 2:19 AM Steff Gladstone <[email protected]>
wrote:

> Greetings,
>
> We are trying to figure out how a VSAM file became compromised. That is,
> even though the primary key is unique, when we do a REPRO, we see that the
> data contains an extra record with the same key.
>
> The file is updated from two different computers via a batch COBOL program.
> The share options are (4,3) and an enqueue (with parameter SYSTEMS) is
> performed (using an assembler subroutine) before any update is done.  The
> site has a 3rd-party product from CA that propagates the ENQ from one
> computer to the other.  We even tested the ENQ and saw that an update from
> the second computer was blocked when the first computer previously issued
> an ENQ prior to its update.
>
> It looks as if an update in one computer has not been committed from memory
> to disk before the update in the second computer occurs.  Which definitions
> are lacking that would prevent this from happening?
>
> Thanks in advance,
> Steff Gladstone
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to