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

Bearbeiten

Beispiel 1: Anlegen einer Standard-GDG für fünf Versionen, jede mindestens 35 Tage alt

Bearbeiten
//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

Bearbeiten
//STEP3 EXEC PGM=IDCAMS 
//SYSPRINT DD SYSOUT=* 
//SYSIN DD * 
   DELETE DB2.FULLCOPY.DSNDB04.TSTEST GDG FORCE 
/*
Bearbeiten