This is a classic problem endemic to traditional PDS since the dawn of MVS. IBM's solution to this problem is PDSE. If you convert the data set to Library (PDSE) you may reduce problem occurrence to negligible. OTOH PDSE may introduce its own set of problems, chief of which is the inability to share the data set across sysplex boundaries. If that restriction is unacceptable, you might try adding in your RYO enqueue program as you suggest. Be aware, however, that DISP=SHR is unlikely to provide much if any protection against concurrent update.
. . J.O.Skip Robinson Southern California Edison Company Electric Dragon Team Paddler SHARE MVS Program Co-Manager 323-715-0595 Mobile 626-543-6132 Office ⇐=== NEW robin...@sce.com -----Original Message----- From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of Pesce, Andy Sent: Tuesday, October 8, 2019 9:16 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: (External):PDS Member updating via COBOL Program 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. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN