GDG をセットアップする主な方法としては、次の 2 つがあります。
次の例では、世代別データ グループを作成する場合に使用できるジョブを示します。STEP00 では GDG モデルが作成され、STEP01 では 5 つの新しい GDG バイアスが作成されます。
//MFIDMFGD JOB 'MFIDMFGD',CLASS=A,MSGCLASS=A,NOTIFY=MFIDF //STEP00 EXEC PGM=IDCAMS //SYSOUT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //AMSDUMP DD SYSOUT=* //SYSIN DD * DELETE MFIDMF.TEST.GDG DEFINE GENERATIONDATAGROUP(NAME(MFIDMF.TEST.GDG) EMPTY NOSCRATCH LIMIT(96))/* //STEP01 EXEC PGM=IEFBR14 //SYSUXX DD DSN=MFIDMF.TEST.GDG(+1),DISP=(NEW,CATLG),SPACE=(TRK,(5,2)) //SYSUXY DD DSN=MFIDMF.TEST.GDG(+2),DISP=(NEW,CATLG),SPACE=(TRK,(5,2)) //SYSUXZ DD DSN=MFIDMF.TEST.GDG(+3),DISP=(NEW,CATLG),SPACE=(TRK,(5,2)) //SYSUXA DD DSN=MFIDMF.TEST.GDG(+4),DISP=(NEW,CATLG),SPACE=(TRK,(5,2)) //SYSUXB DD DSN=MFIDMF.TEST.GDG(+5),DISP=(NEW,CATLG),SPACE=(TRK,(5,2))
MFIDMF.TEST.GDG.G0001V00、MFIDMF.TEST.GDG.G0002V00、MFIDMF.TEST.GDG.G0003V00、MFIDMF.TEST.GDG.G0004V00、MFIDMF.TEST.GDG.G0005V00 という名前の 5 つのバイアスは、STEP01 によって作成されます。
バイアスは、相対番号によって、実際の参照によって、または世代別データ グループ全体の一部として処理できます。たとえば、前述のジョブの実行後に次の各文を実行できます。
//SYSUT1 DD DSN=MFIDMF.TEST.GDG,DISP=SHR
これにより、MFIDMF.TEST.GDG.G0001V00 から MFIDMF.TEST.GDG.G0005V00 までの一組の連結されたデータ セットで構成されている世代別データ グループ MFIDMF.TEST.GDG 全体が参照されます。
//SYSUT1 DD DSN=MFIDMF.TEST.GDG(0),DISP=SHR
相対番号 0 を使用すると、MFIDMF.TEST.GDG.G0005V00 という名前のデータ セットが参照されます。
//SYSUT1 DD DSN=MFIDMF.TEST.GDG(-1),DISP=SHR
相対番号 -1 を使用すると、MFIDMF.TEST.GDG.G0004V00 という名前のデータ セットが参照されます。
//SYSUT1 DD DSN=MFIDMF.TEST.GDG(+1),DISP=SHR
相対番号 +1 を使用すると、MFIDMF.TEST.GDG.G0006V00 という名前の新しいデータ セットが参照されます。
//SYSUT1 DD DSN=MFIDMF.TEST.GDG.G0003V00,DISP=SHR
実際の参照である G0003V00 を使用すると、MFIDMF.TEST.GDG.G0003V00 という名前のデータ セットが参照されます。
番号のインクリメントは、ジョブごとに行われます。そのため、連続する 2 つのステップで +1 を参照した場合、各ステップは同じデータ セットを使用することになります。