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
