Download presentation
Presentation is loading. Please wait.
Published byKeira Calhoun Modified over 10 years ago
2
Stephen Linkin Houston Community College 3/21/2007 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM 1 Managing Generation Data Groups
3
3/21/2007 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM2 Objectives Knowledge objectives Explain what generation data groups are and why theyre 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 DSCBs. 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 group and allocates a model DSCB. List GDG catalog information
4
3/21/2007 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM3 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. GDGs 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
5
3/21/2007 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM4 The Relative Positions Of GDG Members Figure 12-01b
6
3/21/2007 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM5 Typical Update Procedure Using A Generation Data Group Figure 12-02a
7
3/21/2007 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM6 Formatting Generation And Version Numbers Format How the absolute generation numbers for the GDG members change Data set name Data set name Relative namebefore processingafter processing PAYMAST(0)PAYMAST.G0012V00PAYMAST.G0013V00 PAYMAST(-1)PAYMAST.G0011V00PAYMAST.G0012V00 PAYMAST(-2)PAYMAST.G0010V00PAYMAST.G0011V00 PAYMAST(-3)PAYMAST.G0009V00PAYMAST.G0010V00 datasetname.GnnnnVnn
8
3/21/2007 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM7 Syntax Referring To GDG Members dsname(relative-number)
9
3/21/2007 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM8 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=*
10
3/21/2007 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM9 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=*
11
3/21/2007 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM10 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) ] ) LIMIT(limit) [ EMPTY | NOEMPTY ] [ SCRATCH | NOSCRATCH ] [ OWNER(owner-id) ] [ TO(yyyyddd) | FOR(nnnn) ] )
12
3/21/2007 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM11 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=*
13
3/21/2007 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM12 Figure 12-06a Using ISPF DLIST Screen To List GDG Information
14
3/21/2007 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM13 Using GDGs 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
15
3/21/2007 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM14 Housekeeping Syntax For The AMS DELETE GDG Command Syntax For The AMS DELETE GDG Command Deleting a GDG 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 /*
16
3/21/2007 © 2002 - Mike Murach & Associates, 2007 - HCC, IBM15 End Presentation
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.