View previous topic :: View next topic
|
Author |
Message |
srini24
New User
Joined: 14 Feb 2017 Posts: 12 Location: India
|
|
|
|
Anybody know what is the exact reason for keeping 255 as a maximum limit for generation of GDG's....I hit online but i didn't get better answer.. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
the reasons why something is done in a certain way, or certain limits are what they are
are usually hidden in the design documents
if they are not available the only thing that we can do is guess
the most reasonable guess is that - for space reasons -
the counter was ONE byte - and still is one BYTE - for BASIC GDGs |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
Mr. Sorichetti is correct. In the original OS/360 CVOL catalog structure, the counter fields were one byte. For all I know, the counter fields in the BCS catalog currently used may be larger, but are still limited to 255 for historical reasons.
As a side note, in OS/360 CVOL. the counter field in GnnnnV00 was stored in the catalog in binary as a negative number. When this field was sorted, G0050V00 was first, and G0001V00 was last, which is why xx(0) got the first entry in G0050V00, and G0001V00 came up as (-49). Catalog listers had to convert the binary number to decimal, and catalog listers printed the GDG data sets in reverse order. |
|
Back to top |
|
|
Nic Clouston
Global Moderator
Joined: 10 May 2007 Posts: 2455 Location: Hampshire, UK
|
|
|
|
This topic has nothing to do with COBOL. Moved to a more sensible area. |
|
Back to top |
|
|
jasorn Warnings : 1 Active User
Joined: 12 Jul 2006 Posts: 191 Location: USA
|
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
I knew (prior to reading this thread) the limit had been increased, but I didn't recall the z/OS release. I reviewed the link jasorn provided and came away annoyed at IBM.
- Requirement for the EXTENDED option when creating the GDG. This is telling me two things.
- The data fields for the counters are one byte in the old catalog.
- The GDG data for an "extended" GDG is a different record type in the catalog with larger fields.
- Why limit it to 999? The limit seems strange since even a 2 byte binary data area in the catalog implies a much larger (32767) limit, which should be enough to keep people happy for a very long time. Is the real reason for 999 to keep the LISTCAT report essentially the same: no 4 or 5 byte decimal numerics. That will keep people analyzing the printed reports happy! Or is the real reason (the cynic in me says) IBM was too lazy to update the report program?
|
|
Back to top |
|
|
don.leahy
Active Member
Joined: 06 Jul 2010 Posts: 765 Location: Whitby, ON, Canada
|
|
|
|
Quote: |
For those interested in the deep background, here is an excerpt from a blog on the IBM Developerworks community:
"To explain the internal differences of GDGs vs GDGEs, it is best to first know the limitations of a GDG. GDG base records contain a GAT (generation aging table) cell which has a GAT limit contained in 1 byte. This limits the GAT count to 255. The GAT cell also has a table that keeps track of the order of the generations. Each entry in the GAT table has a corresponding GDS sub-record cell that has the necessary info to generate the GDS name and its volumes. To locate a GDS, all that is necessary is to read the GDG base record.
The GDGE record design does two things: makes the GAT limit field 2 bytes and removes the concept of GDG sub-records. All GDS are kept as nonVSAM records. In theory, the GAT count could be much larger than 999; the 999 was chosen because it is the largest number JCL can currently have without making programming changes." |
|
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
The JCL issue is worse than Mr. Leahy's quote seems to imply. Yes, you have the problem of more than 3 digit relative generations. But think about
//GDGDD DD DISP=SHR,DSN=GDGBASE
when the GDG base has more than 255 generations. Each generation creates the equivalent of a DD statement, so you run into limits on maximum DD statements in a step. This is much worse than altering the JCL scanner! |
|
Back to top |
|
|
|