Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

CREATE-FILE-GENERATION

&pagelevel(3)&pagelevel

Neue Dateigeneration für Dateigenerationsgruppe erzeugen

Komponente:

Funktionsbereich:

Anwendungsbereich:

Privilegierung:

BS2000

Dateiverarbeitung

FILE-GENERATION-GROUP

STD-PROCESSING
TSOS

Berechtigungsschlüssel:

$ (bei NBCONOPI=N) bzw. E (bei NBCONOPI=Y)

Funktionsbeschreibung

Das Kommando CREATE-FILE-GENERATION erstellt eine neue Dateigeneration für eine (bereits existierende) Dateigenerationsgruppe. Es können die Dateimerkmale wie Generationsname, Spezifizierung des Datenträgers sowie Speicherpatzbelegung und Performance-Attribute festgelegt werden (siehe Funktionsübersicht).
Die Merkmale bezüglich Dateischutz und Datensicherung werden einheitlich für die gesamte Dateigenerationsgruppe mit dem Kommando CREATE-FILE-GROUP festgelegt. Informationen des Benutzers bzw. des Systembetreuers (siehe Operand USER- bzw. ADM-INFORMATION) werden nicht aus dem Gruppeneintrag übernommen, sondern können für jede Dateigeneration getrennt festgelegt werden.

Eine mit BASIC-ACL oder GUARDS schreibgeschützte Dateigenerationsgruppe kann nicht erweitert werden.

Grundsätzliche Informationen über Dateigenerationen und Dateigenerationsgruppen siehe Handbuch „Einführung in das DVS“ [13].

Privilegierte Funktionen
  • explizite Angabe (ungleich des Default-Wertes *STD) eines Volumes bzw. Volume-Sets bei den Operanden VOLUME bzw. VOLUME-SET in der Struktur
    SUPPORT=*PUBLIC-DISK(STORAGE-CLASS=*NONE(...))

  • absolute Speicherplatzanforderung mit SPACE=*ABSOLUTE(...) in der Struktur SUPPORT=*PUBLIC-DISK(...)
    (beachte bei SUPPORT=*PRIVATE-DISK ist eine Erlaubnis nicht erforderlich)

Die Systembetreuung kann zusätzlich zur Benutzerinformation eine bis zu acht Zeichen lange Information für die Dateigeneration in den Dateikatalog eintragen (Operand ADM-INFORMATION).

Die Systembetreuung (Privileg TSOS) ist standardmäßig Mit-Eigentümer aller Dateien (kann somit also auch Dateigenerationen unter jeder Benutzerkennung anlegen). Diese Mit-Eigentümerschaft kann bei Einsatz von SECOS eingeschränkt werden.
In Verbindung mit dem Software-Produkt SECOS kann ein Benutzer anderen Benutzerkennungen die Mit-Eigentümerschaft an Dateigenerationsgruppen seiner Benutzerkennung einräumen. Eine Dateigeneration kann dann auch von einem Mit-Eigentümer der Dateigenerationsgruppe angelegt werden.

Dateigenerationen auf SM-Pubsets

Siehe Funktionsbeschreibung des Kommandos CREATE-FILE, Abschnitte „Dateien auf SM-Pubsets“ und „Physikalische Allokierung auf SM-Pubsets“.

Arbeitsdateien

Beim Einrichten einer Dateigeneration auf einem SM-Pubset wird im Kommando CREATE-FILE-GROUP festgelegt, ob es sich um eine Dateigenerationsgruppe mit dem Attribut Arbeitsdatei (WORK-FILE-GROUP=*YES) handelt. Zu Arbeitsdateien siehe auch Handbuch „Einführung in das DVS“ [13].
Wird der Dateigeneration eine Storage-Klasse zugewiesen (explizit oder implizit, siehe Operand STORAGE-CLASS), muss der für das WORK-FILE-Attribut festgelegte Wert mit dem Gruppeneintrag der Dateigenerationsgruppe übereinstimmen.

Dateigenerationen auf Band (Magnetband/Magnetbandkassette)

Zu einem Gruppeneintrag auf gemeinschaftlichem Datenträger können Dateigenerationen auch auf Bändern abgelegt werden (Operand SUPPORT=*TAPE). Beim Erstellen oder beim Zugriff auf den Katalogeintrag von Dateigenerationen auf Bändern sind Besonderheiten zu beachten, die sich durch das Speichermedium ergeben.

Angaben zur Mehrbenutzbarkeit (USER-ACCESS), Zugriffsart (ACCESS) und Kennwörtern werden für Dateigenerationen mit Standardkennsätzen zurm Zeitpunkt der Dateierstellung (OPEN) vom Katalogeintrag in die Bandkennsätze übertragen. Nicht übertragen werden dabei jedoch die Schutzattribute BASIC-ACL und GUARDS.

Beim Erstellen einer Dateigeneration auf Band erfolgt keine Zugriffsprüfung. Somit kann auch für eine noch zu erstellende Dateigeneration auf Band der Schreibschutz mit ACCESS=*READ vereinbart werden. Die Dateigeneration kann als Ausgabedatei eröffnet werden und erstellt werden; der Schreibschutz wird erst nach der Erstellung wirksam.

Mit dem Kommando MODIFY-FILE-GROUP-ATTRIBUTES können die Schutzattribute der Dateigenerationsgruppe geändert werden. Für alle bereits auf Band erstellten Dateigenerationen erfolgt die Änderung nur im Dateikatalog, aber nicht in den Bandkennsätzen.

Der Zugriff (OPEN) auf eine bereits existierende Band-Dateigeneration wird anhand der im Dateikatalog hinterlegten Schutzattribute überprüft. Die Einträge in den Kennsätzen werden nicht berücksichtigt.

Beim Importieren einer Band-Dateigeneration erfolgt die Zugriffsprüfung anhand der in den Dateikennsätzen hinterlegten Schutzattribute. War die Band-Dateigeneration beim Erstellen mit einem Kennwort geschützt, so muss dieses Kennwort beim Importieren wieder angegeben werden, auch wenn die Dateigenerationsgruppe inzwischen mit einem anderen oder keinem Kennwort geschützt ist.

 

Funktionsübersicht

Funktion / Bedeutung

Operand 1. Stufe

Operand 2./3. Stufe

Name der Dateigeneration festlegen

GENERATION-NAME =


Datenträger festlegen

SUPPORT


Datenträger: Pubset

SUPPORT = *PUBLIC-DISK(...)


  • Storage-Klasse festlegen


STORAGE-CLASS

  • Performance-Eigenschaft

  • Performance-Attribut

  • Art der Ein/Ausgabeoperation


IO-ATTRIBUTES
PERFORMANCE
USAGE

  • Zeitpunkt der Datenkonsistenz

    nach Schreiboperationen festlegen


DISK-WRITE

  • Ausfallsicherheit fordern


AVAILABILITY

  • beabsichtigtes Dateiformat


FILE-PREFORMAT

  • Volume-Set festlegen


VOLUME-SET

  • Datenträger festlegen


VOLUME

  • Gerätetyp festlegen


DEVICE-TYPE

  • Benutzerinformation


USER-INFORMATION

  • Information der Systembetreuung


ADM-INFORMATION

Datenträger: Privatplatte

= *PRIVATE-DISK


  • Gerätetyp festlegen


DEVICE-TYPE

  • Datenträger anfordern


VOLUME

  • Speicherplatzbelegung


SPACE

  • Daten-/Indextrennung bei ISAM-

    Dateien


DATA-SUPPORT

Datenträger: Band

= *TAPE


  • Gerätetyp festlegen


DEVICE-TYPE

  • Datenträger anfordern


VOLUME

  • Bandgeräteanforderung


PREMOUNT-LIST

Fehlerbehandlung bei bereits existierender
Datei

SUPPRESS-ERRORS


  • normale Fehlerbehandlung

= *NONE


  • Fehlerbehandlung unterdrücken

= *FILE-EXISTING


Format

CREATE-FILE-GENERATION

Kurzname: CRFGN

GENERATION-NAME = <filename 1..54 without-vers>

,SUPPORT = * PUBLIC-DISK (...) / *PRIVATE-DISK(...) / *TAPE(...) / *NONE


* PUBLIC-DISK (...)



|


STORAGE-CLASS = *STD / <composed-name 1..8> / *NONE(...)



|




*NONE(...)



|





|


IO-ATTRIBUTES = *STD / [*PARAMETERS](...)



|





|



[*PARAMETERS](...)



|





|




|


PERFORMANCE = *STD / *HIGH / *VERY-HIGH / *USER-MAXIMUM



|





|




|


,USAGE = *READ-WRITE / *WRITE / *READ



|





|


,DISK-WRITE = *STD / *IMMEDIATE / *BY-CLOSE



|





|


,AVAILABILITY = *STD / *HIGH



|





|


,FILE-PREFORMAT = *BY-PUBSET-DEFAULT / *K / *NK2 / *NK4



|





|


,VOLUME-SET = *STD / *CONTROL-VOLUME-SET / <cat-id 1..4>



|





|


,VOLUME = *STD / list-poss(255): <vsn 1..6>



|





|


,DEVICE-TYPE = *BY-VOLUME / <device>



|


,SPACE = *STD / *RELATIVE(...) / *ABSOLUTE(...)



|




*RELATIVE(...)



|





|


PRIMARY-ALLOCATION = <integer 1..2147483647>



|





|


,SECONDARY-ALLOCATION = *STD / <integer 0..32767>



|




*ABSOLUTE(...)



|





|


FIRST-PAGE = <integer 1..2147483647>



|





|


,SIZE = <integer 1..2147483647>



|


,USER-INFORMATION = *NONE / <c-string 1..8 with-low>



|


,ADM-INFORMATION = *NONE / <c-string 1..8 with-low>


*PRIVATE-DISK(...)



|


VOLUME = [ *ANY ](...) / list-poss(255): <alphanum-name 1..6>



|




[ *ANY ](...)



|





|


NUMBER-OF-DEVICES = 1 / <integer 1..9>



|


,DEVICE-TYPE = *BY-VOLUME-CATALOG / <device>



|


,SPACE = *STD / *RELATIVE(...) / *ABSOLUTE(...)



|




*RELATIVE(...)



|





|


PRIMARY-ALLOCATION = <integer 1..2147483647>



|





|


,SECONDARY-ALLOCATION = *STD / <integer 0..32767>



|




*ABSOLUTE(...)



|





|


FIRST-PAGE = <integer 1..2147483647>



|





|


,SIZE = <integer 1..2147483647>



|


,DATA-SUPPORT = *SAME / [*PARAMETERS](...)



|




[*PARAMETERS](...)



|





|


DATA-DEVICE-TYPE = <device>



|





|


,DATA-VOLUME = list-poss(255): <alphanum-name 1..6>



|





|


,DATA-SPACE = *RELATIVE (...) / *ABSOLUTE(...)



|





|



*RELATIVE(...)



|





|




|


PRIMARY-ALLOCATION = <integer 1..2147483647>



|





|




|


,SECONDARY-ALLOCATION = *STD / <integer 0..32767>



|





|



*ABSOLUTE(...)



|





|




|


FIRST-PAGE = <integer 1..2147483647>



|





|




|


,SIZE = <integer 1..2147483647>


*TAPE(...)



|


VOLUME = *NO / [*ANY](...) / list-poss(255): <alphanum-name 1..6>



|




[*ANY](...)



|





|


NUMBER-OF-DEVICES = 1 / <integer 1..9>



|


,DEVICE-TYPE = *BY-VOLUME-CATALOG / <device>



|


,PREMOUNT-LIST = *NONE / list-poss(255): <integer 0..255>

,SUPPRESS-ERRORS = *NONE / *FILE-EXISTING

Operandenbeschreibung

GENERATION-NAME = <filename 1..54 without-vers>
Name der neuen Dateigeneration.
Katalog- und Benutzerkennung müssen mit denen der Dateigenerationsgruppe übereinstimmen.
Nur die eigene Benutzerkennung oder eine Benutzerkennung, für die der Benutzer Mit-Eigentümer ist, darf angegeben werden. Die Systembetreuung (Privileg TSOS) darf jede Benutzerkennung angeben.
Die Nummer der neuen Dateigeneration kann absolut oder relativ (bezogen auf den Wert BASE-NUMBER des Gruppeneintrags) angegeben werden; näheres siehe Handbuch „Einführung in das DVS“ [13].
Unabhängig von der Form der Angabe darf die absolute Nummer der neuen Dateigeneration nur der um 1 erhöhte Wert von LAST-GEN des Gruppeneintrags sein, bei LAST-GEN= 9999 muss die neue Generation den Wert 1 erhalten (siehe auch die Ausgabefelder BASE-NUMBER und LAST-GEN des Kommandos SHOW-FILE-ATTRIBUTES).

SUPPORT = *PUBLIC-DISK(...)
Die Dateigeneration soll auf gemeinschaftlicher Platte eingerichtet werden. Der Pubset (zusammengehöriges Set von gemeinschaftlichen Platten), auf dem die Dateigeneration eingerichtet wird, ist durch die Katalogkennung im Dateinamen (explizit angegeben oder Standard-Katalogkennung) eindeutig bezeichnet.

STORAGE-CLASS = *STD / <composed-name 1..8> / *NONE(...)
Bestimmt die Eigenschaften des Ablageortes der Dateigeneration.
Zur automatischen Verwaltung des Speicherplatzes auf SM-Pubsets definiert die Systembetreuung Storage-Klassen. Für eine Storage-Klasse sind bestimmte Datei-Attribute definiert, die für alle Dateien, denen diese Storage-Klasse zugewiesen wird, implizit gesetzt werden. Durch die Angabe einer Storage-Klasse entfallen die expliziten Angaben für die Operanden VOLUME-SET, VOLUME, DEVICE-TYPE, IO-ATTRIBUTES, DISK-WRITE, FILE-PREFORMAT und AVAILABILITY.

Die Storage-Klasse muss bezüglich des Attributs „Arbeitsdatei“ (WORK-FILE) mit dem Gruppeneintrag übereinstimmen.
Mit dem Kommando SHOW-STORAGE-CLASS kann sich der Benutzer über alle für ihn verfügbaren Storage-Klassen eines SM-Pubsets und die jeweils eingestellten Datei-Attribute informieren.

STORAGE-CLASS = *STD
Einer Dateigeneration auf einem SM-Pubset wird die Default-Storage-Klasse aus dem Gruppeneintrag der Dateigenerationsgruppe zugewiesen. Die Default-Storage-Klasse wird über den Operanden STOR-CLASS-DEFAULT im Kommando CREATE-FILE-GROUP bzw. MODIFY-FILE-GROUP-ATTRIBUTES festgelegt.
Wenn die Dateigeneration auf einem SF-Pubset angelegt werden soll oder keine Default-Storage-Klasse definiert ist, erhält die Datei dieselben Attribute wie bei der Angabe STORAGE-CLASS=*NONE mit Default-Werten.

STORAGE-CLASS = <composed-name 1..8>
Einer Dateigeneration auf einem SM-Pubset wird die angegebene Storage-Klasse zugewiesen. Die Storage-Klasse muss zum Zeitpunkt der Zuweisung existieren und für den Benutzer zugreifbar sein.
Für eine Dateigeneration auf einem SF-Pubset wird die Angabe ignoriert und die Datei erhält dieselben Attribute wie bei der Angabe STORAGE-CLASS=*NONE mit Default-Werten.

STORAGE-CLASS = *NONE(...)
STORAGE-CLASS=*NONE wirkt wie *STD, wenn die folgenden Bedingungen alle erfüllt sind:

  • Die Dateigeneration wird auf einem Volume-Set für permanente Datenhaltung angelegt.

  • Der Benutzerkennung ist am betroffenen SM-Pubset eine Default-Storage-Klasse zugewiesen.

  • Physikalische Allokierung ist nicht erlaubt.

Nur in diesem Fall werden die Operanden PERFORMANCE, USAGE, DISK-WRITE und AVAILIBILITY ignoriert.

In allen anderen Fällen werden die Eigenschaften des Ablageortes der Dateigeneration über die Operanden der Struktur *NONE(...) bestimmt und der Dateigeneration wird keine Storage-Klasse zugewiesen.
Das Attribut „Arbeitsdatei“ wird aus dem Gruppeneintrag übernommen (siehe Kommando CREATE-FILE-GROUP, Operand WORK-FILE-GROUP).

Zur Beschreibung der weiteren Operanden siehe Kommando CREATE-FILE.

Kommando-Returncode

(SC2)

SC1

Maincode

Bedeutung / garantierte Meldungen


0

CMD0001

Kommando ausgeführt

2

0

DMS051E

Unstimmigkeiten zum Pool privater Platten oder Fehler bei Operanden

2

0

DMS0546

Katalogeintrag der angegebenen Datei hat Maximalgröße erreicht

2

0

DMS054A

Plattenspeichermangel oder Zugriff auf eine Platte nicht möglich


1

CMD0202

Syntax- oder Semantikfehler im Kommando


32

DMS0584

Während der Verarbeitung wurde ein Zustand gemeldet, der die Fortführung der Funktion nicht zulässt.


32

DMS05C7

Unerwarteter interner Fehler im DVS


64

CMD0216

Privilegien-Fehler


64

DMS0501

Angeforderter Katalog nicht verfügbar


64

DMS0512

Angeforderter Katalog nicht gefunden


64

DMS051B

Gewünschte Benutzerkennung nicht im Pubset
garantierte Meldungen: DMS051B, DMS0681


64

DMS051C

Benutzer hat auf Pubset kein Zugriffsrecht
garantierte Meldungen: DMS051C, DMS0681


64

DMS0533

Datei im Pubset nicht gefunden
garantierte Meldung: DMS0533


64

DMS053E

Datei auf priv. Datenträger bereits katalogisiert


64

DMS0555

Angegebener Dateiname bereits katalogisiert


64

DMS0557

Fehlerhafte Datenträger-Angabe


64

DMS057A

Unzulässige Kombination von Datei-Attributen und Storage-Klasse


64

DMS057B

Ungültiger Operand für migrierte Datei


64

DMS057C

Bearbeitung wegen HSMS-Fehler nicht möglich


64

DMS057E

Datei migriert, HSMS nicht verfügbar


64

DMS057F

Migrierte Datei darf nicht umbenannt werden


64

DMS0585

Während der Katalogverarbeitung bzw. während der Mehrrechnerverarbeitung wurde ein Fehler festgestellt.


64

DMS0586

Der Zugriff bzw. die Belegung eines Datenträgers ist derzeit nicht möglich


64

DMS0587

Die Benutzung des angegebenen Kommandos wurde von der Systembetreuung eingeschränkt


64

DMS0588

Die Plattenspeicher-Zuweisung konnte nicht durchgeführt werden


64

DMS05BD

Unzulässige Kombination von Datei- und Volume-Set-Attributen


64

DMS05CC

Dateiname bereits katalogisiert


64

DMS05FC

Angegebene Benutzer-Kennung nicht im HOME-Pubset


64

DMS0618

Storage-Klasse unbekannt


64

DMS061A

Storage-Klassen-Katalog konnte nicht gelesen werden


64

DMS0683

Datei existiert schon
garantierte Meldung: DMS0683


64

DMS06C4

Datei-Generationsgruppe noch nicht katalogisiert


64

DMS06FF

BCAM Verbindung unterbrochen


128

DMS0506

Funktion wegen Masterwechsel nicht ausgeführt


130

DMS0524

Systemadressraum erschöpft


130

DMS053C

In der Katalog-Datei des Pubsets kein Platz
garantierte Meldung: DMS053C


130

DMS0582

Die Datei ist derzeit gesperrt oder in Gebrauch und kann nicht bearbeitet werden


130

DMS0585

Während der Katalogverarbeitung bzw. während der Mehrrechnerverarbeitung wurde ein Fehler festgestellt.


130

DMS0586

Der Zugriff bzw. die Belegung eines Datenträgers ist derzeit nicht möglich


130

DMS0588

Die Plattenspeicher-Zuweisung konnte nicht durchgeführt werden


130

DMS0594

Nicht genügend virtueller Speicherplatz vorhanden


130

DMS05C8

Maximale erlaubte Anzahl von Dateien erreicht

 

Beispiele

Beispiel 1: Dateigenerationen anglegen

/create-file-group group-name=max.group.1,
       gen-par=(max=3,ov-opt=del-all,vol=work01,dev-type=d3435) ————— (1)
/show-file-attr group-name=max.group.1,inf=(organisation=*yes) —————— (2)

%0000000000*:2OSG:$USER1.MAX.GROUP.1 (FGG)
%  ------------------------------- GENERATION-INFO ---------------------------- 
%  MAXIMUM    = 3           BASE-NUM   = 0           OVERFL-OPT = DELETE-ALL
%  FIRST-GEN  = 0           LAST-GEN   = 0
%  EXTENTS     VOLUME     DEVICE-TYPE
%              WORK01       D3435
%:2OSG: PRDISC:      1 FILE  RES=         0 FRE=         0 REL=         0 PAGES 

/cre-file-gen max.group.1(*1) ——————————————————————————————————————— (3)

%  DMS0681 DMS ERROR '06DA' WHEN ACCESSING FILE ':2OSG:$USER1.MAX.GROUP.1(*0001)
'. FOR FURTHER INFORMATION: /HELP-MSG DMS06DA

/help-msg dms06da,lang=d  ——————————————————————————————————————————— (4)

%  DMS06DA UNZULAESSIGE KOMBINATION VON PRIVATEN UND OEFFENTLICHEN DATENTRAEGERN
 FUER EINE DATEI-GENERATIONS-GRUPPE IM ANGEGEBENEN KOMMANDO
%  ? Der Benutzer versuchte, eine Generation auf einer privaten Platte
%    zu erstellen und die Dateigenerationsgruppe befindet sich auf einem
%    oeffentlichen Datentraeger oder es wurde versucht eine Generation
%    auf oeffentlichem Datentraeger bzw. Band zu erstellen und die
%    Dateigenerationsgruppe befindet sich auf privater Platte.
%  ! Wenn die Dateiengenerationsgruppe auf der privaten Platte
%    verbleibt, muss die Generation auf der privaten Platte erstellt werden.
%    Wenn sie auf einem oeffentlichen Datentraeger verbleibt, muss
%    die Generation auf einem oeffentlichten Datentraeger oder auf
%    einem Band bleiben.

/cre-file-gen max.group.1(*1),support=*priv(vol=work01,dev-type=d3435) — (5)
/cre-file-gen max.group.1(*2),support=*priv(vol=work01,dev-type=d3435)
/cre-file-gen max.group.1(*3),support=*priv(vol=work01,dev-type=d3435)
/show-file-attr f-name=max.group.1,select=by-attr(gen=y ) ————————————— (6)

%         0*:2OSG:$USER1.MAX.GROUP.1 (FGG)
%         3*:2OSG:$USER1.MAX.GROUP.1(*0001)
%         3*:2OSG:$USER1.MAX.GROUP.1(*0002)
%         3*:2OSG:$USER1.MAX.GROUP.1(*0003)
%:2OSG: PRDISC:      4 FILES RES=         9 FRE=         9 REL=         0 

/show-file-attr f-name=max.group.1,inf=(organization=*yes) ———————————— (7)

%00000000*:2OSG:$USER1.MAX.GROUP.1 (FGG)
%  ------------------------------- GENERATION-INFO ----------------------------
%0000000000*:2OSG:$USER1.MAX.GROUP.1 (FGG)
%  ------------------------------- GENERATION-INFO ---------------------------- 
%  MAXIMUM    = 3           BASE-NUM   = 0           OVERFL-OPT = DELETE-ALL
%  FIRST-GEN  = 1           LAST-GEN   = 3
%  EXTENTS     VOLUME     DEVICE-TYPE
%              WORK01       D3435
%:2OSG: PRDISC:      1 FILE  RES=         0 FRE=         0 REL=         0 PAGES 

/cre-file-gen max.group.1(*4),support=*priv(vol=work01,dev-type=d3435) —— (8)
/show-file-attr max.group.1,inf=(organization=*yes) ———————————————————— (9)

%0000000000*:2OSG:$USER1.MAX.GROUP.1 (FGG)
%  ------------------------------- GENERATION-INFO ---------------------------- 
%  MAXIMUM    = 3           BASE-NUM   = 0           OVERFL-OPT = DELETE-ALL
%  FIRST-GEN  = 4           LAST-GEN   = 4
%  EXTENTS     VOLUME     DEVICE-TYPE
%              WORK01       D3435
%:2OSG: PRDISC:      1 FILE  RES=         0 FRE=         0 REL=         0 PAGES 

/show-file-attr max.group.1,select=*by-attr(gen=*yes)

0000000000*:2OSG:$USER1.MAX.GROUP.1 (FGG)
  ------------------------------- GENERATION-INFO ---------------------------- 
  MAXIMUM    = 3           BASE-NUM   = 0           OVERFL-OPT = DELETE-ALL
  FIRST-GEN  = 4           LAST-GEN   = 4
  EXTENTS     VOLUME     DEVICE-TYPE
              WORK01       D3435
0000000003*:2OSG:$USER1.MAX.GROUP.1(*0004)
  ------------------------------- ORGANIZATION ------------------------------- 
  FILE-STRUC = NONE        BUF-LEN    = NONE        BLK-CONTR  = NONE
  IO(USAGE)  = READ-WRITE  IO(PERF)   = STD         DISK-WRITE = IMMEDIATE
  REC-FORM   = NONE        REC-SIZE   = 0
  AVAIL      = *STD
:2OSG: PRDISC:      2 FILES RES=         3 FRE=         3 REL=         0 PAGES 

(1)

Für die Dateigenerationsgruppe MAX.GROUP.1 wird auf der privaten Platte WORK01 ein Gruppeneintrag erstellt. Es sollen maximal drei Dateigenerationen existieren (Operand MAXIMUM=3). Wenn das Maximum überschritten wird, sollen alle bereits existierenden Generationen gelöscht werden (Operand OVERFLOW-OPTION=*DELETE-ALL).

(2)

Das Kommando SHOW-FILE-ATTRIBUTES gibt den Gruppeneintrag aus.

(3)

Mit dem Kommando CREATE-FILE-GENERATION soll die erste Dateigeneration erzeugt werden.

(4)

Das Kommando wird abgewiesen. Das Kommando HELP-MSG-INFORMATION informiert über den aufgetretenen Fehler DMS06DA:Der Gruppeneintrag steht auf privater Platte. Für die Dateigeneration *0001 wurde der Operand SUPPORT nicht angegeben, d.h. es wurde versucht die erste Dateigeneration auf gemeinschaftlicher Platte anzulegen.

(5)

Es werden die Dateigenerationen *0001, *0002 und *0003 auf der privaten Platte WORK01 angelegt.

(6)

Das Kommando SHOW-FILE-ATTRIBUTES informiert über den Gruppeneintrag und die zugehörigen Dateigenerationen (Angabe von GENERATION=*YES).

(7)

Das Kommando SHOW-FILE-ATTRIBUTES gibt die Merkmale des Gruppeneintrags aus, die Dateigenerationen betreffen (Angabe von ORGANIZATION=*YES).

(8)

Die Dateigeneration *0004 wird erzeugt. Da OVERFLOW-OPTION=*DELETE-ALL vereinbart ist und das Maximum erreicht ist, müssten dabei die vorhergehenden Generationen gelöscht werden.

(9)

Die nachfolgenden SHOW-FILE-ATTRIBUTES-Kommando zeigen, dass nur der Gruppeneintrag und die zuletzt erzeugte Generation *0004 vorhanden sind.

Beispiel 2: Dateigenerationen erstellen (Lesekennwort)

/create-file-group group-name=max.group.2,gen-par=(max=3),
    prot=(read-pass='paul')  ——————————————————————————————————————— (1)

/show-file-attr max.group.2,inf=(organization=*yes,security=*yes) ——— (2)

%0000000000 :2OSG:$USER1.MAX.GROUP.2 (FGG)
%  ------------------------------- SECURITY     ------------------------------- 
%  READ-PASS  = YES         WRITE-PASS = NONE        EXEC-PASS  = NONE
%  USER-ACC   = OWNER-ONLY  ACCESS     = WRITE       ACL        = NO
%  AUDIT      = NONE        FREE-DEL-D = *NONE       EXPIR-DATE = 2012-03-18
%  DESTROY    = NO          FREE-DEL-T = *NONE       EXPIR-TIME =   00:00:00
%  SP-REL-LOCK= NO          ENCRYPTION = *NONE
%  ------------------------------- GENERATION-INFO ---------------------------- 
%  MAXIMUM    = 3           BASE-NUM   = 0           OVERFL-OPT = CYCL-REPL
%  FIRST-GEN  = 0           LAST-GEN   = 0
%:2OSG: PUBLIC:      1 FILE  RES=         0 FRE=         0 REL=         0 PAGES 

/cre-file-gen max.group.2(*1) —————————————————————————————————————— (3)

%  DMS0681 DMS ERROR '05D8' WHEN ACCESSING FILE ':2OSG:$USER1.MAX.GROUP.2(*0001)
'. FOR FURTHER INFORMATION: /HELP-MSG DMS05D8

/help-msg dms05d8,lang=d  ——————————————————————————————————————— (4)

%  DMS05D8 DATEI GESCHUETZT. ZUGEHOERIGES KENNWORT EINGEBEN UND KOMMANDO WIEDERH
OLEN
%  ? Der Benutzer versuchte fuer eine Datei, die mit einem Kennwort
%    katalogisiert war, den Dateikatalog zu modifizieren, ohne dass ein
%    Kennwort in der Kennworttabelle vorhanden ist.
%    Das Kennwort fuer die vorher katalogisierte Datei wurde ueber das
%    Kennwortkommando dem System nicht mitgeteilt.
%  ! Das Dateikennwort ueber das /ADD-PASSWORD-Kommando angeben und danach das
%    Kommando wiederholen.

/add-pass 'paul' ——————————————————————————————————————————————————— (5)
/cre-file-gen max.group.2(*1) —————————————————————————————————————— (6)
/cre-file-gen max.group.2(*3) —————————————————————————————————————— (7)

%  DMS0681 DMS ERROR '06C7' WHEN ACCESSING FILE ':2OSG:$USER1.MAX.GROUP.1(*0001)
'. FOR FURTHER INFORMATION: /HELP-MSG DMS06C7

/help-msg dms06c7,lang=d ——————————————————————————————————————————— (8)

%  DMS06C7 UNGUELTIGE GENERATIONSNUMMER IM KOMMANDO. NUMMERN MUESSEN AUFSTEIGEND
 UND LUECKENLOS SEIN. KOMMANDO NICHT AUSGEFUEHRT
%  ? Generationsdateien muessen katalogisiert werden mit aufsteigend geordneten 
%    Generationsnummern, wobei keine Luecken in der Folge der
%    Generationsnummern
%    vorkommen duerfen.
%  MASSNAHME : KEINE

/cre-file-gen max.group.2(*2) —————————————————————————————————————— (9)
/cre-file-gen max.group.2(*3)
/cre-file-gen max.group.2(*4)
/show-file-attr max.group.2,select=(gen=yes) —————————————————————— (10)

%         0 :2OSG:$USER1.MAX.GROUP.2 (FGG)
%         3 :2OSG:$USER1.MAX.GROUP.2(*0002)
%         3 :2OSG:$USER1.MAX.GROUP.2(*0003)
%         3 :2OSG:$USER1.MAX.GROUP.2(*0004)
%:2OSG: PUBLIC:      4 FILES RES=         9 FRE=         9 REL=         9 PAGES 
/show-file-attr max.group.2,inf=(organization=*yes)
%0000000000 :2OSG:$USER1.MAX.GROUP.2 (FGG)
%  ------------------------------- GENERATION-INFO ---------------------------- 
%  MAXIMUM    = 3           BASE-NUM   = 0           OVERFL-OPT = CYCL-REPL
%  FIRST-GEN  = 2           LAST-GEN   = 4
%:2OSG: PUBLIC:      1 FILE  RES=         0 FRE=         0 REL=         0 PAGES 

(1)

Für die Dateigenerationsgruppe MAX.GROUP.2 wird auf der gemeinschaftlicher Platte WORK01 ein Gruppeneintrag erstellt. Es sollen maximal drei Dateigenerationen existieren (Operand MAXIMUM=3). Für jede neu erzeugte Generation, die das Maximum überschreitet, soll die jeweils älteste Generation gelöscht werden (Voreinstellung OVERFLOW-OPTION=*CYCLE-REPLACE). Zum Dateischutz wird das Lesekennwort PAUL vereinbart (wird in Protokollen ersetzt durch „P“). Die Schutzmerkmale gelten für den Gruppeneintrag und für alle Generationen der Dateigenerationsgruppe.

(2)

Das Kommando SHOW-FILE-ATTRIBUTES gibt den Gruppeneintrag aus mit den Schutzmerkmalen und Merkmalen für Dateigenerationen.

(3)

Mit dem Kommando CREATE-FILE-GENERATION soll die erste Dateigeneration erzeugt werden.

(4)

Das Kommando wird abgewiesen. Das Kommando HELP-MSG-INFORMATION informiert über den aufgetretenen Fehler DMS05D8:Der Gruppeneintrag, der beim Erzeugen einer neuen Generation aktualisiert wird, kann wegen des Kennwortschutzes nicht geändert werden.

(5)

Das Kennwort PAUL wird in die Kennworttabelle der Task eingetragen.

(6)

Die Generation *0001 wird erzeugt.

(7)

Es wird versucht, die Generation *0003 zu erzeugen.

(8)

Das Kommando wird abgewiesen. Das Kommando HELP-MSG-INFORMATION informiert über den aufgetretenen Fehler DMS06C7: Als nächste Generation kann nur die Generation *0002 erzeugt werden, da die Generationsnummern keine Lücken aufweisen dürfen.

(9)

Es werden die Generationen *0002, *0003 und *0004 erzeugt. 

(10)

Die nachfolgenden SHOW-FILE-ATTRIBUTES-Kommandos zeigen den Gruppeneintrag und alle existieren Generationen: Die Generation *0004 überschritt das festgelegte Maximum von drei Generation. Deshalb wurde beim Erzeugen der Generation *0004 die älteste Generationen gelöscht (Vereinbarung OVERFLOW-OPTION= *CYCLE-REPLACE).