IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

GDG Limit 255 Reason


IBM Mainframe Forums -> All Other Mainframe Topics
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
srini24

New User


Joined: 14 Feb 2017
Posts: 12
Location: India

PostPosted: Mon Sep 03, 2018 2:59 pm
Reply with quote

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
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Mon Sep 03, 2018 3:23 pm
Reply with quote

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
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 917
Location: The Universe

PostPosted: Mon Sep 03, 2018 6:10 pm
Reply with quote

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
View user's profile Send private message
Nic Clouston

Global Moderator


Joined: 10 May 2007
Posts: 2455
Location: Hampshire, UK

PostPosted: Mon Sep 03, 2018 6:10 pm
Reply with quote

This topic has nothing to do with COBOL. Moved to a more sensible area.
Back to top
View user's profile Send private message
jasorn
Warnings : 1

Active User


Joined: 12 Jul 2006
Posts: 191
Location: USA

PostPosted: Tue Sep 04, 2018 6:37 am
Reply with quote

I assume most reading this already knows but for those who don't(I work with people who don't), you can now create gdgs with a limit of 999.

Here's one page but searching for something like ' how to create gdg limit 999' should be enough in case this page disappears.

www.ibm.com/support/knowledgecenter/en/SSLTBW_2.2.0/com.ibm.zos.v2r2.idak100/cat22.htm
Back to top
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 917
Location: The Universe

PostPosted: Tue Sep 04, 2018 8:03 pm
Reply with quote

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
View user's profile Send private message
don.leahy

Active Member


Joined: 06 Jul 2010
Posts: 765
Location: Whitby, ON, Canada

PostPosted: Wed Sep 05, 2018 12:11 am
Reply with quote

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
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 917
Location: The Universe

PostPosted: Wed Sep 05, 2018 7:44 am
Reply with quote

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
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> All Other Mainframe Topics

 


Similar Topics
Topic Forum Replies
No new posts Reorg abended with REASON=X'00E40347' DB2 2
No new posts REASON 00D70014 in load utility DB2 6
No new posts Expand ISPF field up to a limit - is ... TSO/ISPF 9
No new posts Rexx to list generations of GDGs and ... CLIST & REXX 3
No new posts Error 0C1 Reason Code 1 with branch i... PL/I & Assembler 3
Search our Forums:

Back to Top