Generation Data Group (GDG) ist eine Sonderform von Dateien unter Großrechner-Betriebssystemen der IBM-z/OS-Reihe. Die eigentliche GDG (GDG Base) ist eine Beschreibung, wie viele Generationen einer Datei gehalten werden sollen und wie alt die älteste Generation mindestens sein muss, bevor sie gelöscht wird.
Wann immer eine neue Generation angelegt wird, wird vom System geprüft, ob eine oder mehrere veraltete Generationen gelöscht werden sollen, und bei Bedarf die Löschung durchgeführt.
Der Sinn von GDGs liegt in der automatischen Versionierung, wobei für die JCL, die Kommandosprache, der Name neutral angegeben wird. Als DSN erscheint der GDG-Name zusammen mit der Historien-Nummer, wobei
- (0) die jüngste, aktuelle Version ist
- (-1), (-2), ... die nächst älteren Generationen sind
- (+1) eine neue Generation anlegt (siehe DD)
Eine weitere Möglichkeit der Verwendung von GDGs liegt in der Möglichkeit, alle Generationen gleichzeitig innerhalb einer JCL anzusprechen, ohne dass dazu die Anzahl der aktuell vorhandenen Generationen bekannt sein muss. Hierfür fällt in der JCL bei der Angabe des Datasets die Klammer und die Generationsnummer weg.
Beispiele
Beispiel 1: Anlegen einer Standard-GDG für fünf Versionen, jede mindestens 35 Tage alt
//JOB1 JOB (12345),MSGCLASS=X,NOTIFY=SYSPROG1
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE GDG (NAME('DB2.FULLCOPY.DSNDB04.TSTEST') LIMIT(5) SCRATCH FOR(35))
/*
Beispiel 2: Löschen einer Standard-GDG
//STEP3 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE DB2.FULLCOPY.DSNDB04.TSTEST GDG FORCE
/*
Weblinks
- Beispiele und vollständige Syntax (Seite nicht mehr abrufbar, festgestellt im Januar 2018. Suche in Webarchiven.)
- IBM DFSMS Product Homepage – in englischer Sprache