Re: Two related member generation questions
For transient SVC name it was a trailing C0; I was just contrasting member names with index levels. I guess that IBM decided to eliminate an alleged ambiguity between member name and relative generation. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Paul Gilmartin [042bfe9c879d-dmarc-requ...@listserv.ua.edu] Sent: Wednesday, May 31, 2023 10:55 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Two related member generation questions On Wed, 31 May 2023 11:57:07 +, Seymour J Metz wrote: > >I don't recall leading braces or hyphens in qualifiers, > Leading? In member names? I was told it was the result of UNPK of a SVC number. > ... but leading hyphens in member names used to work, and I was unhappy when > IBM tightened the validity check in the C/I. > They should have gone the other way and allowed quoting the member name. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
On Wed, 31 May 2023, at 12:57, Seymour J Metz wrote: > Keep? Still? I don't recall saying it more than once. I thought (back in April) that I'd read your "are you sure you don't mean in an old version of SMP, rather than SMP/E", comment at least once before - possibly lots of years ago though. I've only got a few hundred old IBM-MAIN posts accessible on the system I'm using now so can't search right back to whenever I started posting - which I expect was in the 1990s. And searching for old posts containing eg "member name" or "member-name" plus "weird" or "strange" or something is likely to be unrewarding as those words wll crop up in lots of posts. -- Jeremy Nicoll - my opinions are my own. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
On Wed, 31 May 2023, at 11:50, David Spiegel wrote: > Hi Jeremy, > "...I've no idea if that is or was correct ..." > Have you ever heard of the CSI (Consolidated Software Inventory)? > This/these VSAM Dataset(s) has/have been part of SMP/e since the day it > came out in the '80s. Yes, of course. But I answered in the context of I/O to the PDSes. It seems weird that they'd be VSAM. -- Jeremy Nicoll - my opinions are my own. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
Hi Gil, "... Leading? In member names? I was told it was the result of UNPK of a SVC number. ..." Not leading, but trailing. Regards, David On 2023-05-31 10:55, Paul Gilmartin wrote: On Wed, 31 May 2023 11:57:07 +, Seymour J Metz wrote: I don't recall leading braces or hyphens in qualifiers, Leading? In member names? I was told it was the result of UNPK of a SVC number. ... but leading hyphens in member names used to work, and I was unhappy when IBM tightened the validity check in the C/I. They should have gone the other way and allowed quoting the member name. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
On Wed, 31 May 2023 11:57:07 +, Seymour J Metz wrote: > >I don't recall leading braces or hyphens in qualifiers, > Leading? In member names? I was told it was the result of UNPK of a SVC number. > ... but leading hyphens in member names used to work, and I was unhappy when > IBM tightened the validity check in the C/I. > They should have gone the other way and allowed quoting the member name. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
Keep? Still? I don't recall saying it more than once. I overlooked SCDS. I don't recall leading braces or hyphens in qualifiers, but leading hyphens in member names used to work, and I was unhappy when IBM tightened the validity check in the C/I. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Jeremy Nicoll [jn.ls.mfrm...@letterboxes.org] Sent: Tuesday, May 30, 2023 6:20 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Two related member generation questions On Tue, 30 May 2023, at 21:41, Seymour J Metz wrote: > SMP/E uses VSAM I've no idea if that is or was correct > and doesn't have the wonky member names of SMP through SMP4. You keep saying this ... and you're still wrong. I don't know why you're so sure. Maybe it's changed since then (sometime between 1985 and 2000 or so, I expect). I only ever used SMP/E, and wonky member names did exist in one (at least) of the PDSes it used to store stuff. I seem to remember also that the PDS I found them in had a vast number of members in it - can't recall just how many that was though. Last time we discussed this (around 09 APRIL this year) I guessed which PDS it might have been - and was probably wrong. Someone else said they thought it was perhaps the SMPSCDS. I've just run a search of my PC copies of some old mainframe notes, JCL etc, looking for "SMPSCDS" and I found a reference to this exact issue inside the transcript of a discussion I had with IBM support (from, I think, the year 2000), when we were using os390 2.6 ... though that's not the os in which I first noticed the weird member names). The discussion was on the wider issue of poor documentation of just exactly which characters were valid in datasetnames. For example I'd found it was psossible to create dsnames with dashes / minus signs / hyphens in their qualifiers. IBM said it was impossible. It wasn't - I'd successfully created MYHLQ.TEST-- via ispf option 3.2 and also MYHLQ.TEST- in JCL, without having single quotes around those dsnames. Another character one could get into a qualifier was the left curly bracket (of course those are in some SVC member names) and perhaps the code that allowed those in ispf accidentally allowed them in qualifiers as well. I can't remember. The conversation then moved on to implications of not being able to SMS-manage datasets whose names didn't meet the tighter rules that SMS used. -- Jeremy Nicoll - my opinions are my own. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
Hi Jeremy, "...I've no idea if that is or was correct ..." Have you ever heard of the CSI (Consolidated Software Inventory)? This/these VSAM Dataset(s) has/have been part of SMP/e since the day it came out in the '80s. Regards, David On 2023-05-30 18:20, Jeremy Nicoll wrote: On Tue, 30 May 2023, at 21:41, Seymour J Metz wrote: SMP/E uses VSAM I've no idea if that is or was correct and doesn't have the wonky member names of SMP through SMP4. You keep saying this ... and you're still wrong. I don't know why you're so sure. Maybe it's changed since then (sometime between 1985 and 2000 or so, I expect). I only ever used SMP/E, and wonky member names did exist in one (at least) of the PDSes it used to store stuff. I seem to remember also that the PDS I found them in had a vast number of members in it - can't recall just how many that was though. Last time we discussed this (around 09 APRIL this year) I guessed which PDS it might have been - and was probably wrong. Someone else said they thought it was perhaps the SMPSCDS. I've just run a search of my PC copies of some old mainframe notes, JCL etc, looking for "SMPSCDS" and I found a reference to this exact issue inside the transcript of a discussion I had with IBM support (from, I think, the year 2000), when we were using os390 2.6 ... though that's not the os in which I first noticed the weird member names). The discussion was on the wider issue of poor documentation of just exactly which characters were valid in datasetnames. For example I'd found it was psossible to create dsnames with dashes / minus signs / hyphens in their qualifiers. IBM said it was impossible. It wasn't - I'd successfully created MYHLQ.TEST-- via ispf option 3.2 and also MYHLQ.TEST- in JCL, without having single quotes around those dsnames. Another character one could get into a qualifier was the left curly bracket (of course those are in some SVC member names) and perhaps the code that allowed those in ispf accidentally allowed them in qualifiers as well. I can't remember. The conversation then moved on to implications of not being able to SMS-manage datasets whose names didn't meet the tighter rules that SMS used. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
On Tue, 30 May 2023, at 21:41, Seymour J Metz wrote: > SMP/E uses VSAM I've no idea if that is or was correct > and doesn't have the wonky member names of SMP through SMP4. You keep saying this ... and you're still wrong. I don't know why you're so sure. Maybe it's changed since then (sometime between 1985 and 2000 or so, I expect). I only ever used SMP/E, and wonky member names did exist in one (at least) of the PDSes it used to store stuff. I seem to remember also that the PDS I found them in had a vast number of members in it - can't recall just how many that was though. Last time we discussed this (around 09 APRIL this year) I guessed which PDS it might have been - and was probably wrong. Someone else said they thought it was perhaps the SMPSCDS. I've just run a search of my PC copies of some old mainframe notes, JCL etc, looking for "SMPSCDS" and I found a reference to this exact issue inside the transcript of a discussion I had with IBM support (from, I think, the year 2000), when we were using os390 2.6 ... though that's not the os in which I first noticed the weird member names). The discussion was on the wider issue of poor documentation of just exactly which characters were valid in datasetnames. For example I'd found it was psossible to create dsnames with dashes / minus signs / hyphens in their qualifiers. IBM said it was impossible. It wasn't - I'd successfully created MYHLQ.TEST-- via ispf option 3.2 and also MYHLQ.TEST- in JCL, without having single quotes around those dsnames. Another character one could get into a qualifier was the left curly bracket (of course those are in some SVC member names) and perhaps the code that allowed those in ispf accidentally allowed them in qualifiers as well. I can't remember. The conversation then moved on to implications of not being able to SMS-manage datasets whose names didn't meet the tighter rules that SMS used. -- Jeremy Nicoll - my opinions are my own. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
Really? I just looked at my z/OS SCDS (2.4). Definitely a PDS structure and here's what it looks like: Name .G.3 .GXc'... ../. .Z7X>... _{.. _... nGXc=... Rex -Original Message- From: IBM Mainframe Discussion List On Behalf Of Seymour J Metz Sent: Tuesday, May 30, 2023 3:42 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: [EXTERNAL] Re: Two related member generation questions SMP/E uses VSAM and doesn't have the wonky member names of SMP through SMP4. -- Shmuel (Seymour J.) Metz https://urldefense.com/v3/__http://mason.gmu.edu/*smetz3__;fg!!KjMRP1Ixj6eLE0Fj!uTR2hbpd_alY4SYl5X-y48A6PyMh-bKdl71yTkm3CC3CiVvwwxBU5lk4rG8gxT8D0nHq0JJGzRoNKtl7FQ$ From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Jay Maynard [jaymayn...@gmail.com] Sent: Tuesday, May 30, 2023 10:44 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Two related member generation questions SMP used to do this, and ISTR SMP/E does as well. On Tue, May 30, 2023 at 9:34 AM Schmitt, Michael wrote: > And IMS. MFS Formats have non-display and lower-case letters in the > member names. > > Such as: > > ."wACOV0 > 07ACCDEF > 2F613650 > > > > -Original Message- > From: IBM Mainframe Discussion List On > Behalf Of Steve Thompson > Sent: Tuesday, May 30, 2023 8:19 AM > To: IBM-MAIN@LISTSERV.UA.EDU > Subject: Re: Two related member generation questions > > I may not have edited these posts correctly for this, but, I thought I > should point out that an IBM product does create "illegal" (per JCL) > member names. And that would be Netview. > > In years gone by I had seen member names that were really "odd" > and found out that it was Netview that was creating them. > > So yes, an assembler programmer could do this and have done this, > because it has been done. > > Steve Thompson > > On 5/30/2023 12:11 AM, Paul Gilmartin wrote: > > > > Can't an Assembler programmer using STOW create PDS members with > > names beginning with '+', '-', '0', 'π', ... just about anything? I > > don't > believe it's proper > > for higher layers such as JCL to introduce syntactic restrictions > harsher than > > those of core layers. The only member name prohibited is 8X'FF', > indicaring > > the end of a PDS directory. > > > > How do LM services accessible, e.g. through REXX support member > "generations"? > > > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, send > email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > > > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, send > email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > -- Jay Maynard -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- The information contained in this message is confidential, protected from disclosure and may be legally privileged. If the reader of this message is not the intended recipient or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any disclosure, distribution, copying, or any action taken or action omitted in reliance on it, is strictly prohibited and may be unlawful. If you have received this communication in error, please notify us immediately by replying to this message and destroy the material in its entirety, whether in electronic or hard copy format. Thank you. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
SMP/E uses VSAM and doesn't have the wonky member names of SMP through SMP4. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Jay Maynard [jaymayn...@gmail.com] Sent: Tuesday, May 30, 2023 10:44 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Two related member generation questions SMP used to do this, and ISTR SMP/E does as well. On Tue, May 30, 2023 at 9:34 AM Schmitt, Michael wrote: > And IMS. MFS Formats have non-display and lower-case letters in the member > names. > > Such as: > > ."wACOV0 > 07ACCDEF > 2F613650 > > > > -Original Message- > From: IBM Mainframe Discussion List On Behalf > Of Steve Thompson > Sent: Tuesday, May 30, 2023 8:19 AM > To: IBM-MAIN@LISTSERV.UA.EDU > Subject: Re: Two related member generation questions > > I may not have edited these posts correctly for this, but, I > thought I should point out that an IBM product does create > "illegal" (per JCL) member names. And that would be Netview. > > In years gone by I had seen member names that were really "odd" > and found out that it was Netview that was creating them. > > So yes, an assembler programmer could do this and have done this, > because it has been done. > > Steve Thompson > > On 5/30/2023 12:11 AM, Paul Gilmartin wrote: > > > > Can't an Assembler programmer using STOW create PDS members with names > > beginning with '+', '-', '0', 'π', ... just about anything? I don't > believe it's proper > > for higher layers such as JCL to introduce syntactic restrictions > harsher than > > those of core layers. The only member name prohibited is 8X'FF', > indicaring > > the end of a PDS directory. > > > > How do LM services accessible, e.g. through REXX support member > "generations"? > > > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > > > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > -- Jay Maynard -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
>> Turned on both of the empty member options and it still does not allow input >> under Prompt. Charles, I misunderstood your request. The prompt option is not available as it is already provided in the EDIT menu itself. However, the panel ISREDM01 is NOT updated with the prompt options you see in 3.4. Look at the bottom of the screen which allows you to input the Initial macro and profile names… you just need to use 3.4 for member generations. ISREDM01 EDIT Edit Entry Panel Command ===> ISPF Library: Project . . . Group . . . . . . . . . . . . . Type . . . . Member . . . (Blank or pattern for member selection list) Other Partitioned, Sequential or VSAM Data Set, or z/OS UNIX file: Name . . . . . PDSE2 + Volume Serial . . (If not cataloged) Workstation File: File Name . . Options Initial Macro . . . . Confirm Cancel/Move/Replace Profile Name . . . . . Mixed Mode Format Name . . . . . Edit on Workstation Data Set Password . . Preserve VB record length Record Length . . . . Line Command Table . . Data Encoding 1. ASCII 2. UTF-8 Thanks, Kolusu -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
Turned on both of the empty member options and it still does not allow input under Prompt. This is with Edit -- ISPF 2. Works with DSLIST -- ISPF 3.4. Charles On Tue, 30 May 2023 17:00:50 +, Sri h Kolusu wrote: >>> Interesting. The Edit member selection panel (ISPF 2 with a blank member >>> name) shows a Prompt heading but the fields are protected. > >Charles, > >You probably don’t have the option to edit empty members. Using option 0 >(settings) from ISPF main menu and look at Member list options at the bottom -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
>> Interesting. The Edit member selection panel (ISPF 2 with a blank member >> name) shows a Prompt heading but the fields are protected. Charles, You probably don’t have the option to edit empty members. Using option 0 (settings) from ISPF main menu and look at Member list options at the bottom Log/List Function keys Colors Environ Workstation Identifier Help ss SETTINGSISPF Settings Command ===> Options Print Graphics Enter "/" to select optionFamily printer type 2 Command line at bottom Device name . . . . Panel display CUA mode Aspect ratio . . . 0 / Long message in pop-up Tab to action bar choices Tab to point-and-shoot fieldsGeneral Restore TEST/TRACE options Input field pad . . B Session Manager mode Command delimiter . ; Jump from leader dots Edit PRINTDS Command Always show split line Enable EURO sign Member list options Enter "/" to select option / Scroll member list / Allow empty member list / Allow empty member list (nomatch) / Empty member list for edit only Thanks, Kolusu -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
@Sri and @Steve, thank you. Got it. From ISPF 3.4. Interesting. The Edit member selection panel (ISPF 2 with a blank member name) shows a Prompt heading but the fields are protected. Charles On Tue, 30 May 2023 16:39:53 +, Sri h Kolusu wrote: 1. Is there any support in JCL or in ISPF for reading member generations? > >Charles, > >There is no JCL suprort for member generations, but ISPF does provide the >support. Here is how you do it. > > >1. Allocate PDSE rersion 2 with maxgens defined at 20. Note your allocation >will fail if your SYS1.PARMLIB(IGDSMSxx) member does not have MAXGENS_LIMIT >specified) > > >//STEP0100 EXEC PGMEIEFBR14 >//AF01 DD DSN=, >//DISP=(NEW,CATLG,DELETE), >//UNIT=SYSDA, >//SPACE=(CYL,(1,1,5)), >//DSNTYPE=(LIBRARY,2),MAXGENS=20, >//DCB=(LRECL=80,RECFM=FB,BLKSIZE=0) > >2. Create a member in the above allocated PDS > > Menu Functions Confirm Utilities Help > s > DSLIST EDIT USERID.PDSE2 > Command ===> s test1 >Name Prompt Size Created > **End** -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
>>>1. Is there any support in JCL or in ISPF for reading member generations? Charles, There is no JCL support for member generations, but ISPF does provide the support. Here is how you do it. 1. Allocate PDSE version 2 with maxgens defined at 20. Note your allocation will fail if your SYS1.PARMLIB(IGDSMSxx) member does not have MAXGENS_LIMIT specified) //STEP0100 EXEC PGM=IEFBR14 //AF01 DD DSN=, //DISP=(NEW,CATLG,DELETE), //UNIT=SYSDA, //SPACE=(CYL,(1,1,5)), //DSNTYPE=(LIBRARY,2),MAXGENS=20, //DCB=(LRECL=80,RECFM=FB,BLKSIZE=0) 2. Create a member in the above allocated PDS Menu Functions Confirm Utilities Help s DSLIST EDIT USERID.PDSE2 Command ===> s test1 Name Prompt Size Created **End** 3. Add just 1 record DSLIST USERID.PDSE2(TEST1) - 01.00 Colu Command ===> S ** * Top of Data ** ==MSG> -Warning- The UNDO command is not available until you change ==MSG> your edit profile using the command RECOVERY ON. '' abc '' '' 4. Issue a SAVE 5. Insert another record DSLIST USERID.PDSE2(TEST1) - 01.00 Some Command ===> ** * Top of Data *** ==MSG> -Warning- The UNDO command is not available until you change ==MSG> your edit profile using the command RECOVERY ON. 000100 abc '' def 6. Issue another SAVE 7. Insert another record DSLIST USERID.PDSE2(TEST1) - 01.00 C Command ===> ** * Top of Data *** ==MSG> -Warning- The UNDO command is not available until you change ==MSG> your edit profile using the command RECOVERY ON. 000100 abc 000200 def '' ghi 8. Issue another SAVE Now you have 3 generations of the member. 9.To access the -2 version do the following (make sure you have a slash under the PROMPT column) Menu Functions Confirm Utilities Help ss DSLIST EDIT USERID.PDSE2 Command ===> Name Prompt Size Created e TEST1/3 2023/05/30 **End** In the panel prompt (put -2 for PDSE generation) field) Esss e Workstation Help e e DSLISTEDIT Entry Panel e More: + e Object Name: e 'USERID.PDSE2(TEST1)' e * No workstation connection e Initial Macro . . e PDSE Generation. . -2 e Line Command Table e Profile Name . . . (Blank defaults to Type) e Format Name . . . e Panel Name . . . . (Leave blank for default) e e Options Data Encoding e Confirm Cancel/Move/Replace 1. ASCII e EDIT Mixed Mode 2. UTF-8 e EDIT host file on e Workstation e Preserve VB record length e / Warn on First Data Change e Dsss Now you will see this ** * Top of Data * ==MSG> -Warning- The UNDO command is not available until you change ==MSG> your edit profile using the command RECOVERY ON. ==MSG> -CAUTION- Edit session has been invoked for generation 2 ==MSG> High generation number is currently 3 01 abc Hope this helps.. Thanks, Kolusu -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
>From an "Extended" member list display (with the 8-char command field), you can place a '/' in the Prompt field: EDIT SAS00.MAIN.CNTLMember DEFDDIR1 saved Command ===> Scroll ===> CSR Name Prompt Size Created Changed ID s DEFDDIR1 /Edited 23 2023/05/30 2023/05/30 22:48:08 SAS00 That will cause this pop-up: +---+ | Help| | | | EDIT Entry Panel| | | | Object Name: | | 'SAS00.MAIN.CNTL(DEFDDIR1)' | | Initial Macro . . | | PDSE Generation. . -2 | <- specify here | Line Command Table | | Profile Name . . . (Blank defaults to Type) | | Format Name . . . | | Panel Name . . . . (Leave blank for default) | | | | Options Data Encoding | | Confirm Cancel/Move/Replace 1. ASCII | | EDIT Mixed Mode 2. UTF-8 | | Preserve VB record length| | / Warn on First Data Change| | | | Press ENTER to continue. Press CANCEL to cancel action. | | | | | +---+ hth, sas On Mon, May 29, 2023 at 11:05 PM Charles Mills wrote: > I'll bite: where is it hidden? > > CM > > -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
Charles, Try this Share presentation. (Rather long URL. If problem just try searching for "PDSE member generations"). https://www.google.com/url?sa=t=j==s=web==2ahUKEwjQ7oG7rJ3_AhXSTEEAHcKyBAsQFnoECBUQAQ=https%3A%2F%2Fshare.confex.com%2Fshare%2F125%2Fwebprogram%2FHandout%2FSession17831%2FSHARE%2520Using%2520Member%2520Generations.pdf=AOvVaw3AfII9eO3h_kXWAw7fhdTk Lennie -Original Message- From: IBM Mainframe Discussion List On Behalf Of Charles Mills Sent: 30 May 2023 04:05 To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Two related member generation questions I'll bite: where is it hidden? CM On Mon, 29 May 2023 21:28:50 -0400, Steve Smith wrote: >Yes, one of the "hidden secrets" of ISPF. I use it a lot, but you kind >of have to be told it's there, and get used to it. It's very clunky. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
Your reasons are some of those that prompted the creation of PDSEGEN. Lionel B. Dyck <>< Website: https://www.lbdsoftware.com Github: https://github.com/lbdyck “Worry more about your character than your reputation. Character is what you are, reputation merely what others think you are.” - - - John Wooden -Original Message- From: IBM Mainframe Discussion List On Behalf Of Schmitt, Michael Sent: Tuesday, May 30, 2023 9:59 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Two related member generation questions Lack of better member generation support is the reason that my team is still using PDS instead of PDS/E. We *like* the ability to easily retrieve previous and deleted versions of members from the PDS "gas". (This is helped because we have a home-written ISPF panel that lets you display, search, filter, browse, compare, restore, and rename previous versions of members that are still in the PDS directory.) Another reason is that the way the PDSE v2 member generation limit works is that it is a limit on every member. If you set it to keep 10, then it keeps 10 generations of EVERY member, forever. But what if this is your main source library, were only a small fraction of the member have been changed in the last decade? 10 generations would be too many for the older members but not enough for the newer, more frequently changed members. I opened an Idea for this: "Request to add more flexibility to PDSE Member Generations". Status is "Future consideration" https://ibm-z-hardware-and-operating-systems.ideas.ibm.com/ideas/ZOS-I-2764 And another reason is that it isn't easy to create a data set that copies the attributes of a PDSE, because JCL LIKE doesn't copy the PDSE Version and MAXGENS attributes. I created another Idea related to this: JCL LIKE for PDSE Version and MAXGENS, also with status "Future consideration": https://ibm-z-hardware-and-operating-systems.ideas.ibm.com/ideas/ZOS-I-2788 One final note: I have a suspicion that IBM has been eschewing enhancements to ISPF in favor of adding the functionality to File Manager instead. -Original Message- From: IBM Mainframe Discussion List On Behalf Of Lionel B. Dyck Sent: Tuesday, May 30, 2023 9:47 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Two related member generation questions True enough - and one more thing is that while IBM supports member generations, they DO NOT support them via JCL, dynamic allocation, or the majority of their utilities/tools. And don't even try to find them in zExplorer, ZOWE, or ZOAU (or is it ZAOU?). Lionel B. Dyck <>< Website: https://www.lbdsoftware.com/ Github: https://github.com/lbdyck “Worry more about your character than your reputation. Character is what you are, reputation merely what others think you are.” - - - John Wooden -Original Message- From: IBM Mainframe Discussion List On Behalf Of Jay Maynard Sent: Tuesday, May 30, 2023 9:44 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Two related member generation questions SMP used to do this, and ISTR SMP/E does as well. On Tue, May 30, 2023 at 9:34 AM Schmitt, Michael wrote: > And IMS. MFS Formats have non-display and lower-case letters in the > member names. > > Such as: > > ."wACOV0 > 07ACCDEF > 2F613650 > > > > -Original Message- > From: IBM Mainframe Discussion List On > Behalf Of Steve Thompson > Sent: Tuesday, May 30, 2023 8:19 AM > To: IBM-MAIN@LISTSERV.UA.EDU > Subject: Re: Two related member generation questions > > I may not have edited these posts correctly for this, but, I thought I > should point out that an IBM product does create "illegal" (per JCL) > member names. And that would be Netview. > > In years gone by I had seen member names that were really "odd" > and found out that it was Netview that was creating them. > > So yes, an assembler programmer could do this and have done this, > because it has been done. > > Steve Thompson > > On 5/30/2023 12:11 AM, Paul Gilmartin wrote: > > > > Can't an Assembler programmer using STOW create PDS members with > > names beginning with '+', '-', '0', 'π', ... just about anything? I > > don't > believe it's proper > > for higher layers such as JCL to introduce syntactic restrictions > harsher than > > those of core layers. The only member name prohibited is 8X'FF', > indicaring > > the end of a PDS directory. > > > > How do LM services accessible, e.g. through REXX support member > "generations"? > > > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, send > email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > > > >
Re: Two related member generation questions
Lack of better member generation support is the reason that my team is still using PDS instead of PDS/E. We *like* the ability to easily retrieve previous and deleted versions of members from the PDS "gas". (This is helped because we have a home-written ISPF panel that lets you display, search, filter, browse, compare, restore, and rename previous versions of members that are still in the PDS directory.) Another reason is that the way the PDSE v2 member generation limit works is that it is a limit on every member. If you set it to keep 10, then it keeps 10 generations of EVERY member, forever. But what if this is your main source library, were only a small fraction of the member have been changed in the last decade? 10 generations would be too many for the older members but not enough for the newer, more frequently changed members. I opened an Idea for this: "Request to add more flexibility to PDSE Member Generations". Status is "Future consideration" https://ibm-z-hardware-and-operating-systems.ideas.ibm.com/ideas/ZOS-I-2764 And another reason is that it isn't easy to create a data set that copies the attributes of a PDSE, because JCL LIKE doesn't copy the PDSE Version and MAXGENS attributes. I created another Idea related to this: JCL LIKE for PDSE Version and MAXGENS, also with status "Future consideration": https://ibm-z-hardware-and-operating-systems.ideas.ibm.com/ideas/ZOS-I-2788 One final note: I have a suspicion that IBM has been eschewing enhancements to ISPF in favor of adding the functionality to File Manager instead. -Original Message- From: IBM Mainframe Discussion List On Behalf Of Lionel B. Dyck Sent: Tuesday, May 30, 2023 9:47 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Two related member generation questions True enough - and one more thing is that while IBM supports member generations, they DO NOT support them via JCL, dynamic allocation, or the majority of their utilities/tools. And don't even try to find them in zExplorer, ZOWE, or ZOAU (or is it ZAOU?). Lionel B. Dyck <>< Website: https://www.lbdsoftware.com/ Github: https://github.com/lbdyck “Worry more about your character than your reputation. Character is what you are, reputation merely what others think you are.” - - - John Wooden -Original Message- From: IBM Mainframe Discussion List On Behalf Of Jay Maynard Sent: Tuesday, May 30, 2023 9:44 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Two related member generation questions SMP used to do this, and ISTR SMP/E does as well. On Tue, May 30, 2023 at 9:34 AM Schmitt, Michael wrote: > And IMS. MFS Formats have non-display and lower-case letters in the > member names. > > Such as: > > ."wACOV0 > 07ACCDEF > 2F613650 > > > > -Original Message- > From: IBM Mainframe Discussion List On > Behalf Of Steve Thompson > Sent: Tuesday, May 30, 2023 8:19 AM > To: IBM-MAIN@LISTSERV.UA.EDU > Subject: Re: Two related member generation questions > > I may not have edited these posts correctly for this, but, I thought I > should point out that an IBM product does create "illegal" (per JCL) > member names. And that would be Netview. > > In years gone by I had seen member names that were really "odd" > and found out that it was Netview that was creating them. > > So yes, an assembler programmer could do this and have done this, > because it has been done. > > Steve Thompson > > On 5/30/2023 12:11 AM, Paul Gilmartin wrote: > > > > Can't an Assembler programmer using STOW create PDS members with > > names beginning with '+', '-', '0', 'π', ... just about anything? I > > don't > believe it's proper > > for higher layers such as JCL to introduce syntactic restrictions > harsher than > > those of core layers. The only member name prohibited is 8X'FF', > indicaring > > the end of a PDS directory. > > > > How do LM services accessible, e.g. through REXX support member > "generations"? > > > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, send > email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > > > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, send > email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > -- Jay Maynard -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access inst
Re: Two related member generation questions
True enough - and one more thing is that while IBM supports member generations, they DO NOT support them via JCL, dynamic allocation, or the majority of their utilities/tools. And don't even try to find them in zExplorer, ZOWE, or ZOAU (or is it ZAOU?). Lionel B. Dyck <>< Website: https://www.lbdsoftware.com Github: https://github.com/lbdyck “Worry more about your character than your reputation. Character is what you are, reputation merely what others think you are.” - - - John Wooden -Original Message- From: IBM Mainframe Discussion List On Behalf Of Jay Maynard Sent: Tuesday, May 30, 2023 9:44 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Two related member generation questions SMP used to do this, and ISTR SMP/E does as well. On Tue, May 30, 2023 at 9:34 AM Schmitt, Michael wrote: > And IMS. MFS Formats have non-display and lower-case letters in the > member names. > > Such as: > > ."wACOV0 > 07ACCDEF > 2F613650 > > > > -Original Message- > From: IBM Mainframe Discussion List On > Behalf Of Steve Thompson > Sent: Tuesday, May 30, 2023 8:19 AM > To: IBM-MAIN@LISTSERV.UA.EDU > Subject: Re: Two related member generation questions > > I may not have edited these posts correctly for this, but, I thought I > should point out that an IBM product does create "illegal" (per JCL) > member names. And that would be Netview. > > In years gone by I had seen member names that were really "odd" > and found out that it was Netview that was creating them. > > So yes, an assembler programmer could do this and have done this, > because it has been done. > > Steve Thompson > > On 5/30/2023 12:11 AM, Paul Gilmartin wrote: > > > > Can't an Assembler programmer using STOW create PDS members with > > names beginning with '+', '-', '0', 'π', ... just about anything? I > > don't > believe it's proper > > for higher layers such as JCL to introduce syntactic restrictions > harsher than > > those of core layers. The only member name prohibited is 8X'FF', > indicaring > > the end of a PDS directory. > > > > How do LM services accessible, e.g. through REXX support member > "generations"? > > > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, send > email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > > > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, send > email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > -- Jay Maynard -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
SMP used to do this, and ISTR SMP/E does as well. On Tue, May 30, 2023 at 9:34 AM Schmitt, Michael wrote: > And IMS. MFS Formats have non-display and lower-case letters in the member > names. > > Such as: > > ."wACOV0 > 07ACCDEF > 2F613650 > > > > -Original Message- > From: IBM Mainframe Discussion List On Behalf > Of Steve Thompson > Sent: Tuesday, May 30, 2023 8:19 AM > To: IBM-MAIN@LISTSERV.UA.EDU > Subject: Re: Two related member generation questions > > I may not have edited these posts correctly for this, but, I > thought I should point out that an IBM product does create > "illegal" (per JCL) member names. And that would be Netview. > > In years gone by I had seen member names that were really "odd" > and found out that it was Netview that was creating them. > > So yes, an assembler programmer could do this and have done this, > because it has been done. > > Steve Thompson > > On 5/30/2023 12:11 AM, Paul Gilmartin wrote: > > > > Can't an Assembler programmer using STOW create PDS members with names > > beginning with '+', '-', '0', 'π', ... just about anything? I don't > believe it's proper > > for higher layers such as JCL to introduce syntactic restrictions > harsher than > > those of core layers. The only member name prohibited is 8X'FF', > indicaring > > the end of a PDS directory. > > > > How do LM services accessible, e.g. through REXX support member > "generations"? > > > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > > > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > -- Jay Maynard -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
And IMS. MFS Formats have non-display and lower-case letters in the member names. Such as: ."wACOV0 07ACCDEF 2F613650 -Original Message- From: IBM Mainframe Discussion List On Behalf Of Steve Thompson Sent: Tuesday, May 30, 2023 8:19 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Two related member generation questions I may not have edited these posts correctly for this, but, I thought I should point out that an IBM product does create "illegal" (per JCL) member names. And that would be Netview. In years gone by I had seen member names that were really "odd" and found out that it was Netview that was creating them. So yes, an assembler programmer could do this and have done this, because it has been done. Steve Thompson On 5/30/2023 12:11 AM, Paul Gilmartin wrote: > > Can't an Assembler programmer using STOW create PDS members with names > beginning with '+', '-', '0', 'π', ... just about anything? I don't believe > it's proper > for higher layers such as JCL to introduce syntactic restrictions harsher than > those of core layers. The only member name prohibited is 8X'FF', indicaring > the end of a PDS directory. > > How do LM services accessible, e.g. through REXX support member "generations"? > -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
On Tue, 30 May 2023 09:18:48 -0400, Steve Thompson wrote: >I may not have edited these posts correctly for this, but, I >thought I should point out that an IBM product does create >"illegal" (per JCL) member names. And that would be Netview. > Also Binder with the CASE(MIXED) option. >So yes, an assembler programmer could do this and have done this, >because it has been done. > Also prevalent in CMS, where it seems to be the poor man's "Security by Obscurity". -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
I may not have edited these posts correctly for this, but, I thought I should point out that an IBM product does create "illegal" (per JCL) member names. And that would be Netview. In years gone by I had seen member names that were really "odd" and found out that it was Netview that was creating them. So yes, an assembler programmer could do this and have done this, because it has been done. Steve Thompson On 5/30/2023 12:11 AM, Paul Gilmartin wrote: Can't an Assembler programmer using STOW create PDS members with names beginning with '+', '-', '0', 'π', ... just about anything? I don't believe it's proper for higher layers such as JCL to introduce syntactic restrictions harsher than those of core layers. The only member name prohibited is 8X'FF', indicaring the end of a PDS directory. How do LM services accessible, e.g. through REXX support member "generations"? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
To clarify, you must use the absolute dsn if you need to specify a member name *in the JCL* but you can use a relative generation to allocate a PDS[E] to a step that opens the GDS with DSORG=PO and processes individual members via, e.g., FIND, OPENJ. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Steve Thompson [ste...@wkyr.net] Sent: Monday, May 29, 2023 8:07 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Two related member generation questions Well, I had to go read this. Here is what it says in the DFSMS Using Data Sets Manual (z/OS 2.5) SC23-6855-50: Data set organization of generation data sets Generation data sets (GDSs) can be sequential, direct, or partitioned data sets. *If you use PDSs or PDSEs** **as generation data sets and you want to reference a member, you must reference the member using** **absolute data set names rather than relative names.* This is because MVS JCL does not support specifying both a relative name and a member name. To access a member of a generation data set that is a PDS or PDSE using JCL, you must use an absolute generation name. Example: When referencing a generation data set using JCL, it is common to use relative naming, as inA.B.C(0),A.B.C(+1), orA.B.C(-1). *If you want to access a member of a PDS or PDSE, you** **cannot use relative naming because there is no way to specify the member name in JCL. You can refer** **to aspecificmember of a PDS or PDSE that is a generation data set by using absolute names such as** **A.B.C.G0005V00(MEMBER)**, but JCL does not allow specifyingA,B.C(+5)(MEMBER)**.* Restriction: • Generation data sets cannot be VSAM data sets. • *Note* that only z/OS systems at the V2R1 level or higher support GDSs that are PDSEs: – If you run a mixed sysplex anddefinea GDS PDSE on a system at the z/OS V2R1 level, but issue an access method service LISTCAT command on a system at a lower level, the command output will displaySTATUS---UNKNOWNfor deferred and rolled-off GDS PDSEs. In this case LISCAT command output will not display the DSNTYPE line for that PDSE. For an active GDS PDSE, the LISTCAT command output on a z/OS system below the V2R1 level displaysSTATUS--ACTIVEand no DSNTYPE. – If you roll-off an active GDS PDSE data set from a z/OS system at the V1R13 level or lower, the GDS PDSE becomes a rolled-off simple GDS. If you roll-in back the GDS from a z/OS system at the V2R1 level or lower, it becomes an active GDS (not an active GDS PDSE). In both these cases, the data set can still be used as a PDSE, (it can be loaded with members) because the PDSE indicator for the data set remains set. Absolute generation and version numbers An absolute generation and version number is used to identify aspecificgeneration of a GDG. The generation and version numbers are in the formGVyy, whereis an unsigned 4-digit decimal generation number (0001 through ) andyyis an unsigned 2-digit decimal version number (00 through 99). For example: • A.B.C.G0001V00 is generation data set 1, version 0, in generation data group A.B.C. • A.B.C.G0009V01 is generation data set 9, version 1, in generation data group A.B.C. While it is technically possible todefinean explicit generation of GV00, such adefinitionis discouraged because it can cause unpredictable results when deleting generation data sets using relative generations. The number of generations and versions is limited by the number of digits in the absolute generation name; that is, there can be 9,999 generations. Each generation can have 100 versions. To maintain relative order when the highest generation is and a new generation is added, the new generation is assigned a wrap flag. The wrap flag causes the new generation to behave as if it had 10,000 added to it. This causes the ordering to be correct when going from to 0001. Note: the next higher generation from is not , it is 0001. When all of the generations in the generation index have the wrap flag set, the wrap flags are all turned off. For example if we have a generation index with 3 entries, and the generations are , 0001, and 0002, with 0001 and 0002 having their wrap flags on, the order would be , 0001, 0002. If a new generation is created, 0003, it also has the wrap flag set. The LIMIT causes the to be rolled off from the index. 0001, 0002 and 0003 all have the wrap flag set, so the wrap flag is turned off for all three generations. The order is still valid and is 0001, 0002, 0003. If a generation exceeds 2000 generations from the current generation, the wrap flag is not set. You should not create large relative generation gaps which can lead to order problems. I think I get it. I think this might be done via SLCM trying to keep generations of source(?) -- Pure guess. Steve Thompson On 5/29/2023 7:47 PM, Steve Thompson wrote: > Charles: > > I
Re: Two related member generation questions
As others have said - PDSE member generations are *not* generation data sets. A PDS or PDSE can be a GDS but the members are not. PDSE member generations provide similar functionality to a GDG in that the current generation has both a relative, and absolute, generation of 0. The prior generation has a relative generation of -1 and an absolute generation of from 1 to 2,000,000,000 (and note that if you reach the limit it does not wrap - at least the doc does not indicate it can wrap). With ISPF prior to z/OS 3.1 you need ISPF library services to access generation - here is snippets copied from PDSEGEN (cbttape file 969 or github.com/lbdyck/pdsegen): "LMINIT DATAID(pdsegend) DATASET("pdsedsn")" "LMOPEN DATAID("pdsegend") OPTION(INPUT)" 'edit dataid('pdsegend') member('mbr') gen('agen')' "LMClose dataid("pdsegend")" With z/OS 3.1 ISPF will have improvements to make it easier, still not ideal, for generations. As for the zombie members that happens because both TSO DELETE, and ISPF member delete, only delete the base member (generation 0) and leave the generations alone. That is why with FileManager, the Review command (cbttape), and with PDSEGEN, you may see members with a relative generation of 0 and an absolute generation that is non-zero. PDSEGEN has its own delete process that supports deleting generations so zombies (or ghost members) will not happen. FileManager under 3.15, the workbench, also understands how to correctly handle generations. Please vote for this IBM Idea (formerly RFE) https://ibm-z-hardware-and-operating-systems.ideas.ibm.com/ideas/ZOS-I-1565 - currently in a status of 'Future consideration' with 157 votes. Hope this helps somewhat. Lionel B. Dyck <>< Website: https://www.lbdsoftware.com Github: https://github.com/lbdyck “Worry more about your character than your reputation. Character is what you are, reputation merely what others think you are.” - - - John Wooden -Original Message- From: IBM Mainframe Discussion List On Behalf Of Charles Mills Sent: Monday, May 29, 2023 4:57 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Two related member generation questions 1. Is there any support in JCL or in ISPF for reading member generations? If I want to reference or browse a PDSE 2 member generation other than the latest, is it possible to do so? Am I just missing the doc somewhere? 2. Is this not an error or at least an illogical statement in the JCL reference? Under DSNAME - Cataloged data set name it says dsname(member) Specifies the name of the permanent partitioned data set (PDS) or the partitioned data set extended (PDSE), and the name of a member within that data set. If the member does not exist and DISP=OLD or DISP=SHR is specified, the allocation will succeed, but the job will fail when the data set is opened for input. If the member does not exist and the data set is opened for output, the system will add the member to the data set. member 1 to 8 alphanumeric or national characters, or a character X'C0'. The first character must be alphabetic, national, +, or -. If the first character is + or -, the member is a part of a generation data group. dsname(generation) Specifies the name of a generation data group (GDG) and the generation number (zero or a signed integer) of a generation data set within the GDG. That member description is not right, is it? If the first character is numeric, + or -, it's not a reference to a member of a PDS or PDSE at all -- it specifies a generation data set, right? Or is this support for member generations and I am not reading it correctly? Also, member syntax has nothing to do with whether the dataset is cataloged, right? The syntax is exactly the same with a VOLSER reference or for a temporary dataset, right? Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
On Mon, 29 May 2023 19:10:55 -0500, Charles Mills wrote: > >>Support for PDSE as a member* of a GDG was added in z/OS 2.1 or 2, iirc. >>*(not to be confused with members of a PDS[E] > >And also not to be confused with PDSE 2 member generations, right? > >> maybe they could have >> tried harder not to be confusing > >Agreed. > IBM couldn't have made it more confusing. The proof is that they did not do so. >>note, while GDGs usually consist of "generations" of the same dataset, >>there's no rule that says they must be. > >Interesting. Did not know that. > Explain; even provide two examples; one of a GDG consisting of "generations" of the same data[ ]set, and one which does not. Can't an Assembler programmer using STOW create PDS members with names beginning with '+', '-', '0', 'π', ... just about anything? I don't believe it's proper for higher layers such as JCL to introduce syntactic restrictions harsher than those of core layers. The only member name prohibited is 8X'FF', indicaring the end of a PDS directory. How do LM services accessible, e.g. through REXX support member "generations"? -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
I'll bite: where is it hidden? CM On Mon, 29 May 2023 21:28:50 -0400, Steve Smith wrote: >Yes, one of the "hidden secrets" of ISPF. I use it a lot, but you kind of >have to be told it's there, and get used to it. It's very clunky. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
Yes, one of the "hidden secrets" of ISPF. I use it a lot, but you kind of have to be told it's there, and get used to it. It's very clunky. FileManager has an option (3.15) called "PDSE Workbench" that displays PDSEs with member generations very nicely, and provides comprehensive compare tools. It even shows "zombie" member generations that are invisible to normal directory operations. But, PDSEGEN does much the same thing, and it's cheaper. Lionel Dyck and his colleagues are experts on PDSE operations. sas On Mon, May 29, 2023 at 8:32 PM Tabari Alexander wrote: > ISPF supports PDSE member generations via the prompt menu. With this > interface the specific member generation can be browsed, edited and even > saved as the latest version. > > -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
ISPF supports PDSE member generations via the prompt menu. With this interface the specific member generation can be browsed, edited and even saved as the latest version. On Mon, 29 May 2023 19:10:55 -0500, Charles Mills wrote: >@Steve, thanks. > >>JCL provides no support at all for PDSE member generations. > >Grumble, grumble. What about ISPF? I sure don't see it, but perhaps I am using >a customized ISPF? Or there is some option that is not turned on in the z/OS >that I am using? > >>Support for PDSE as a member* of a GDG was added in z/OS 2.1 or 2, iirc. >>*(not to be confused with members of a PDS[E] > >And also not to be confused with PDSE 2 member generations, right? > >> maybe they could have >> tried harder not to be confusing > >Agreed. > >>note, while GDGs usually consist of "generations" of the same dataset, >>there's no rule that says they must be. > >Interesting. Did not know that. > >Charles > >On Mon, 29 May 2023 19:28:35 -0400, Steve Smith wrote: > >>"GDGs can be members of PDS or PDSE." -I can't even guess what you're >>trying to say, but on the face of it, that's not only wrong, but absurd. >> >>JCL provides no support at all for PDSE member generations. >> >>Support for PDSE as a member* of a GDG was added in z/OS 2.1 or 2, iirc. >>*(not to be confused with members of a PDS[E], but maybe they could have >>tried harder not to be confusing). So, you can have multiple generations > >-- >For IBM-MAIN subscribe / signoff / archive access instructions, >send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
z/OS offers very little PDSE 2 Generation support. Download www.cbttape.org (file 969) for PDSEGEN utilities. On Mon, May 29, 2023 at 4:57 PM Charles Mills wrote: > > 1. Is there any support in JCL or in ISPF for reading member generations? If > I want to reference or browse a PDSE 2 member generation other than the > latest, is it possible to do so? Am I just missing the doc somewhere? > -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
@Steve, thanks. >JCL provides no support at all for PDSE member generations. Grumble, grumble. What about ISPF? I sure don't see it, but perhaps I am using a customized ISPF? Or there is some option that is not turned on in the z/OS that I am using? >Support for PDSE as a member* of a GDG was added in z/OS 2.1 or 2, iirc. >*(not to be confused with members of a PDS[E] And also not to be confused with PDSE 2 member generations, right? > maybe they could have > tried harder not to be confusing Agreed. >note, while GDGs usually consist of "generations" of the same dataset, >there's no rule that says they must be. Interesting. Did not know that. Charles On Mon, 29 May 2023 19:28:35 -0400, Steve Smith wrote: >"GDGs can be members of PDS or PDSE." -I can't even guess what you're >trying to say, but on the face of it, that's not only wrong, but absurd. > >JCL provides no support at all for PDSE member generations. > >Support for PDSE as a member* of a GDG was added in z/OS 2.1 or 2, iirc. >*(not to be confused with members of a PDS[E], but maybe they could have >tried harder not to be confusing). So, you can have multiple generations -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
Well, I had to go read this. Here is what it says in the DFSMS Using Data Sets Manual (z/OS 2.5) SC23-6855-50: Data set organization of generation data sets Generation data sets (GDSs) can be sequential, direct, or partitioned data sets. *If you use PDSs or PDSEs** **as generation data sets and you want to reference a member, you must reference the member using** **absolute data set names rather than relative names.* This is because MVS JCL does not support specifying both a relative name and a member name. To access a member of a generation data set that is a PDS or PDSE using JCL, you must use an absolute generation name. Example: When referencing a generation data set using JCL, it is common to use relative naming, as inA.B.C(0),A.B.C(+1), orA.B.C(-1). *If you want to access a member of a PDS or PDSE, you** **cannot use relative naming because there is no way to specify the member name in JCL. You can refer** **to aspecificmember of a PDS or PDSE that is a generation data set by using absolute names such as** **A.B.C.G0005V00(MEMBER)**, but JCL does not allow specifyingA,B.C(+5)(MEMBER)**.* Restriction: • Generation data sets cannot be VSAM data sets. • *Note* that only z/OS systems at the V2R1 level or higher support GDSs that are PDSEs: – If you run a mixed sysplex anddefinea GDS PDSE on a system at the z/OS V2R1 level, but issue an access method service LISTCAT command on a system at a lower level, the command output will displaySTATUS---UNKNOWNfor deferred and rolled-off GDS PDSEs. In this case LISCAT command output will not display the DSNTYPE line for that PDSE. For an active GDS PDSE, the LISTCAT command output on a z/OS system below the V2R1 level displaysSTATUS--ACTIVEand no DSNTYPE. – If you roll-off an active GDS PDSE data set from a z/OS system at the V1R13 level or lower, the GDS PDSE becomes a rolled-off simple GDS. If you roll-in back the GDS from a z/OS system at the V2R1 level or lower, it becomes an active GDS (not an active GDS PDSE). In both these cases, the data set can still be used as a PDSE, (it can be loaded with members) because the PDSE indicator for the data set remains set. Absolute generation and version numbers An absolute generation and version number is used to identify aspecificgeneration of a GDG. The generation and version numbers are in the formGVyy, whereis an unsigned 4-digit decimal generation number (0001 through ) andyyis an unsigned 2-digit decimal version number (00 through 99). For example: • A.B.C.G0001V00 is generation data set 1, version 0, in generation data group A.B.C. • A.B.C.G0009V01 is generation data set 9, version 1, in generation data group A.B.C. While it is technically possible todefinean explicit generation of GV00, such adefinitionis discouraged because it can cause unpredictable results when deleting generation data sets using relative generations. The number of generations and versions is limited by the number of digits in the absolute generation name; that is, there can be 9,999 generations. Each generation can have 100 versions. To maintain relative order when the highest generation is and a new generation is added, the new generation is assigned a wrap flag. The wrap flag causes the new generation to behave as if it had 10,000 added to it. This causes the ordering to be correct when going from to 0001. Note: the next higher generation from is not , it is 0001. When all of the generations in the generation index have the wrap flag set, the wrap flags are all turned off. For example if we have a generation index with 3 entries, and the generations are , 0001, and 0002, with 0001 and 0002 having their wrap flags on, the order would be , 0001, 0002. If a new generation is created, 0003, it also has the wrap flag set. The LIMIT causes the to be rolled off from the index. 0001, 0002 and 0003 all have the wrap flag set, so the wrap flag is turned off for all three generations. The order is still valid and is 0001, 0002, 0003. If a generation exceeds 2000 generations from the current generation, the wrap flag is not set. You should not create large relative generation gaps which can lead to order problems. I think I get it. I think this might be done via SLCM trying to keep generations of source(?) -- Pure guess. Steve Thompson On 5/29/2023 7:47 PM, Steve Thompson wrote: Charles: I think you are quite rightly confusing GDG ops with PDSE Generations. And, I have not read up enough on PDSE generations to know how one deals with this in JCL. I just know they exist, but I've not had the need to use them (unless it is pent up and one I now how will realize the utility... :) ). Steve Thompson On 5/29/2023 5:56 PM, Charles Mills wrote: 1. Is there any support in JCL or in ISPF for reading member generations? If I want to reference or browse a PDSE 2 member generation other than the latest, is it possible to do so?
Re: Two related member generation questions
Charles: I think you are quite rightly confusing GDG ops with PDSE Generations. And, I have not read up enough on PDSE generations to know how one deals with this in JCL. I just know they exist, but I've not had the need to use them (unless it is pent up and one I now how will realize the utility... :) ). Steve Thompson On 5/29/2023 5:56 PM, Charles Mills wrote: 1. Is there any support in JCL or in ISPF for reading member generations? If I want to reference or browse a PDSE 2 member generation other than the latest, is it possible to do so? Am I just missing the doc somewhere? 2. Is this not an error or at least an illogical statement in the JCL reference? Under DSNAME - Cataloged data set name it says dsname(member) Specifies the name of the permanent partitioned data set (PDS) or the partitioned data set extended (PDSE), and the name of a member within that data set. If the member does not exist and DISP=OLD or DISP=SHR is specified, the allocation will succeed, but the job will fail when the data set is opened for input. If the member does not exist and the data set is opened for output, the system will add the member to the data set. member 1 to 8 alphanumeric or national characters, or a character X'C0'. The first character must be alphabetic, national, +, or -. If the first character is + or -, the member is a part of a generation data group. dsname(generation) Specifies the name of a generation data group (GDG) and the generation number (zero or a signed integer) of a generation data set within the GDG. That member description is not right, is it? If the first character is numeric, + or -, it's not a reference to a member of a PDS or PDSE at all -- it specifies a generation data set, right? Or is this support for member generations and I am not reading it correctly? Also, member syntax has nothing to do with whether the dataset is cataloged, right? The syntax is exactly the same with a VOLSER reference or for a temporary dataset, right? Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
"GDGs can be members of PDS or PDSE." -I can't even guess what you're trying to say, but on the face of it, that's not only wrong, but absurd. JCL provides no support at all for PDSE member generations. Support for PDSE as a member* of a GDG was added in z/OS 2.1 or 2, iirc. *(not to be confused with members of a PDS[E], but maybe they could have tried harder not to be confusing). So, you can have multiple generations of a PDSE, each of which has multiple generations of its members. Also of note, while GDGs usually consist of "generations" of the same dataset, there's no rule that says they must be. I once had to spend quite a bit of time removing from a utility program the assumption that all generations of a GDG were "alike". The documentation cited on (member) is about as confusifying as it possibly could be. To reiterate, members of a PDS[E} and "members" of a GDG have nothing to do with each other; just the conflation confusion of the same syntax in JCL, and the same terminology. Eons ago, the parentheses had yet another overload for some kind of ISAM thing, but at least they weren't called "members". sas -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Two related member generation questions
I can answer one part of this. GDGs can be members of PDS or PDSE. This has been true for a long time. The actual generated member name is different than for a GDG dataset. Lloyd Sent from AT Yahoo Mail for iPad On Monday, May 29, 2023, 5:56 PM, Charles Mills wrote: 1. Is there any support in JCL or in ISPF for reading member generations? If I want to reference or browse a PDSE 2 member generation other than the latest, is it possible to do so? Am I just missing the doc somewhere? 2. Is this not an error or at least an illogical statement in the JCL reference? Under DSNAME - Cataloged data set name it says dsname(member) Specifies the name of the permanent partitioned data set (PDS) or the partitioned data set extended (PDSE), and the name of a member within that data set. If the member does not exist and DISP=OLD or DISP=SHR is specified, the allocation will succeed, but the job will fail when the data set is opened for input. If the member does not exist and the data set is opened for output, the system will add the member to the data set. member 1 to 8 alphanumeric or national characters, or a character X'C0'. The first character must be alphabetic, national, +, or -. If the first character is + or -, the member is a part of a generation data group. dsname(generation) Specifies the name of a generation data group (GDG) and the generation number (zero or a signed integer) of a generation data set within the GDG. That member description is not right, is it? If the first character is numeric, + or -, it's not a reference to a member of a PDS or PDSE at all -- it specifies a generation data set, right? Or is this support for member generations and I am not reading it correctly? Also, member syntax has nothing to do with whether the dataset is cataloged, right? The syntax is exactly the same with a VOLSER reference or for a temporary dataset, right? Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Two related member generation questions
1. Is there any support in JCL or in ISPF for reading member generations? If I want to reference or browse a PDSE 2 member generation other than the latest, is it possible to do so? Am I just missing the doc somewhere? 2. Is this not an error or at least an illogical statement in the JCL reference? Under DSNAME - Cataloged data set name it says dsname(member) Specifies the name of the permanent partitioned data set (PDS) or the partitioned data set extended (PDSE), and the name of a member within that data set. If the member does not exist and DISP=OLD or DISP=SHR is specified, the allocation will succeed, but the job will fail when the data set is opened for input. If the member does not exist and the data set is opened for output, the system will add the member to the data set. member 1 to 8 alphanumeric or national characters, or a character X'C0'. The first character must be alphabetic, national, +, or -. If the first character is + or -, the member is a part of a generation data group. dsname(generation) Specifies the name of a generation data group (GDG) and the generation number (zero or a signed integer) of a generation data set within the GDG. That member description is not right, is it? If the first character is numeric, + or -, it's not a reference to a member of a PDS or PDSE at all -- it specifies a generation data set, right? Or is this support for member generations and I am not reading it correctly? Also, member syntax has nothing to do with whether the dataset is cataloged, right? The syntax is exactly the same with a VOLSER reference or for a temporary dataset, right? Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN