Charles > It's supported by IBM.
It's possible - or it was in the early 1970s - to specify that whatever MVS was called in those days could be defined to read a blocked tape backwards so that logically each GET should yield a record in the implied order. Did it work? It most certainly did not. Could it have worked? Well, yes it could and, in effect, I created access method logic comparable to QSAM which did just that. Was it really necessary to have created that "access method logic"? Well, I never found out that it was. In other words, I never encountered a case of a program from the conversions to "MVS" of the 360-like systems which ever called upon what this foreign operating system implied - just like "MVS" - was possible, namely unblocking tape data backwards. Moral: just because the coding appears to be accepted, it doesn't mean what function it implies is actually supported. - > BTW, which one is poor coding practice, NEW or MOD? I thought Gerhard made that quite clear: >...> In fact, a DISP=MOD doesn't make logical sense for a PDS, ... Chris Mason On Fri, 4 Mar 2011 17:13:32 -0800, Charles Mills <[email protected]> wrote: >That could be. JCL apparently converts DISP=MOD to DISP=NEW internally >(x'C0' is what ends up in JFCBIND2 for either one). > >That's why I was asking. They are both supported -- why, I wondered -- is >there a difference? > >I'm not just playing with JCL variations in my spare time. I have >responsibility for a "virtualization" product that does a lot of varied >processing depending on many details of its execution environment. I have a >bug involving the treatment of PDS members DISP=NEW/MOD. I'm trying to >figure out what the distinctions are, if any. Face it, the MVS documentation >tends to be very scattered. It's tough to know whether the discussion you >have found is the only relevant discussion. And it's tough to run an >experiment when you don't know what exactly you are looking for. > >It may be a poor practice in actual coding, but customers/users do what they >do. It's supported by IBM. Not good form for a product to fail. And "it's >supported by IBM but it's a poor coding practice" is not an argument I want >to have with a customer or prospect. > >BTW, which one is poor coding practice, NEW or MOD? > >Geez! Why do I have to defend asking a question on IBMMAIN? > >Charles > >-----Original Message----- >From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf >Of Gerhard Adam >Sent: Friday, March 04, 2011 4:57 PM >To: [email protected] >Subject: Re: Difference between DISP=NEW and MOD for a PDS member? > >Why should it make a distinction? DISP=MOD and DISP=NEW behave exactly the >same way for a new data set also. > >In fact, a DISP=MOD doesn't make logical sense for a PDS, since it isn't >sequential data that is being appended, nor does it make sense for a >directory. While the manual indicates that both forms work, they seem like >a poor practice in actual coding. > > >-----Original Message----- >From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf >Of Charles Mills >Sent: Friday, March 04, 2011 4:34 PM >To: [email protected] >Subject: Re: Difference between DISP=NEW and MOD for a PDS member? > >Yes. Notice that it makes no distinction between MOD and NEW for a member. >That is exactly why I asked the question. > >Charles > >-----Original Message----- >From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf >Of Gerhard Adam >Sent: Friday, March 04, 2011 4:08 PM >To: [email protected] >Subject: Re: Difference between DISP=NEW and MOD for a PDS member? > >Has it occurred to anyone to just look at the JCL Reference manual? > >" When you specify DISP=MOD or DISP=NEW for a partitioned data set (PDS) or >partitioned data set extended (PDSE), and you also specify a member name in >the DSNAME parameter, the member name must not already exist. If the member >name already exists, the system terminates the job. > >When you specify DISP=OLD for a PDS or a PDSE, and you also specify a member >name in the DSNAME parameter, the data set must already exist. If the member >name already exists and the data set is opened for output, the system >replaces the existing member with the new member. If the member name does >not already exist and the data set is opened for output, the system adds the >member to the data set. > >When you specify DISP=MOD for a PDS or a PDSE, and you do not specify a >member name, the system positions the read/write mechanism at the end of the >data set. The system does not make an automatic entry into the directory. > >When you specify DISP=MOD for a PDS or a PDSE, and you do specify a member >name, the system positions the read/write mechanism at the end of the data >set. If the member name already exists, the system terminates the job. > >When you specify DISP=SHR for a partitioned data set extended (PDSE) and >also specify a member name, then: > > * If the member name exists, the member can have one writer or be shared >by multiple readers, or > > * If the member name does not exist, the member can be added to the data >set. Thus, multiple jobs can access different members of the data set and >add new members to the data set concurrently -- but concurrent update access >to a specific member (or update and read by other jobs) is not valid. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html

