On Tue, Oct 8, 2019 at 11:16 AM Pesce, Andy <[email protected]> wrote:

> I am looking for an explanation and this may be one of those
> "unpredictable results" may occur.
>
> I have "JOBA" that executes a COBOL program to update a particular member
> in a PDS.   Within the program, it calls an internal utility that someone
> wrote years ago that puts an enqueue on the dataset and its member that it
> is updating.  The dd associated with the parmlib uses DISP=SHR.
>
> I have "JOBB" that executes a COBOL program to do the same thing, but it
> is a different member within the same dataset as "JOBA".    It is coded
> to open the dataset as I/O.  After it reads the member, it then does a
> REWRITE.    It doesn't follow the rules as above and use the internal
> utility.
> The dd associated with the parmlib also uses DISP=SHR.
>
> Here is the issue.   Occasionally the member in "JOBA" is becoming
> "empty", while the member in JOBB is always OK.    I have looked at SMF
> records and I see these jobs run at the same time.  And it is usually the
> same down to the hundreds of seconds.
>
> My suggestion was that JOBB needs to be fixed to use the "enqueue and
> dequeue" utility, since it is using DISP-SHR.   This parmlib is
> used heavily and extensively by applications, and no way to get it
> DISP=OLD.  Any thoughts or explanation would truly be appreciated.
>
>
I agree. You should use the same ENQs as ISPF just for safety's sake. An
vague possibility, but not as good, is to convert from a PDS to a PDS/E.
ref:
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.4.0/com.ibm.zos.v2r4.idad400/shr.htm

PDSE data sets and members can be shared. If allocated with DISP=SHR, the
PDSE directory can be shared by multiple writers and readers, and each PDSE
member can be shared by a single writer or multiple readers. Any number of
systems can have the same PDSE open for input. If one system has a PDSE
open for output (to create or replace members), that PDSE can be opened on
other systems only if the systems are using the PDSE extended sharing
protocol. The storage administrator can establish PDSE extended sharing
protocol by using the PDSESHARING keyword in the IGDSMS*xx* member of
SYS1.PARMLIB as described in z/OS DFSMSdfp Storage Administration
<https://www.ibm.com/support/knowledgecenter/SSLTBW_2.4.0/com.ibm.zos.v2r4.idas200/abstract.htm?view=kc>
.

-- 
I find television very educational. The minute somebody turns it on, I go
into the library and read a good book
-- Groucho Marx

Maranatha! <><
John McKown

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

Reply via email to