Date: Tue, 18 Jan 2005 18:32:25 -0600
Reply-To: CICS List <CICS-L@LISTSERV.UGA.EDU>
Sender: CICS List <CICS-L@LISTSERV.UGA.EDU>
From: "Bohonsky, Richard E." <Richard.E.Bohonsky@PS.NET>
Subject: Re: Simultaneously updating a VSAM file from two tasks using 2
different filenames
Content-Type: text/plain; charset="us-ascii"
Think the default is CILOCK=NO, so if you override it with CILOCK=YES
you might find it in your overrides, otherwise it should already be set.
It is documented in the CICS Systems Definition Guide. I don't think it
made the original TS 2.2 manuals but APAR PQ74971 provided documentation
if you don't have the latest manuals. It is in the 2.2.7.473u release of
the CICS Information Center I'm using.
Richard Bohonsky
Perot Systems Corporation
-----Original Message-----
From: CICS List [mailto:CICS-L@LISTSERV.UGA.EDU] On Behalf Of Flores,
Michael J.
Sent: Tuesday, January 18, 2005 6:12 PM
To: CICS-L@LISTSERV.UGA.EDU
Subject: Re: Simultaneously updating a VSAM file from two tasks using 2
different filenames
Didn't see this SIT parameter for 2.2. Are you sure it's available for
TS 2.2?
What VSAM SHR option are you using for the two files?
-----Original Message-----
From: CICS List [mailto:CICS-L@LISTSERV.UGA.EDU]On Behalf Of Bohonsky,
Richard E.
Sent: Tuesday, January 18, 2005 4:18 PM
To: CICS-L@LISTSERV.UGA.EDU
Subject: Re: Simultaneously updating a VSAM file from two tasks using 2
different filenames
Are you at CICS TS 2.2 or later? Do you have CILOCK=NO in the SIT? If
you do, shouldn't see the lock held until REWRITE, just until the READ
for UPDATE is finished.
Richard Bohonsky
Perot Systems Corporation
-----Original Message-----
From: CICS List [mailto:CICS-L@LISTSERV.UGA.EDU] On Behalf Of John Krew
Sent: Tuesday, January 18, 2005 4:37 PM
To: CICS-L@LISTSERV.UGA.EDU
Subject: Simultaneously updating a VSAM file from two tasks using 2
different filenames
I tried reading and updating the same VSAM file from two different
CICS tasks using CECI. The
catch is that the VSAM file is defined twice in the CSD definitions.
One filename references the
physical VSAM dataset with user-journalling defined, while the second
filename references the same
dataset with user-journalling not defined.
One task read filename1 with update and then rewrote the record. The
other task read filename 2
(same physical VSAM file), reading for update a *different* record
(different key) but probably in
the same control interval.
What happened is that the second read waits for the first read/update
transaction to finish. As
soon as the REWRITE operation ends, the second task stops waiting and
its READ with UPDATE is
executed. In other words, the behavior I would expect if the *same*
filename was used by the two
tasks.
The upshot seems to be that two CICS tasks can simultaneously update the
same physical VSAM file via
two different logical file names, the only apparent conflict being the
wait one causes the other
when they both go after a record in the same control interval.
This behavior is important to us as it would allow us to prevent CDC
data (recorded on user
journals) from being bounced back and forth between source and target
files (databases) in an
infinite loop.
Can someone confirm my conclusions either from their experience or from
IBM documentation?
Thanks,
John Krew