Question : What is a GDG? How is it referenced? How is it defined? What is a MODELDSCB? GDG stands for generation data group. It is a dataset with versions that can be referenced absolutely or relatively. It is defined by an IDCAMS define generation datagroup execution.
It is defined using an IDCAMS command DEFINE GENERATIONDATAGROUP or DEF GDG for short. Not many parameters, just a maxgeneration as I recall.
If you create a GDG called MY.GDG, this first instance will be cataloged as MY.GDG.G00001V00 and onwards. Each time you reference one you can do so by absolute reference, as above, or relative. MY.GDG(0) which is the most recent generation. MY.GDG(-1) is the next oldest, and so on.
To create a new GDG generation, you code in your JCL ..DSN=MY.GDG(+1), DISP=(NEW,CATLG) etc as normal. Whatever you created as a max generations, the last one gets dropped off (uncataloged and deleted) assuming you have that many generations.
They are useful for backups and the like. If you run a particular batch job on a daily basis, then its often the case that you have a 5 generation (or 7?!) GDG to capture your output or parameters etc. You then have a week to print them or reference them.
If you have the better answer, then send it to us. We will display your answer after the approval.
What is the advatage of coding RECFM=F over RECFM=FB.
I know the concept that RECFM=FB is fast, easily accessable due to the fact that FEW (not 1 records) records are allocated to each BLOCK. Then who would like to specify RECFM=F? And why?