1 / 15

Managing Generation Data Groups

Managing Generation Data Groups . Chapter 12. Objectives. Knowledge objectives Explain what generation data groups are and why they’re used. Distinguish between relative and absolute generation numbers, How they refer to the generations of a GDG.

frieda
Download Presentation

Managing Generation Data Groups

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Managing Generation Data Groups Chapter 12 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM

  2. Objectives • Knowledge objectives • Explain what generation data groups are and why they’re used. • Distinguish between relative and absolute generation numbers, • How they refer to the generations of a GDG. • Name the two main functions to create a GDG. • Describe the role of the model DSCB in specifying DCB information for new generations of a GDG. • Distinguish between specific model DSCB and general-purpose model DSCB’s. • Name the utility to create and delete GDGs. • Name two facilities used to list GDG catalog information. • Applied objectives • Code the JCL necessary to create or retrieve generations of a generation data group. • Code a job that defines a generation data groupand allocates a model DSCB. • List GDG catalog information © 2002 - Mike Murach & Associates, 2007 - HCC, IBM

  3. GDG Facts • A GDG, is a collection of two or more chronologically related versions of the same data set. • They are non-VSAM sequential data sets on tape or DASD. • Each time a generation data set is processed, a new generation is added to the GDG. • To refer to the generations we use relative generation numbers like • 0, -1, -2, and -3. • GDG’s and generation data sets in them must be cataloged. • During creation of a catalog entry for a GDG, you specify how many should be maintained © 2002 - Mike Murach & Associates, 2007 - HCC, IBM

  4. Figure 12-01b The Relative Positions Of GDG Members © 2002 - Mike Murach & Associates, 2007 - HCC, IBM

  5. Figure 12-02a Typical Update Procedure Using A Generation Data Group © 2002 - Mike Murach & Associates, 2007 - HCC, IBM

  6. Formatting Generation And Version Numbers • Format • How the absolute generation numbers for the GDG members change • Data set name Data set name Relative name before processing after processing • PAYMAST(0) PAYMAST.G0012V00 PAYMAST.G0013V00 • PAYMAST(-1) PAYMAST.G0011V00 PAYMAST.G0012V00 • PAYMAST(-2) PAYMAST.G0010V00 PAYMAST.G0011V00 • PAYMAST(-3) PAYMAST.G0009V00 PAYMAST.G0010V00 datasetname.GnnnnVnn © 2002 - Mike Murach & Associates, 2007 - HCC, IBM

  7. Syntax Referring To GDG Members dsname(relative-number) © 2002 - Mike Murach & Associates, 2007 - HCC, IBM

  8. A Two-step Job That Updates A GDG Master File Twice //MM01PY1 JOB (36512),'R MENENDEZ',NOTIFY=&SYSUID//UPDATE1 EXEC PGM=PAY3200//OLDMAST DD DSNAME=MM01.PAYROLL.MASTER(0),DISP=OLD//NEWMAST DD DSNAME=MM01.PAYROLL.MASTER(+1),// DISP=(NEW,CATLG),// UNIT=SYSDA,VOL=SER=MPS8BV,// SPACE=(CYL,(10,1))//PAYTRAN DD DSNAME=MM01.PAYROLL.TRANS.CORP,DISP=OLD//PAYCORP DD SYSOUT=*//UPDATE2 EXEC PGM=PAY3210//OLDMAST DD DSNAME=MM01.PAYROLL.MASTER(+1),DISP=OLD//NEWMAST DD DSNAME=MM01.PAYROLL.MASTER(+2),// DISP=(NEW,CATLG),// UNIT=SYSDA,VOL=SER=MPS8BV,// SPACE=(CYL,(10,1))//PAYTRAN DD DSNAME=MM01.PAYROLL.TRANS.BRANCH,DISP=OLD//PAYLIST DD SYSOUT=* © 2002 - Mike Murach & Associates, 2007 - HCC, IBM

  9. Two One-step Jobs Updating A GDG Master File • MM01PY2 • MM01PY3 //MM01PY2 JOB (36512),'R MENENDEZ',NOTIFY=&SYSUID//UPDATE1 EXEC PGM=PAY3200//OLDMAST DD DSNAME=MM01.PAYROLL.MASTER(0),DISP=OLD//NEWMAST DD DSNAME=MM01.PAYROLL.MASTER(+1),// DISP=(NEW,CATLG),// UNIT=SYSDA,VOL=SER=MPS8BV,// SPACE=(CYL,(10,1)),// DCB=(LRECL=80)//PAYTRAN DD DSNAME=MM01.PAYROLL.TRANS.CORP,DISP=OLD//PAYCORP DD SYSOUT=* //MM01PY3 JOB (36512),'R MENENDEZ',NOTIFY=&SYSUID//UPDATE2 EXEC PGM=PAY3210//OLDMAST DD DSNAME=MM01.PAYROLL.MASTER(0),DISP=OLD//NEWMAST DD DSNAME=MM01.PAYROLL.MASTER(+1),// DISP=(NEW,CATLG),// UNIT=SYSDA,VOL=SER=MPS8BV,// SPACE=(CYL,(10,1))//PAYTRAN DD DSNAME=MM01.PAYROLL.TRANS.BRANCH,DISP=OLD//PAYLIST DD SYSOUT=* © 2002 - Mike Murach & Associates, 2007 - HCC, IBM

  10. DEFINE GDG • Syntax for AMS DEFINE GDG Command • DEFINE GDG|GENERATIONDATAGROUP ( NAME(entry-name) • LIMIT(limit) [ EMPTY | NOEMPTY ] [ SCRATCH | NOSCRATCH ] [ OWNER(owner-id) ] [ TO(yyyyddd) | FOR(nnnn) ] ) © 2002 - Mike Murach & Associates, 2007 - HCC, IBM

  11. Samples of Code... • A Job • Defines A GDG And Allocates A Model DSCB • Creates A General-purpose Model DSCB • Defines A GDG With A General-purpose Model DSCB • Update A GDG Using A General-purpose Model DSCB //MM01DFG JOB (36512),'R MENENDEZ',NOTIFY=&SYSUID// EXEC PGM=IDCAMS//SYSPRINT DD SYSOUT=*//MODEL DD DSNAME=MM01.PAYROLL.MASTER,DISP=(,KEEP),// UNIT=SYSDA,VOL=SER=MPS800,SPACE=(TRK,(0)),// DCB=(DSORG=PS,RECFM=FB,LRECL=400)//SYSIN DD * DEFINE GDG ( NAME(MM01.PAYROLL.MASTER) -LIMIT(5) -NOEMPTY - SCRATCH )/* //MM01BR14 JOB (36512),'R MENENDEZ',NOTIFY=&SYSUID// EXEC PGM=IEFBR14//DD1 DD DSNAME=MODLDSCB,DISP=(NEW,CATLG),// UNIT=SYSDA,VOL=SER=MPS800,// SPACE=(TRK,(0)),// DCB=(DSORG=PS,RECFM=FB) //MM01DFG JOB (36512),'R MENENDEZ',NOTIFY=&SYSUID// EXEC PGM=IDCAMS//SYSPRINT DD SYSOUT=*//SYSIN DD * DEFINE GDG (NAME(MM01.PAYROLL.MASTER) - LIMIT(5) - NOEMPTY - SCRATCH )/* //MM01PY4 JOB (36512),'R MENENDEZ',NOTIFY=&SYSUID//UPDATE EXEC PGM=PAY3200//OLDMAST DD DSNAME=MM01.PAYROLL.MASTER(0),DISP=OLD//NEWMAST DD DSNAME=MM01.PAYROLL.MASTER(+1),DISP=(NEW,CATLG),// UNIT=SYSDA,VOL=SER=MPS8BV,// SPACE=(CYL,(10,1)),// DCB=(MODLDSCB,LRECL=400)//PAYTRAN DD DSNAME=MM01.PAYROLL.TRANS,DISP=OLD//PAYCORP DD SYSOUT=* © 2002 - Mike Murach & Associates, 2007 - HCC, IBM

  12. Figure 12-06a Using ISPF DLIST Screen To List GDG Information © 2002 - Mike Murach & Associates, 2007 - HCC, IBM

  13. Using GDG’s • Use AMS LISTCAT to list GDG information • A DD statement referring to a data set by absolute generation number //MM01LST JOB (36512),'R MENENDEZ',NOTIFY=&SYSUID// EXEC PGM=IDCAMS//SYSPRINT DD SYSOUT=*//SYSIN DD * LISTCAT ENTRIES(MM01.PAYROLL.MASTER) - GDG - ALL/* //OLDMAST DD DSNAME=MM01.PAYROLL.MASTER.G0009V00, // DISP=OLD © 2002 - Mike Murach & Associates, 2007 - HCC, IBM

  14. Housekeeping • Syntax For The AMS DELETE GDG Command • Deleting a GDG DELETE entry-name GDG|GENERATIONDATAGROUP [ PURGE|NOPURGE ] [ FORCE|NOFORCE ] //MM01DELG JOB (36512),'R MENENDEZ',NOTIFY=&SYSUID// EXEC PGM=IDCAMS//SYSPRINT DD SYSOUT=*//SYSIN DD * DELETE MM01.PAYROLL.MASTER GDG - PURGE - FORCE/* © 2002 - Mike Murach & Associates, 2007 - HCC, IBM

  15. End Presentation © 2002 - Mike Murach & Associates, 2007 - HCC, IBM

More Related