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

&pagelevel(3)&pagelevel

Name und Merkmale für eine neue Datei vereinbaren

Komponente:

BS2000

Funktionsbereich:

Dateiverarbeitung

Anwendungsbereich:

FILE                                                                                                                     

Privilegierung:

STD-PROCESSING
TSOS
SAT-FILE-EVALUATION
SAT-FILE-MANAGEMENT
SECURITY-ADMINISTRATION

Berechtigungsschlüssel:

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

Funktionsbeschreibung

Das Kommando CREATE-FILE erstellt einen Katalogeintrag. Dabei werden folgende Dateimerkmale vereinbart, die unter dem angegebenen Dateinamen im Katalog gespeichert werden:

  • Name (Operand FILE-NAME)

  • Art des Datenträgers und Performance-Eigenschaften (Operand SUPPORT)

  • Schutzmerkmale (Operand PROTECTION)

  • Art und Häufigkeit der automatischen Dateisicherung durch ARCHIVE bzw. HSMS (Operand SAVE)

  • Benutzerinformation (Operanden USER-INFORMATION und ADM-INFORMATION)

  • Sperre gegen Verdrängung (Migration) bei der automatischen Verwaltung des gemeinschaftlichen Speicherplatzes mit dem Software-Produkt HSMS (Operand MIGRATE)

  • Zeichensatz (Operand CODED-CHARACTER-SET)

  • Zeichensatz für SAM-Node-Files (Operand NET-CODED-CHARACTER-SET)

Weitere Merkmale siehe „Funktionsübersicht".

Privilegierte Funktionen

Folgende Funktionen stehen nur zur Verfügung, wenn die physikalische Allokierung von gemeinschaftlichem Speicherplatz erlaubt ist:

  • 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(...)) beim Anlegen von Dateien auf den Platten des Pubsets

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

  • verschärfte Migrations-Sperre mit MIGRATE=*FORBIDDEN

Ausnahme: Bei Arbeitsdateien sind die Funktionen auch verfügbar, wenn die Berechtigung zur physikalischen Allokierung nicht besteht. 

Die physikalische Allokierung ist in folgenden Fällen erlaubt:

  • für Tasks mit dem Privileg TSOS

  • für Dateien einer Benutzerkennung, in deren pubset-spezifischem Benutzereintrag PHYSICAL-ALLOCATION=*ALLOWED eingetragen ist (siehe Kommando SHOW-USER-ATTRIBUTES)

  • für Dateien auf SF-Pubsets, deren MRSCAT-Eintrag die physikalische Allokierung für alle Benutzer erlaubt (siehe Kommando SHOW-MASTER-CATALOG-ENTRY Operand INFORMATION=*USER).

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

Die Systembetreuung (Privileg TSOS) kann Zugriffe auf die Datei überwachen lassen (Operand AUDIT). Nicht-privilegierte Benutzer benötigen zum Einstellen der AUDIT-Funktion die entsprechende Berechtigung im Benutzereintrag des Pubsets, auf dem die Datei angelegt werden soll (siehe Ausgabefeld AUDIT des Kommandos SHOW-USER-ATTRIBUTES).

Die Systembetreuung (Privileg TSOS) ist standardmäßig Mit-Eigentümer aller Dateien (kann somit also auch Dateien 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 Dateien seiner Benutzerkennung einräumen. Eine permanente Datei kann dann auch von einem ihrer Mit-Eigentümer angelegt werden.

Temporäre Dateien

Da temporäre Dateien auftragsabhängig sind, kann für sie kein Dateischutz vereinbart werden, d.h., die Angaben zu den Schutzmerkmalen (Operand PROTECTION) dürfen nicht von den Default-Werten abweichen (Ausnahme: DESTROY-BY-DELETE, AUDIT, SPACE-RELEASE-LOCK).

Der nichtprivilegierte Benutzer kann temporäre Dateien nur auf dem Default-Pubset seiner Benutzerkennung anlegen.

Dateien auf SM-Pubsets

Der Ablageort einer Datei auf einem SM-Pubset kann über eine Storage-Klasse bestimmt werden. Dies erleichtert die automatische Verwaltung des Speicherplatzes (näheres siehe im Handbuch „Einführung in die Systembetreuung“ [14] bzw. „System Managed Storage“ [45]).

Die Systembetreuung definiert für eine Storage-Klasse bestimmte Datei-Attribute, 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 WORK-FILE, VOLUME-SET, VOLUME, DEVICE-TYPE, IO-ATTRIBUTES, DISK-WRITE, FILE-PREFORMAT und AVAILABILITY.
Mit dem Kommando SHOW-STORAGE-CLASS kann sich der Benutzer über alle für ihn verfügbaren Storage-Klassen des SM-Pubsets und die jeweils eingestellten Datei-Attribute informieren.

Physikalische Allokierung auf SM-Pubsets

Ist der Benutzer zur physikalischen Allokierung von gemeinschaftlichem Speicherplatz berechtigt (siehe „Privilegierte Funktionen“), kann er durch die direkte Angabe eines Volumes oder Volume-Sets (Operand VOLUME bzw. VOLUME-SET) in der Struktur STORAGE-CLASS=*NONE(...) einen bestimmten Volume-Set des SM-Pubsets als Ablageort für seine Datei auswählen.
Dabei wird für die Datei eine Sperre gegen die Verlagerung auf einen anderen Volume-Set des SM-Pubsets gesetzt (S0-MIGRATION=*FORBIDDEN; siehe auch gleichnamigen Operanden des Kommandos MODIFY-FILE-ATTRIBUTES). Wenn der Benutzer ein Volume-Set der Nutzungsart WORK angegeben hat, wird dabei implizit das Attribut WORK-FILE festgelegt.

Bei dem Setzen (hier implizit) von S0-MIGRATION=*FORBIDDEN werden die Attribute PERFORMANCE und AVAILABILITY der Datei mit den gleichnamigen Attributen des Volume-Sets abgeglichen.
Diese Attribute entsprechen den im Benutzerkatalog hierarchisch angeordneten Kontingenten PERFORMANCE (STD, HIGH, VERY-HIGH) und AVAILABILITY (STD, HIGH).
Um ein Unterlaufen der Kontingentierung zu verhindern, wird für Dateien mit dem Attribut S0-MIGRATION=*FORBIDDEN immer mindestens das PERFORMANCE- und AVAILABILITY-Kontingent belastet, das für den Volume-Set vereinbart ist (Ausgabe der Attribute des Volume-Sets mit dem Kommando SHOW-PUBSET-DEFINITION-FILE (und auch mit SHOW-PUBSET-CONFIGURATION).
Eine explizite Angabe der Operanden PERFORMANCE und AVAILABILITY, die ein hierarchisch niedriger angeordnetes Kontingent angibt, wird ignoriert. Der Mindestwert wird in den Katalogeintrag der Datei eingetragen und das entsprechende Kontingent im Benutzereintrag wird belastet. Dabei ist zu beachten, dass das Dateiattribut
PERFORMANCE den maximal zulässigen Wert überschreiten kann, der im Benutzereintrag (Ausgabefeld DMS-TUNING-RESOURCES) festgelegt ist. Die Datei wird dann unabhängig von dem belasteten Kontingent maximal mit dem Wert verarbeitet, der zum Zeitpunkt der OPEN-Verarbeitung im Benutzereintrag eingetragen ist. Die Kontingent-Auslastung und das Attribut DMS-TUNING-RESOURCES kann der Ausgabe des Kommandos SHOW-USER-ATTRIBUTES, Operand INFORMATION=*PUBSET-ATTRIBUTES entnommen werden.


Beispiel

Der Benutzer gibt im Zusammenhang mit physikalischer Allokierung PERFORMANCE=*HIGH bzw. *STD (auch implizit, da Default-Wert) an, aber der gewählte Volume-Set besitzt das Attribut PERFORMANCE=*VERY-HIGH. Die Datei erhält dann automatisch das Attribut PERFORMANCE=*VERY-HIGH. Ist im Benutzereintrag DMS-TUNING-RESOURCES=*CONCURRENT-USE vereinbart, wird die Datei tatsächlich nur mit PERFORMANCE=*HIGH verarbeitet.

Arbeitsdateien

Der Benutzer kann eine Datei auf einem SM-Pubset als Arbeitsdatei anlegen (Operand WORK-FILE=*YES). Die Datei wird als permanente Datei auf einem dafür definierten Volume-Set angelegt. Die Systembetreuung kann Arbeitsdateien zu den von ihr festgelegten Zeitpunkten wieder löschen.
Arbeitsdateien werden standardmäßig nicht mitgesichert.

Dateien auf Magnetband/Magnetbandkassetten

Beim Erstellen oder beim Zugriff auf den Katalogeintrag von Banddateien sind Besonderheiten zu beachten, die sich durch das Speichermedium ergeben.

Angaben zu Mehrbenutzbarkeit (USER-ACCESS), Zugriffsart (ACCESS) und Kennwörter werden für Dateien mit Standardkennsätzen zum Zeitpunkt der Dateierstellung (OPEN) vom Katalogeintrag in die Dateikennsätze übertragen.

Dateimerkmale werden bei der Dateierstellung ohne Prüfung in die Kennsätze übertragen. Auf diese Weise kann Schreibschutz (ACCESS=*READ) für eine Datei vereinbart werden, die noch erstellt werden muss. Die Datei kann danach als Ausgabedatei eröffnet und erstellt werden; anschließend wird der Schreibschutz wirksam.

Wird eine Banddatei mit CREATE-FILE katalogisiert, ist sie standardmäßig mehrbenutzbar, wenn nicht im CREATE-FILE-Kommando (oder später mit MODIFY-FILE-ATTRIBUTES vor dem ersten Eröffnen der Datei) USER-ACCESS=*OWNER-ONLY vereinbart wird.

Dateien auf fernem Rechner

Beim Erzeugen einer Datei über RFA-Verbindung in einem fernen System, dessen Systemparameter FARMTSAV=1 gesetzt ist, wird der Katalogeintrag als modifiziert gekennzeichnet (interne Versionsnummer erhält den Wert 1) und ggf. bei einer Differenzsicherung mitgesichert.

Funktionsübersicht

Funktion / Bedeutung

Operand 1. Stufe

Operand 2./3. Stufe

Name des Katalogeintrags festlegen

FILE-NAME =

                                                              

Datenträger festlegen

SUPPORT =


Datenträger: Pubset und Net-Storage

= *PUBLIC-DISK


  • Speichertyp festlegen

                                                          

STORAGE-TYPE =

  • Dateityp (auf Net-Storage)


FILE-TYPE =

  • Storage-Klasse festlegen


STORAGE-CLASS =

  • Eigenschaft Arbeitsdatei festlegen


WORK-FILE =

  • Performance-Eigenschaft

  • Performance-Attribut

  • Art der Ein/Ausgabeoperation


IO-ATTRIBUTES =

  • Zeitpunkt der Datenkonsistenz
    nach Schreiboperationen festlegen


DISK-WRITE =

  • beabsichtigtes Dateiformat


FILE-PREFORMAT =

  • Ausfallsicherheit fordern


AVAILABILITY =

  • Volume-Set festlegen


VOLUME-SET =

  • Datenträger festlegen


VOLUME = list-poss(255):

  • Gerätetyp festlegen


DEVICE-TYPE =

  • Speicherplatzbelegung


SPACE =

  • HSMS-Speicherverwaltungsklasse


MANAGEMENT-CLASS =

  • Benutzerinformation


USER-INFORMATION =

  • Information der Systembetreuung


ADM-INFORMATION =

Datenträger: Privatplatte

SUPPORT = *PRIVATE-DISK(...)


  • Datenträger anfordern


VOLUME =

  • Gerätetyp festlegen


DEVICE-TYPE =

  • Speicherplatzbelegung


SPACE =

  • Daten-/Indextrennung bei ISAM-Dateien


DATA-SUPPORT =*PARAMETERS(...)

Datenträger: Band

SUPPORT = *TAPE(...)


  • Datenträger anfordern


VOLUME =

  • Gerätetyp festlegen


DEVICE-TYPE =

  • Bandgeräteanforderung


PREMOUNT-LIST =

Schutzmerkmale festlegen

PROTECTION =*PARAMETERS(...)


  • Schutzmerkmale einer Datei übernehmen


PROTECTION-ATTR =

  • Zugriffsrechte


ACCESS =

  • Mehrbenutzbarkeit


USER-ACCESS =

  • einfache Zugriffskontroll-Liste


BASIC-ACL =

  • Zugriffskontrolle mit GUARDS


GUARDS =

  • Kennwörter festlegen


WRITE-PASSWORD=, READ-PASSWORD=, EXEC-PASSWORD=

  • physikalisch Löschen (mit binär null

    überschreiben)


DESTROY-BY-DELETE =

  • Überwachung der DVS-Zugriffe mittels

    SAT/System-Exit-Routinen


AUDIT =

  • Sperre gegen Freigabe von
    reserviertem Speicherplatz (nur
    Plattendateien)


SPACE-RELEASE-LOCK =

  • Freigabedatum zum Löschen


FREE-FOR-DELETION =

nur für Dateien auf Platte und Net-Storage:
Art und Häufigkeit der automatischen
Datensicherung durch ARCHIVE bzw. HSMS

SAVE =


  • Sicherungshäufigkeit


BACKUP-CLASS =

  • maximale Anzahl der Datei-Versionen im Versions-Backup-Archiv


NUM-OF-BACKUP-VERS =

  • Sicherungsumfang


SAVED-PAGES =

nur für Dateien auf Platte und Net-Storage:
Migrierbarkeit bei Einsatz des Software-
Produktes HSMS (autom. Verwaltung des
gemeinschaftlichen Speicherplatzes)

MIGRATE =


  • Migrierung erlaubt

= *ALLOWED


  • Migrations-Sperre

= *INHIBITED


  • verschärfte Migrations-Sperre

= *FORBIDDEN


Codiertabelle (XHCS)

CODED-CHARACTER-SET =


Nur für Node-Files: Zeichensatz, mit dem
die Datei auf Net-Storage angelegt ist

NET-CODED-CHAR-SET =


Fehlerbehandlung bei bereits
existierender Datei

SUPPRESS-ERRORS =


  • normale Fehlerbehandlung

= *NONE


  • Fehlerbehandlung unterdrücken

= *FILE-EXISTING


Tabelle 29: Funktionsübersicht Kommando CREATE-FILE

Format

CREATE-FILE                      

Kurzname: CRF

 FILE-NAME = <filename 1..54 without-gen>

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


*PUBLIC-DISK (...)



|

STORAGE-TYPE = *STD / *PUBLIC-SPACE / *NET-STORAGE(...)



|


*NET-STORAGE(...)



|



|

FILE-TYPE = *STD / *BS2000 / *NODE-FILE



|

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



|


*NONE(...)



|



|

WORK-FILE = *STD / *NO / *YES



|



|

,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>



|

,MANAGEMENT-CLASS = *NONE / <composed-name 1..8>



|



|

,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(...)



|



|


[ *ANY ](...)



|



|

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



|

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



|

,PROTECTION = *STD / [*PARAMETERS](...)


[*PARAMETERS](...)



|

PROTECTION-ATTR = *BY-DEF-PROT-OR-STD / *STD / *FROM-FILE(...)



|


*FROM-FILE(...)



|



|

FILE-NAME = <filename 1..54 without-gen>



|

,ACCESS = *BY-PROTECTION-ATTR / *WRITE / *READ



|

,USER-ACCESS = *BY-PROTECTION-ATTR / *OWNER-ONLY / *ALL-USERS / *SPECIAL



|

,BASIC-ACL = *BY-PROTECTION-ATTR / *NONE / *STD / [*PARAMETERS](...) / *GROUP-X /



|


*GROUP-RX / *GROUP-WRX / *ALL-X / *ALL-RX / *ALL-WRX



|


[*PARAMETERS](...)



|



|

OWNER = *NO-ACCESS / [*PARAMETERS](...)



|



|


[*PARAMETERS](...)



|



|



|

READ = *NO / *YES



|



|



|

,WRITE = *NO / *YES



|



|



|

,EXEC = *NO / *YES



|



|

,GROUP = *NO-ACCESS / [*PARAMETERS](...)



|



|


[*PARAMETERS](...)



|



|



|

READ = *NO / *YES



|



|



|

,WRITE = *NO / *YES



|



|



|

,EXEC= *NO / *YES



|



|

,OTHERS = *NO-ACCESS / [*PARAMETERS](...)



|



|


[*PARAMETERS](...)



|



|



|

READ = *NO / *YES



|



|



|

,WRITE = *NO / *YES



|



|



|

,EXEC= *NO / *YES



|

,GUARDS= *BY-PROTECTION-ATTR / *NONE / [*PARAMETERS](...)



|


[*PARAMETERS](...)



|



|

READ = *NONE / <filename 1..18 without-cat-gen-vers>



|



|

,WRITE = *NONE / <filename 1..18 without-cat-gen-vers>



|



|

,EXEC = *NONE / <filename 1..18 without-cat-gen-vers>



|

,WRITE-PASSWORD = *BY-PROT-ATTR-OR-NONE / *NONE / *SECRET / <c-string 1..4> /



|



<x-string 1..8> / <integer -2147483648..2147483647>



|

,READ-PASSWORD = *BY-PROT-ATTR-OR-NONE / *NONE / *SECRET / <c-string 1..4> /



|


<x-string 1..8> / <integer -2147483648..2147483647>



|

,EXEC-PASSWORD = *BY-PROT-ATTR-OR-NONE / *NONE / *SECRET / <c-string 1..4> /



|


<x-string 1..8> / <integer -2147483648..2147483647>



|

,DESTROY-BY-DELETE = *BY-PROTECTION-ATTR / *NO / *YES



|

,AUDIT = *STD / *NONE / *SUCCESS / *FAILURE / *ALL



|

,SPACE-RELEASE-LOCK = *BY-PROTECTION-ATTR / *NO / *YES



|

,FREE-FOR-DELETION = *NONE / <date> / <integer 0..99999>

,SAVE = *STD / *NO / [*PARAMETERS](...)


[*PARAMETERS](...)



|

BACKUP-CLASS = *STD / *A / *B / *C / *D / *E



|

,SAVED-PAGES = *COMPLETE-FILE / *MODIFIED-PAGES



|

,NUM-OF-BACKUP-VERS = *STD   / <integer 0..32>

,MIGRATE = *STD / *ALLOWED / *INHIBITED / *FORBIDDEN

,CODED-CHARACTER-SET = *USER-DEFAULT / *NONE / <name 1..8>

,NET-CODED-CHAR-SET = *USER-DEFAULT / *ISO / *NO-CONVERSION / <name 1..8>

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

Operandenbeschreibung

FILE-NAME = <filename 1..54 without-gen>
Name für die neue Datei.
Nur die eigene Benutzerkennung oder eine Benutzerkennung, für die eine Mit-Eigentümerschaft besteht, darf angegeben werden.
Der Benutzer darf die jeweiligen im Benutzerkatalog festgelegten Dateikontingente nicht überschreiten. Die Anzahl von permanenten und temporären Dateien kann begrenzt sein. Die zulässigen Werte kann der Benutzer der Ausgabe des Kommandos SHOW-USER-ATTRIBUTES entnehmen.
Der nichtprivilegierte Benutzer kann temporäre Dateien nur auf dem Default-Pubset seiner Benutzerkennung anlegen.

SUPPORT = *PUBLIC-DISK(...) / *PRIVATE-DISK(...) / *TAPE(...) / *NONE
Art des Datenträgers.

SUPPORT = *PUBLIC-DISK(...)
Die Datei soll auf gemeinschaftlicher Platte oder auf Net-Storage eingerichtet werden. Der Pubset, auf dem die Datei eingerichtet wird, ist durch die Katalogkennung im Dateinamen (explizit angegeben oder Standard-Katalogkennung) eindeutig bezeichnet.

STORAGE-TYPE = *STD / *PUBLIC-SPACE / *NET-STORAGE(...)
Bestimmt den Speichertyp für den Ablageort der Datei.

STORAGE-TYPE = *STD
Die Datei wird auf dem Standard-Speichertyp für die Ablage von Dateien auf diesem Pubset eingerichtet.

STORAGE-TYPE = *PUBLIC-SPACE
Die Datei wird auf den Platten des Pubsets eingerichtet.
Neben dem Eintrag im Dateikatalog wird die Datei auch mit dem geringstmöglichen Speicherplatz (siehe Operand SPACE) physikalisch eingerichtet.

STORAGE-TYPE = *NET-STORAGE(...)
Die Datei wird auf einem Net-Storage-Volume eingerichtet.
Im Benutzereintrag muss die Berechtigung NET-STORAGE-USAGE=*ALLOWED (Standard) eingetragen sein. Es werden Katalogeinträge sowohl im lokalen Pubset als auch im entsprechenden Dateisystem des Net-Servers erzeugt. Die Datei wird jedoch nicht physikalisch eingerichtet.
Wenn kein Volume angegeben ist, wird die Datei auf dem Standard-Net-Storage-Volume eingerichtet. Wenn dem Pubset kein Standard-Net-Storage-Volume zugewiesen ist, sondern nur ein oder mehrere explizit benannte Net-Storage-Volumes, bestimmt das System das Net-Storage-Volume, auf dem die Datei eingerichtet wird.

Dateien mit PAM-Key, Dateigenerationsgruppen, Arbeitsdateien und temporäre Dateien können nicht auf Net-Storage eingerichtet werden.

FILE-TYPE = *STD / *BS2000 / *NODE-FILE
Bestimmt den Dateityp der anzulegenden Datei.

FILE-TYPE = *STD
Die Datei wird auf einem Net-Storage-Volume als BS2000-Datei angelegt. Wenn unter STORAGE-CLASS=*NONE(...) das Volume einer Privatplatte angegeben ist, wird die Datei auf der Privatplatte angelegt.

FILE-TYPE = *BS2000
Die Datei wird auf einem Net-Storage-Volume als BS2000-Datei angelegt.
Wenn unter STORAGE-CLASS=*NONE(...) Angaben zu Volume oder Gerätetyp erfolgen, die dies nicht zulassen, wird das Kommando mit Fehler abgebrochen.

FILE-TYPE = *NODE-FILE
Die Datei wird auf einem Net-Storage-Volume als Node-File angelegt.
Wenn unter STORAGE-CLASS=*NONE(...) Angaben zu Volume oder Gerätetyp erfolgen, die dies nicht zulassen, wird das Kommando mit Fehler abgebrochen.

STORAGE-CLASS = *STD / <composed-name 1..8> / *NONE(...)
Bestimmt die Eigenschaften des Ablageortes der Datei.
Zur automatischen Verwaltung des Speicherplatzes auf SM-Pubsets kann die Systembetreuung Storage-Klassen definieren. 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 WORK-FILE, VOLUME-SET, VOLUME, DEVICE-TYPE, IO-ATTRIBUTES, DISK-WRITE, FILE-PREFORMAT und AVAILABILITY.
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.
Die Zuweisung einer Storage-Klasse erleichtert die automatische Verwaltung des Speicherplatzes auf einem SM-Pubset (näheres siehe Handbuch „Einführung in die Systembetreuung“ [14] bzw. „System Managed Storage“ [45]).

STORAGE-CLASS = *STD
Einer Datei auf einem SM-Pubset wird die Default-Storage-Klasse aus dem Benutzereintrag für diesen Pubset zugewiesen.
Wenn die Datei 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 Datei 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 Datei 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(...)
Der Wert wirkt wie *STD, wenn die folgenden Bedingungen alle erfüllt sind:

      • Die Datei 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 WORK-FILE, PERFORMANCE, USAGE, DISK-WRITE und AVAILIBILITY ignoriert.

In allen anderen Fällen werden die Eigenschaften des Ablageortes der Datei über die nachfolgenden Operanden bestimmt und der Datei wird keine Storage-Klasse zugewiesen.

WORK-FILE = *STD / *NO / *YES
Der Operand wird nur für Dateien auf SM-Pubsets ausgewertet.
Gibt an, ob die Datei eine Arbeitsdatei ist, die von der Systembetreuung zu einem von ihr festgelegten Zeitpunkt gelöscht werden darf.

WORK-FILE = *STD
Die Datei soll nur eine Arbeitsdatei sein, wenn sie durch die Angabe im Operanden VOLUME oder VOLUME-SET auf einem Volume-Set für Arbeitsdateien abgelegt wird.

WORK-FILE = *NO
Die Datei soll keine Arbeitsdatei sein.

WORK-FILE = *YES
Die Datei soll eine Arbeitsdatei sein.

IO-ATTRIBUTES = *STD / *PARAMETERS(...)
Gibt an, welche Performance-Anforderungen der Benutzer für Ein-/Ausgabe-Operationen an das System stellt. Ob und in welchem Maße diese Anforderungen erfüllt werden, ist abhängig von dem Cache-Medium, das für den zugehörigen Pubset definiert ist (siehe Ausgabe des Kommandos SHOW-MASTER-CATALOG-ENTRY). Wird die Datei auf einem SM-Pubset angelegt, werden die Performance-Anforderungen bei der Auswahl des Volume-Sets berücksichtigt.
Schreib- und Lesezugriffe erfolgen über schnelle Zwischenspeicher. Die Anzahl der Plattenzugriffe und die Zugriffszeiten verringern sich.
Die Performance-Eigenschaften können auch in der TFT für die Dateiverarbeitung vereinbart werden (siehe Kommando ADD-FILE-LINK).

IO-ATTRIBUTES = *STD
Die Datei besitzt keine besonderen Performance-Eigenschaften und wird deshalb nicht über einen Cache bearbeitet.

IO-ATTRIBUTES = *PARAMETERS(...)
Die Performance-Eigenschaften ergeben sich aus den Angaben zu den Operanden PERFORMANCE und USAGE.

PERFORMANCE = *STD / *HIGH / *VERY-HIGH / *USER-MAXIMUM
Gibt das Performance-Attribut der Datei an. Es bestimmt welche Priorität für die im Operanden USAGE bezeichneten Ein-/Ausgabe-Operationen gewünscht wird. Das höchste zulässige Performance-Attribut ist im Benutzereintrag festgelegt (siehe Ausgabe des Kommandos SHOW-USER-ATTRIBUTES, Ausgabefeld DMS-TUNING-RESOURCES).

PERFORMANCE = *STD
Die Datei besitzt kein besonderes Performance-Attribut und wird deshalb nicht über einen Cache bearbeitet.
Der Operand USAGE hat in diesem Fall keinen Einfluss auf die Bearbeitung der Datei.

PERFORMANCE = *HIGH
Die Datei soll über einen Cache bearbeitet werden (hohe Performance-Priorität).
Die Angabe ist nur möglich für Benutzer, die das DMS-Tuning-Privileg CONCURRENT-USE bzw. EXCLUSIVE-USE für den Pubset besitzen (siehe Ausgabe des Kommandos SHOW-USER-ATTRIBUTES, Ausgabefeld DMS-TUNING-RESOURCES).

PERFORMANCE = *VERY-HIGH
Die Datei soll über einen Cache bearbeitet werden. Die referenzierten Daten der Datei sollen dabei permanent im Cache gehalten werden (höchste Performance-Priorität). Die Cache-Daten werden erst beim Schließen der Datei aus dem Cache verdrängt. Die Angabe ist nur möglich für Benutzer, die das DMS-Tuning-Privileg EXCLUSIVE-USE für den Pubset besitzen (siehe Ausgabe des Kommandos SHOW-USER-ATTRIBUTES, Ausgabefeld DMS-TUNING-RESOURCES).


Hinweis

Alle für diese Datei belegten Cache-Segmente werden bis zum Schließen der Datei gesperrt. Sind viele Dateien gleichzeitig mit diesem Attribut geöffnet, kann dadurch der für normal gecachte Dateien verfügbare Cache-Speicher so erheblich eingeschränkt werden, dass Datenzugriffe auf diese Dateien nicht mehr performant ausgeführt werden können.

PERFORMANCE = *USER-MAXIMUM
Die Datei erhält das Performance-Attribut, das für den Benutzer als höchstes zulässiges im Benutzerkatalog eingetragen ist.

USAGE = *READ-WRITE / *WRITE / *READ
Gibt an, für welche Ein-/Ausgabe-Operationen die erhöhte Performance-Anforderung (Bearbeitung über einen Cache) gewünscht wird. Voreinstellung ist *READ-WRITE, d.h. die Anforderungen gelten für Lese- und Schreiboperationen.
Besitzt die Datei kein besonderes Performance-Attribut (PERFORMANCE= *STD) und ist der Cache-Bereich für den Pubset nicht so definiert, dass alle vorhandenen Dateien bedient werden, hat der Operand USAGE keine Auswirkung auf die Bearbeitung.

USAGE = *READ-WRITE
Die erhöhte Performance-Anforderung gilt sowohl für Lese- als auch Schreiboperationen.

USAGE = *WRITE
Die erhöhte Performance-Anforderung gilt nur für Schreiboperationen.

USAGE = *READ
Die erhöhte Performance-Anforderung gilt nur für Leseoperationen.


Hinweis

Bei USAGE=*READ-WRITE bzw. *WRITE erfolgt nur dann ein Schreib-Caching, wenn die Bedingungen für das Datei-Attribute DISK-WRITE erfüllt sind (siehe CREATE-FILE bzw. MODIFY-FILE-ATTRIBUTES). Bei DISK-WRITE=*IMMEDIATE muss für Schreib-Caching das genutzte Cache-Medium ausfallsicher sein (siehe Ausgabe des Kommandos SHOW-MASTER-CATALOG-ENTRY INFORMATION=*USER, Ausgabefeld CACHE-MEDIUM). Da aber nichtflüchtige Cache-Medien nicht mehr unterstützt werden, sollte DISK-WRITE=*IMMEDIATE in der aktuellen BS2000 Version nicht angegeben werden.

DISK-WRITE = *STD / *IMMEDIATE / *BY-CLOSE
Gibt an, zu welchem Zeitpunkt nach einer Schreiboperation sich die Daten in einem nichtflüchtigen Medium (Platte oder ausfallsicheres Cache-Medium) befinden sollen.
Bei der Nutzung eines flüchtigen Cache-Mediums als Schreib-Cache befinden sich die Daten der Datei erst nach der CLOSE-Verarbeitung in einem konsistenten Zustand, da die Schreibdaten während der CLOSE-Verarbeitung auf die Platte zurückgeschrieben werden. Systemfehler während der Bearbeitungsphase können zu Inkonsistenzen führen. Für Dateien, deren Daten nicht einfach wiederhergestellt werden können, sollte Schreib-Caching nur in ausfallsicheren Cache-Medien erfolgen, d.h. es sollte mit DISK-WRITE=*IMMEDIATE Datenkonsistenz nach jeder Schreiboperation gefordert werden.

DISK-WRITE = *STD
Die Voreinstellung STD entspricht für eine permanente Datei dem Wert *IMMEDIATE, für eine temporäre Datei dem Wert *BY-CLOSE.

DISK-WRITE = *IMMEDIATE
Die Daten der Datei müssen sich direkt nach Beendigung einer Schreiboperation in einem nichtflüchtigen Medium befinden.
Schreib-Caching erfolgt für so gekennzeichnete Dateien nur, wenn für den Pubset ein nichtflüchtiger Cache-Bereich aktiv ist (siehe Ausgabe des Kommandos SHOW-MASTER-CATALOG-ENTRY INFORMATION=*USER, Ausgabefeld CACHE-MEDIUM=NONVOLATILE).
Ist für den Pubset ein flüchtiger Cache-Bereich aktiv (Ausgabefeld CACHE-MEDIUM=VOLATILE), werden für die Datei nur lesende Zugriffe gepuffert, schreibende Zugriffe werden direkt auf den Platten ausgeführt.

DISK-WRITE = *BY-CLOSE
Die Daten der Datei müssen sich erst nach der CLOSE-Verarbeitung in einem nichtflüchtigen Medium befinden.
Schreib-Caching erfolgt für so gekennzeichnete Dateien unabhängig von der Ausfallsicherheit des Cache-Mediums, d.h. auch in flüchtigen Cache-Medien.
Das Zurückschreiben ungesicherter Cache-Daten erfolgt während der CLOSE-Verarbeitung. Erst dann befinden sich die Daten der Datei in einem nichtflüchtigen Medium (Plattenspeicher).
Mit diesem Attribut sollten nur solche Dateien versehen werden, deren Daten einfach wieder herzustellen sind (z.B. List-Datei bei einer Compilierung), da ein Systemfehler zu Inkonsistenzen dieser Dateien führen kann. 

AVAILABILITY = *STD / *HIGH
Gibt an, welche Anforderungen bezüglich der Ausfallsicherheit der Datei gestellt werden. Dateien mit erhöhter Ausfallsicherheit dürfen vom System nur auf geeigneten Datenträgern (z.B. auf einer mit DRV gespiegelten Platte) abgelegt werden. Ist kein entsprechender Datenträger verfügbar, wird das Kommando abgewiesen.

AVAILABILITY = *STD
Für die Datei werden keine besonderen Anforderungen bezüglich der Ausfallsicherheit gestellt.

AVAILABILITY = *HIGH
Die Datei soll erhöhte Ausfallsicherheit besitzen. Kann der Datenträger die Anforderung nicht erfüllen bzw. steht kein geeigneter Datenträger innerhalb des SM-Pubsets kein entsprechendes Volume-Set zur Verfügung, wird das Kommando abgewiesen.
Für eine Arbeitsdatei oder temporäre Datei wird das Kommando ebenfalls abgewiesen.

FILE-PREFORMAT = *BY-PUBSET-DEFAULT / *K / *NK2 / *NK4
Der Operand wird nur für Dateien auf SM-Pubsets ausgewertet.
Bestimmt das beabsichtigte Dateiformat, das bei der Wahl des Volume-Sets berücksichtigt wird.
Solange die Datei noch nicht geöffnet wurde (kein CREATION-DATE im Katalogeintrag), ist der gewählte Ablageort unverbindlich und kann sich während der OPEN-Verarbeitung noch ändern.

FILE-PREFORMAT = *BY-PUBSET-DEFAULT
Es gilt das beabsichtigte Dateiformat, das die Systembetreuung mit dem Kommando MODIFY-PUBSET-SPACE-DEFAULTS als pubset-spezifischen Standardwert für das SM-Pubset festgelegt hat. Der eingestellte Wert kann mit dem Kommando SHOW-PUBSET-SPACE-DEFAULTS (und auch mit SHOW-PUBSET-CONFIGURATION) ermittelt werden.

FILE-PREFORMAT = *K
Die Datei soll als K-Datei angelegt werden (BLOCK-CONTROL-INFO=*PAMKEY).

FILE-PREFORMAT = *NK2
Die Datei soll als NK-Datei im 2K-Format angelegt werden (BLOCK-CONTROL-INFO=*WITHIN-DATA-2K-BLOCK bzw. *WITHIN-DATA-BLOCK für eine SAM-Datei).

FILE-PREFORMAT = *NK4
Die Datei soll als NK-Datei im 4K-Format angelegt werden (BLOCK-CONTROL-INFO=*WITHIN-DATA-4K-BLOCK bzw. *WITHIN-DATA-BLOCK für eine SAM-Datei).

VOLUME-SET = *STD / *CONTROL-VOLUME-SET / <cat-id 1..4>
Die Angabe ist nur relevant für eine Datei auf einem SM-Pubset.
Bestimmt den Volume-Set, auf dem die Datei eingerichtet werden soll.
Die Systembetreuung kann mit *CONTROL-VOLUME-SET bzw. <cat-id 1..4> einen Volume-Set explizit angeben.
Der nicht-privilegierte Benutzer kann einen Volume-Set nur dann explizit angeben, wenn er die Berechtigung zur physikalischen Allokierung von gemeinschaftlichem Speicherplatz besitzt (siehe „Privilegierte Funktionen").

VOLUME-SET = *STD
Die Datei wird auf einem geeigneten Volume-Set des SM-Pubsets abgelegt.

VOLUME-SET = *CONTROL-VOLUME-SET
Nur eingeschränkt möglich (siehe allgemeine Beschreibung des Operanden).
Die Datei wird auf dem Control-Volume-Set des SM-Pubsets abgelegt. Implizit wird S0-MIGRATION=*FORBIDDEN vereinbart.
Wenn der Volume-Set nicht den geforderten Datei-Attributen entspricht, wird das Kommando abgewiesen.

VOLUME-SET = <cat-id 1..4>
Nur eingeschränkt möglich (siehe allgemeine Beschreibung des Operanden).
Die Datei wird auf dem angegebenen Volume-Set des SM-Pubsets abgelegt. Implizit wird S0-MIGRATION =*FORBIDDEN vereinbart. Wenn der Volume-Set nicht den geforderten Datei-Attributen entspricht, wird das Kommando abgewiesen.

VOLUME = *STD / list-poss(255): <vsn 1..6>
Datenträgerkennzeichen einer gemeinschaftlichen Platte bzw. eines Net-Storage-Volumes, auf dem die Datei einzurichten ist.

VOLUME = *STD
Das System wählt geeignete Datenträgerkennzeichen aus.

VOLUME = list-poss(255): <vsn 1..6>
Die Systembetreuung kann Datenträgerkennzeichen explizit angeben.
Der nicht-privilegierte Benutzer kann ein Datenträgerkennzeichen für ein Net-Storage-Volume explizit angeben. Datenträgerkennzeichen für eine gemeinschaftliche Platte kann der nicht-privilegierte Benutzer nur dann explizit angeben, wenn er die Berechtigung zur physikalischen Allokierung von gemeinschaftlichem Speicherplatz besitzt (siehe „Privilegierte Funktionen").
Es können nur Datenträgerkennzeichen für gemeinschaftliche Platten des Pubsets angegeben werden, dessen Pubset-Kennzeichen mit der Katalogkennung des Dateinamens übereinstimmt.
Gehört die angegebene Platte zu einem Volume-Set eines SM-Pubsets, wird implizit S0-MIGRATION und MIGRATE=*FORBIDDEN vereinbart.
Wenn eine Datei auf Net-Storage angelegt werden soll, muss das angegebene Net-Storage-Volume der Katalogkennung des Dateinamens zugeordnet sein.

Wenn die Datei auf einem bestimmten Net-Storage-Volume ohne Standardnamen abgelegt werden soll, muss das Datenträgerkennzeichen angegeben werden. Anderenfalls wird die Datei auf dem Standard-Net-Storage-Volume abgelegt oder, falls das nicht existiert, bestimmt das System ein Net-Storage-Volume.

DEVICE-TYPE = *BY-VOLUME / <device>
Gerätetyp, dem die benötigten gemeinschaftlichen Platten bzw. die Net-Storage-Volumes zugeordnet sind.
Es werden nur Gerätetypen akzeptiert, die im System bekannt sind. Im Dialog werden mit DEVICE-TYPE=? die möglichen Gerätetypen angezeigt.
Für Net-Storage-Volumes ist der Volumetyp NETSTOR anzugeben.
Ist bei VOLUME mindestens ein Datenträgerkennzeichen angegeben, wird jede Angabe eines dem System bekannten Plattengerätetyps behandelt wie die Angabe STDDISK.

DEVICE-TYPE = *BY-VOLUME
Der zu den gemeinschaftlichen Platten gehörige Plattengerätetyp wird vom System ermittelt.

DEVICE-TYPE = <device>
Die Systembetreuung kann einen Gerätetyp explizit angeben.
Beim Anlegen von Dateien auf gemeinschaftlichen Datenträgern kann der nichtprivilegierte Benutzer einen Gerätetyp nur dann explizit angeben, wenn er die Berechtigung zur physikalischen Allokierung besitzt (siehe „Privilegierte Funktionen"). 

SPACE = *STD / *RELATIVE(...) / *ABSOLUTE(...)
Beeinflusst die Speicherplatzbelegung der Datei. Der SPACE-Operand wird immer ausgewertet.

SPACE = *STD
Die Datei erhält die von der Systembetreuung festgelegten Werte für Primär- und Sekundärzuweisung.

SPACE = *RELATIVE(...)
Der Benutzer reserviert Speicherplatz für die Datei (relative Zuweisung). Er muss dabei Folgendes beachten: Die im Benutzereintrag festgelegte Höchstgrenze für Speicherplatz darf dabei nur überschritten werden, wenn der Benutzer dazu berechtigt ist (PUBLIC-SPACE-EXCESS=*YES, siehe Ausgabe Kommando SHOW-USER-ATTRIBUTES).

Um den Verwaltungsaufwand des Systems gering zu halten, ist bei der Definition vom Primär- und Sekundärzuweisung Folgendes zu beachten:

      • die Primärzuweisung sollte der erwarteten Größe der einzurichtenden Datei entsprechen

      • bei großen Dateien sollten Primär- und Sekundärzuweisung als Vielfache der Verwaltungseinheiten Packet bzw. Segment gewählt werden. 

Hinsichtlich der Speicherplatzbelegung ist auch der Zusammenhang mit dem Operanden BUFFER-LENGTH aus dem Kommando ADD-FILE-LINK zu beachten: Bei der Festlegung von Primär- und Sekundärzuweisung ist die für die Datei gültige Blocklänge zu beachten; für BUFFER-LENGTH=*STD(SIZE=n), n>=2, gilt:

Dateityp                                             

SPACE-Operand

Primärzuweisung

Sekundärzuweisung

SAM

>= 2n

>= n

ISAM (K-ISAM u. NK-ISAM)

> n


PAM (gekettete Ein-/Ausgabe)

> 0


Tabelle 30: Minimalangaben für Primär- und Sekundärzuweisung

PRIMARY-ALLOCATION = <integer 1..2147483647>
Anzahl PAM-Seiten für Anfangszuweisung.

Die angegebene Anzahl PAM-Seiten wird sofort reserviert. Sie sollte der erwarteten Dateigröße entsprechen.

Die vereinbarte Anzahl von PAM-Seiten wird, falls erforderlich, bei der Speicherplatzzuweisung auf ein Vielfaches von k aufgerundet. Hierbei entspricht k der Anzahl der PAM-Seiten pro kleinster Allokierungseinheit.

Pubset- bzw. Volume-Set-Format

kleinste
Allokierungseinheit in
KByte

Rundungsfaktor k

K-Pubset/Volume-Set

6

3

NK2(6K)-Pubset/Volume-Set

6

3

NK2(8K)-Pubset/Volume-Set

8

4

NK2(64K)-Pubset/Volume-Set

64

32

NK4(8K)-Pubset/Volume-Set

8

4

NK4(64K)-Pubset/Volume-Set

64

32

Tabelle 31: Kleinste Allokierungseinheit abhängig von Pubset-/Volume-Set-Format

Das Pubset- bzw. Volume-Set-Format und die kleinste Allokierungseinheit kann der Benutzer auch der Ausgabe des Kommandos SHOW-MASTER-CATALOG-ENTRY entnehmen.

SECONDARY-ALLOCATION = *STD / <integer 0..32767>
Anzahl PAM-Seiten, um die der Speicherplatz bei Bedarf erweitert werden soll. Voreingestellt ist STD, der System-Standardwert.
Im Gegensatz zur Primärzuweisung wird die Sekundärzuweisung nicht sofort bei der Eingabe des Kommandos CREATE-FILE wirksam, sondern erst, wenn bei Dateierstellung oder -erweiterung der reservierte Speicherplatz nicht ausreicht. Das System erhöht dann die Speicherplatzzuweisung für die Datei automatisch um die in SECONDARY-ALLOCATION vereinbarte Anzahl PAM-Seiten (Ausgabefeld S-ALLOC des Kommandos SHOW-FILE-ATTRIBUTES). Der Wert für die Sekundärzuweisung wird nach jeder erfolgten Erweiterung verdoppelt. Die Verdoppelung endet, wenn der im System eingestellte Maximalwert erreicht ist. Die vereinbarte Anzahl von PAM-Seiten wird, falls erforderlich, bei der Speicherplatzzuweisung auf ein Vielfaches von k aufgerundet. Der Rundungsfaktor k ist abhängig von dem Pubset- bzw. Volume-Set-Format, d.h. von der Formatierung der zugehörigen Platten (siehe Operand PRIMARY-ALLOCATION).

Die Angabe SECONDARY-ALLOCATION=0 verhindert die dynamische Erweiterung der Datei.

SPACE = *ABSOLUTE(...)
Der Operandenwert darf nur zusammen mit dem Operanden VOLUME angegeben werden.
Die Systembetreuung kann Speicherplatz absolut zuweisen. Bei Dateien auf Net-Storage ist eine absolute Zuweisung von Speicherplatz nicht erlaubt.
Dem nicht-privilegierten Benutzer ist die Angabe nur erlaubt, wenn er die Berechtigung zur physikalischen Allokierung von gemeinschaftlichem Speicherplatz besitzt (siehe „Privilegierte Funktionen").
Der Benutzer reserviert Speicherplatz für die Datei als absolute Zuweisung, d.h. er gibt die Nummer der PAM-Seite an, an der die Speicherplatzzuweisung beginnen soll. Dabei muss Folgendes beachtet werden:
Eine absolute Zuweisung erfolgt nur, wenn die gesamte angegebene Blockanzahl (SIZE) auf einer Platte reserviert werden kann. Wurden im Operanden VOLUME mehrere Platten vereinbart, so wird nur die erste angegebene Platte benutzt. Reicht der freie Speicherplatz auf der Platte nicht aus, wird das CREATE-FILE-Kommando abgewiesen; es erfolgt keine Teilzuweisung. Da die Absolutzuweisung sich immer nur auf einen Datenträger bezieht, muss für jeden Datenträger ein separates CREATE-FILE- bzw. MODIFY-FILE-ATTRIBUTES-Kommando gegeben werden. Als Sekundärzuweisung (siehe Operand SECONDARY-ALLOCATION) erhält die Datei den Wert null, d.h. es wird später keine automatische Speicherplatzerweiterung durchgeführt, wenn die angegebene Seitenanzahl in SIZE nicht mehr ausreicht.

FIRST-PAGE = <integer 1..2147483647>
Blocknummer der PAM-Seite, an der die Speicherplatzreservierung auf der gemeinschaftlichen Platte beginnen soll. Da Speicherplatz nur in Einheiten k PAM-Seiten, wobei k die Anzahl der PAM-Seiten pro kleinster Allokierungseinheit ist, reserviert wird, muss FIRST-PAGE = k * n + 1 (n >= 0) sein.

SIZE = <integer 3..2147483647>
Anzahl der PAM-Seiten, die auf der gemeinschaftlichen Platte reserviert werden sollen. SIZE muss ein Vielfaches von k sein. Da die Plattenspeicher-Kapazität von Plattentyp und Initialisierung der Platte abhängt, müssen die Maximalwerte für SIZE bei der Systembetreuung erfragt werden.

MANAGEMENT-CLASS = *NONE / <composed-name 1..8>
Nur für Dateien auf SM-Pubsets
Gibt an, ob die HSMS-Funktionen Dateisicherung, Archivierung und Langzeitarchivierung über eine mit HSMS definierte Management-Klasse gesteuert werden. Näheres siehe Handbuch „HSMS“ [18]. Die Zuweisung einer Management-Klasse wird für eine Datei auf einem SF-Pubset abgewiesen.

MANAGEMENT-CLASS = *NONE
Für die Dateisicherung und Verdrängung werden die mit den Operanden SAVE und MIGRATE gesetzten Datei-Attribute ausgewertet.

MANAGEMENT-CLASS = <composed-name 1..8>
Name der mit HSMS definierten Management-Klasse. Die angegebene Management-Klasse muss existieren und die Benutzerkennung des Dateieigentümers muss zugriffsberechtigt sein.

USER-INFORMATION = *NONE / <c-string 1..8 with-low>
Gibt an, ob ein Text als Benutzerinformation im Katalogeintrag abgelegt werden soll. Der Text wird nicht von dem System ausgewertet. Inhalt und Bedeutung legt der Benutzer selbst fest.
Default-Wert ist *NONE, d.h. es wird kein Text eingetragen.

ADM-INFORMATION = *NONE / <c-string 1..8 with-low>
Der Operand steht nur dem privilegierten Anwender (Privileg TSOS) zur Verfügung.
Gibt an, ob ein Text als Information der Systembetreuung im Katalogeintrag abgelegt werden soll. Der Text wird nicht von dem System ausgewertet. Inhalt und Bedeutung legt die Systembetreuung selbst fest.
Default-Wert ist *NONE, d.h. es wird kein Text eingetragen.

SUPPORT = *PRIVATE-DISK(...)
Die Datei soll auf privater Platte eingerichtet werden.

VOLUME = *ANY(...) / list-poss(255): <alphanum-name 1..6>
Datenträgerkennzeichen (Archivnummer, VSN) der Platten, auf denen die Datei einzurichten ist.

VOLUME = *ANY(...)
Für den gewünschten Gerätetyp sollen beliebige private Platten bereitgestellt werden (kein bestimmtes Datenträgerkennzeichen gewünscht).
Die Archivnummern der angeforderten Datenträger werden in die Datenträgerliste des Katalogeintrags übernommen. Fordert der Anwender die Bereitstellung mehrerer Datenträger, ist im Operanden NUMBER-OF-DEVICES anzugeben, wie viele Datenträger gleichzeitig bereitgestellt werden sollen.

NUMBER-OF-DEVICES = 1 / <integer 1..9>
Anzahl benötigter Platten.

VOLUME = list-poss(255): <alphanum-name 1..6>
Maximal 255 verschiedene Datenträgerkennzeichen/Archivnummern dürfen angegeben werden, d.h. pro CREATE-FILE-Kommando können maximal 255 Datenträger angefordert werden. Jedes Datenträgerkennzeichen darf nur einmal angegeben werden. Ab dem Datenträger, auf dem die Datei beginnt, werden alle Archivnummern in den Katalogeintrag übernommen.

Bei Privatplatten versucht das DVS, den gesamten mit SPACE angeforderten Speicherplatz auf der ersten Privatplatte zu reservieren (siehe auch Operand SPACE).

DEVICE-TYPE = *BY-VOLUME-CATALOG / <device>
Gerätetyp, dem die benötigten Platten zugeordnet sind.
Es werden nur Gerätetypen akzeptiert, die im System bekannt sind. Im Dialog werden mit DEVICE-TYPE=? die möglichen Gerätetypen angezeigt. Ist bei VOLUME mindestens ein Datenträgerkennzeichen angegeben, wird jede Angabe eines dem System bekannten Plattengerätetyps behandelt wie die Angabe STDDISK.

Mögliche Angaben für DEVICE-TYPE enthält die Gerätetabelle im Abschnitt „Gerätetyp-Tabelle" (Spalte Gerätetyp). Im System verfügbare Geräte können mit dem Kommando SHOW-DEVICE-CONFIGURATION angezeigt werden.

DEVICE-TYPE = *BY-VOLUME-CATALOG
Der Gerätetyp wird über die MAREN-Geräte-Substitution ermittelt, falls diese Funktion verfügbar ist.

SPACE = *STD / *RELATIVE(...) / *ABSOLUTE(...)
Beeinflusst die Speicherplatzbelegung der Datei. Der SPACE-Operand wird immer ausgewertet.
Zu Speicherplatzbelegung siehe Handbuch „Einführung in das DVS“ [13].

SPACE = *STD
Die Datei erhält die durch die Systemparameter DMPRALL bzw. DMSCALL festgelegten Werte für Primär- und Sekundärzuweisung.

SPACE = *RELATIVE(...)
Der Benutzer reserviert Speicherplatz für die Datei (relative Zuweisung).

Um den Verwaltungsaufwand des Systems gering zu halten, ist bei der Definition vom Primär- und Sekundärzuweisung Folgendes zu beachten:

      • die Primärzuweisung sollte der erwarteten Größe der einzurichtenden Datei entsprechen

      • bei großen Dateien sollten Primär- und Sekundärzuweisung als Vielfache der Verwaltungseinheiten Packet bzw. Segment gewählt werden.

Hinsichtlich der Speicherplatzbelegung ist auch der Zusammenhang mit dem Operanden BUFFER-LENGTH aus dem Kommando ADD-FILE-LINK zu beachten: Bei der Festlegung von Primär- und Sekundärzuweisung ist die für die Datei gültige Blocklänge zu beachten; für BUFFER-LENGTH=*STD(SIZE=n), n>=2, gilt:

Dateityp

SPACE-Operand

Primärzuweisung

Sekundärzuweisung

SAM

>= 2n

>= n

ISAM (K-ISAM u. NK-ISAM)

> n


PAM (gekettete Ein-/Ausgabe)

> 0


Tabelle 32: Minimalangaben für Primär- und Sekundärzuweisung

PRIMARY-ALLOCATION = <integer 1..2147483647>
Anzahl PAM-Seiten für die Anfangszuweisung.
Die angegebene Anzahl PAM-Seiten wird sofort reserviert. Sie sollte der erwarteten Dateigröße entsprechen. Die Angabe aus PRIMARY-ALLOCATION wird auf ein Vielfaches von 3 aufgerundet und die entsprechende Anzahl PAM-Seiten wird auf der im VOLUME-Operanden angegebenen Privatplatte zugewiesen. Das System versucht, die Anfangszuweisung auf der ersten angegebenen Platte zu reservieren.

Wenn große Dateien angelegt werden sollen und auf den einzelnen Platten nur wenige Segmente frei sind, kann mit geeigneter Primärzuweisung ein Plattenwechsel herbeigeführt werden. Auf diese Weise wird eine starke Zerstückelung der Datei verhindert.

SECONDARY-ALLOCATION = *STD / <integer 0..32767>
Anzahl PAM-Seiten, um die der Speicherplatz bei Bedarf erweitert werden soll. Voreingestellt ist STD, der System-Standardwert.
Im Gegensatz zur Primärzuweisung wird die Sekundärzuweisung nicht sofort wirksam, sondern erst, wenn bei Dateierstellung oder -erweiterung der reservierte Speicherplatz nicht ausreicht. Das System erhöht dann die Speicherplatzzuweisung für die Datei automatisch um die in SECONDARY-ALLOCATION vereinbarte Anzahl PAM-Seiten (Ausgabefeld S-ALLOC des Kommandos SHOW-FILE-ATTRIBUTES). Der Wert für die Sekundärzuweisung wird nach jeder erfolgten Erweiterung verdoppelt. Die Verdoppelung endet, wenn der im System eingestellte Maximalwert erreicht ist.
Die vereinbarte Anzahl von PAM-Seiten wird, falls erforderlich, bei der Speicherplatzzuweisung auf ein Vielfaches von 3 aufgerundet.

Die Angabe SECONDARY-ALLOCATION=0 verhindert die dynamische Erweiterung der Datei.

SPACE = *ABSOLUTE(...)
Absolutzuweisung (nur sinnvoll wenn im Operanden VOLUME ein Datenträgerkennzeichen angegeben ist).

Der Benutzer reserviert Speicherplatz für die Datei als absolute Zuweisung, d.h. er gibt die Nummer der PAM-Seite an, an der die Speicherplatzzuweisung beginnen soll. Dabei muss Folgendes beachtet werden:
Eine absolute Zuweisung erfolgt nur, wenn die gesamte angegebene Blockanzahl (SIZE) auf einer Platte reserviert werden kann. Wurden im Operanden VOLUME mehrere Platten vereinbart, so wird nur die erste angegebene Platte benutzt. Reicht der freie Speicherplatz auf der Platte nicht aus, wird das CREATE-FILE-Kommando abgewiesen; es erfolgt keine Teilzuweisung. Da die Absolutzuweisung sich immer nur auf einen Datenträger bezieht, muss für jeden Datenträger ein separates CREATE-FILE- bzw. MODIFY-FILE-ATTRIBUTES-Kommando gegeben werden. Als Sekundärzuweisung (siehe Operand SECONDARY-ALLOCATION) erhält die Datei den Wert null, d.h. es wird später keine automatische Speicherplatzerweiterung durchgeführt, wenn die angegebene Seitenanzahl in SIZE nicht mehr ausreicht.

FIRST-PAGE = <integer 1..2147483647>
Blocknummer der PAM-Seite, an der die Speicherplatzreservierung auf der Privatplatte beginnen soll. Da Speicherplatz nur in Einheiten von drei PAM-Seiten reserviert wird, gilt für FIRST-PAGE: FIRST-PAGE = 3n + 1 (n >= 0). Auf welcher PAM-Seite die Speicherplatzreservierung einer Platte beginnen kann, hängt von der Initialisierung der Platte ab.

SIZE = <integer 1..2147483647>
gibt an, wie viele PAM-Seiten auf dem Datenträger reserviert werden sollen; SIZE muss ein Vielfaches von drei sein. Da die Plattenspeicher-Kapazität von Plattentyp und Initialisierung der Platte abhängt, müssen die Maximalwerte für SIZE bei der Systembetreuung erfragt werden.

DATA-SUPPORT = *SAME / *PARAMETERS(...)
nur für ISAM-Dateien
Speicherort für den Datenteil.
Dieser Operand wird verwendet, wenn Daten- und Indexblöcke einer ISAM-Datei auf getrennten Platten gespeichert werden sollen.

DATA-SUPPORT = *SAME
Daten- und Indexblöcke der ISAM-Datei sollen nicht auf getrennten Platten gespeichert werden.

DATA-SUPPORT = *PARAMETERS(...)
Daten- und Indexblöcke der ISAM-Datei sind auf getrennten Platten zu speichern. Die Angaben in den Operanden VOLUME, DEVICE-TYPE und SPACE gelten nur für den Indexteil der Datei.

Die Trennung von Daten- und Indexblöcken ist nur für K-ISAM-Dateien möglich. Die Angaben in den Operanden DATA-VOLUME, DATA-DEVICE-TYPE und DATA-SPACE werden für NK-ISAM-Dateien ignoriert.

DATA-DEVICE-TYPE = <device>
für K-ISAM-Dateien mit Index-/Datentrennung
Gerätetyp, dem die benötigten Platten zugeordnet sind.
Es werden nur Gerätetypen akzeptiert, die im System bekannt sind. Im Dialog werden mit DEVICE-TYPE=? die möglichen Gerätetypen angezeigt.
Ist bei DATA-VOLUME mindestens ein Datenträgerkennzeichen angegeben, wird jede Angabe eines dem System bekannten Plattengerätetyps behandelt wie die Angabe STDDISK.

Mit DATA-DEVICE-TYPE wird der Plattentyp für den Datenteil benannt (für den Indexteil mit DEVICE-TYPE). Mögliche Angaben für DATA-DEVICE-TYPE enthält die Gerätetabelle im Abschnitt „Gerätetyp-Tabelle" (Spalte Gerätetyp).
DATA-DEVICE-TYPE muss angegeben werden, wenn für die Datei noch kein Speicherplatz reserviert wurde. NK-ISAM unterstützt keine Index-/Datentrennung, DATA-DEVICE-TYPE kann aber angegeben werden (Kompatibilität zu K-ISAM).

DATA-VOLUME = list-poss(255): <alphanum-name 1..6>
in Zusammenhang mit DATA-DEVICE-TYPE für ISAM-Dateien mit Index-/Datentrennung: Datenträgerkennzeichen der Privatplatten, auf denen der Datenteil der ISAM-Dateien einzurichten ist.
Maximal 255 Datenträgerkennzeichnen dürfen angegeben werden, wobei jedes Datenträgerkennzeichen nur einmal angegeben werden darf.

NK-ISAM unterstützt keine Index-Datentrennung, DATA-VOLUME kann jedoch angegeben werden (Kompatibilität zu K-ISAM). DATA-VOLUME gibt die Archivnummer (vsn) des Datenträgers an, auf dem der Datenteil der ISAM-Datei gespeichert werden soll; für den Indexteil ist der Operand VOLUME anzugeben. Es gelten analog die Erläuterungen wie bei DATA-DEVICE-TYPE.

DATA-SPACE = *RELATIVE(...) / *ABSOLUTE(...)
in Zusammenhang mit DATA-DEVICE-TYPE/DATA-VOLUME für den Datenteil von ISAM-Dateien mit Index-/Datentrennung
Legt Speicherplatzzuweisungen für den Datenteil einer ISAM-Datei fest.
Im Gegensatz zum Operanden SPACE muss der Benutzer hier eine explizite Angabe zur Speicherplatzzuweisung machen, da das System keine Standard-Zuweisung vorsieht (Mindesteingabe: Primärzuweisung unter SPACE= *RELATIVE).

Die Regeln für die Angabe von Primär- und Sekundär- sowie Absolutzuweisung entsprechen denen des Operanden SPACE, beziehen sich jedoch auf im Operanden DATA-VOLUME genannte Datenträger (siehe auch Operanden DATA-DEVICE, DATA-VOLUME). NK-ISAM unterstützt keine Index-/Datentrennung; DATA-SPACE kann jedoch angegeben werden (Kompatibilität zu K-ISAM).

DATA-SPACE = *RELATIVE(...)
Der Benutzer reserviert Speicherplatz für den Datenteil der ISAM-Datei als relative Zuweisung.

PRIMARY-ALLOCATION = <integer 1..2147483647>
Anzahl PAM-Seiten für Anfangszuweisung. Die angegebene Anzahl PAM-Seiten wird sofort reserviert. Sie sollte der erwarteten Dateigröße entsprechen. Das System versucht, die Anfangszuweisung auf der ersten angegebenen Platte durchzuführen.

SECONDARY-ALLOCATION = *STD / <integer 0..32767>
Anzahl PAM-Seiten für spätere Dateierweiterungen.

Voreingestellt ist *STD, d.h. der System-Standardwert.

Die angegebene Anzahl PAM-Seiten wird nicht sofort reserviert. Erst wenn die als Anfangszuweisung reservierte Seitenanzahl nicht mehr ausreicht, erhöht das System die Speicherplatzzuweisung für den Datenteil der ISAM-Datei automatisch um die in SECONDARY-ALLOCATION vereinbarte Anzahl PAM-Seiten. Diese Zuweisung erfolgt dynamisch, d.h. jedes Mal, wenn weiterer Speicherplatz benötigt wird. Falls erforderlich, wird bei der Erhöhung auf ein Vielfaches von 3 aufgerundet. Der Wert der Sekundärzuweisung wird in den Katalogeintrag übernommen.

DATA-SPACE = *ABSOLUTE(...)
Der Benutzer reserviert Speicherplatz für den Datenteil der Datei als absolute Zuweisung, d.h. er gibt die Nummer des physischen Blocks auf der Platte an, bei dem die Speicherplatzzuweisung beginnen soll. Dabei muss Folgendes beachtet werden:
Eine absolute Zuweisung erfolgt nur, wenn die gesamte angegebene Anzahl PAM-Seiten (SIZE) auf einer Platte reserviert werden kann. Wurden im Operanden DATA-VOLUME mehrere Platten vereinbart, so wird nur die erste angegebene Platte benutzt.

FIRST-PAGE = <integer 1..2147483647>
PAM-Seitennummer, an der die Absolutzuweisung beginnt.
(Die Angabe muss ein Vielfaches von 3 sein plus 1; z.B. 1 / 4 / 7 / 10 usw.).

SIZE = <integer 1..2147483647>
Anzahl PAM-Seiten, die reserviert werden sollen Die Angabe muss ein Vielfaches von 3 sein).

SUPPORT = *TAPE(...)
Die Datei soll auf Band eingerichtet werden. Die Bereitstellung des gewünschten Bandes durch den Operator muss nicht sofort erfolgen.

VOLUME = *NO / *ANY(...) / list-poss(255): <alphanum-name 1..6>
Datenträgerkennzeichen der Bänder, auf denen die Datei einzurichten ist.Maximal 255 Datenträgerkennzeichen dürfen angegeben werden.

VOLUME = *NO
Der Katalogeintrag soll noch keine Datenträgerkennzeichen enthalten.

VOLUME = *ANY(...)
Für den gewünschten Gerätetyp sollen beliebige Bänder durch den Operator bereitgestellt werden (kein bestimmtes Datenträgerkennzeichen gewünscht).

Die Archivnummern der angeforderten Datenträger werden in die Datenträgerliste
des Katalogeintrags übernommen. Fordert der Anwender die Bereitstellung mehrerer Datenträger, ist im Operanden NUMBER-OF-DEVICES anzugeben, wie viele Datenträger gleichzeitig bereitgestellt werden sollen.

NUMBER-OF-DEVICES = 1 / <integer 1..9>
Anzahl benötigter Bänder.

VOLUME = list-poss(255): <alphanum-name 1..6>
Maximal 255 verschiedene Datenträgerkennzeichnen/Archivnummern dürfen angegeben werden, d.h. pro CREATE-FILE-Kommando können maximal 255 Datenträger angefordert werden. Jedes Datenträgerkennzeichen darf nur einmal angegeben werden.

DEVICE-TYPE = *BY-VOLUME-CATALOG / <device>
Gerätetyp, dem die benötigten Bänder zugeordnet sind. Angegeben wird der Gerätetyp oder der so genannte Volumetyp der Bänder, über den die Geräteverwaltung den Gerätetyp bestimmt, der für die Bandverarbeitung bereitzustellen ist.
Es werden nur Gerätetypen akzeptiert, die im System bekannt sind. Im Dialog werden mit DEVICE-TYPE=? die möglichen Gerätetypen angezeigt.

Bei Angabe von TAPE werden Magnetbandgeräte bereitgestellt, die die Schreibdichte 1600 oder 6250 Bpi (Bytes per inch) unterstützen. Weitere mögliche Angaben können der Tabelle der Volumetypen im Abschnitt „Volumetypen bei Bandverarbeitung" entnommen werden.

DEVICE-TYPE=WORK fordert ein Arbeitsband an. Arbeitsbänder sind daran kenntlich, dass im VOL1-Kennsatz kein Bandeigentümer eingetragen ist (Inhalt für Eigentümerkennzeichen: X'40'). Arbeitsbänder sollten angefordert werden, wenn sie

nur während der Verarbeitung benötigt werden und nicht archiviert werden sollen. In Zusammenhang mit DEVICE-TYPE=WORK werden Angaben bei den Operanden VOLUME und PREMOUNT-LIST ignoriert.

Für Mehrbanddateien sollte DEVICE-TYPE=WORK nicht angegeben werden, da immer das gerade zur Verfügung stehende Arbeitsband zugewiesen wird.

Magnetbandkassetten können nicht als Arbeitsband angefordert werden.

DEVICE-TYPE = *BY-VOLUME-CATALOG
Der Gerätetyp wird über die MAREN-Geräte-Substitution ermittelt, falls diese Funktion verfügbar ist.

PREMOUNT-LIST = *NONE / list-poss(255): <integer 0..255>
Bandfolgenummer des bereitzustellenden Bandes. Fordert mit einer MOUNT-Meldung an der Konsole die Bereitstellung von Bändern oder unterdrückt die Anforderung.

PREMOUNT-LIST = *NONE
Es wird der erste Datenträger, der im Operanden VOLUME angegeben wurde, angefordert.

PREMOUNT-LIST = list-poss(255): <integer 0..255>
Fordert mit einer MOUNT-Meldung an der Konsole die Bereitstellung von Bändern oder unterdrückt die Anforderung. Die angegebenen Bandfolgenummern beziehen sich dabei auf die im Operanden VOLUME angegebenen Datenträgerkennzeichen. Die somit angegebenen Datenträger sind vom Operator bereitzustellen (MOUNT-Aufforderung an der Konsole). Mehrere Bandfolgenummern sind in aufsteigender Reihenfolge anzugeben (n,n+1,...).

Die Angabe PREMOUNT-LIST=0 bewirkt, dass keine Bänder angefordert werden. Die Anforderung des ersten Datenträgers erfolgt erst beim Eröffnen der Datei.

SUPPORT = *NONE
Es wird nur ein Katalogeintrag erstellt, aber noch kein Speicherplatz für die Datei reserviert.

PROTECTION = *STD / *PARAMETERS(...)
Schutzmerkmale der Datei.

PROTECTION = *STD
Für die Schutzattribute werden die Werte eingetragen, die von der Default-Protection geliefert wurden. Die Schutzattribute AUDIT und FREE-FOR-DELETION werden immer mit *NONE vorbelegt. 

Ist Default-Protection nicht aktiv, werden System-Standardwerte für die entsprechenden Operanden der Struktur *PARAMETERS eingesetzt.

Schutzattribut


PROTECTION-ATTR=

*FROM-FILE

*STD1)

*BY-DEF-PROT-OR-STD

Default-Protection nicht aktiv1)

Default-Protection aktiv

ACCESS

von der
Referenzdatei
übernommener
Wert

WRITE

WRITE

von der
Default-Protection
gelieferter
Wert

USER-ACCESS

OWNER-ONLY

OWNER-ONLY

BASIC-ACL

NONE

NONE

DESTROY-BY-DELETE

NO

NO

GUARDS

NONE

NONE

SPACE-RELEASE-LOCK

NO

NO

READ-PASSWORD

NONE

NONE

NONE

WRITE-PASSWORD

NONE

NONE

NONE

EXEC-PASSWORD

NONE

NONE

NONE

FREE-FOR-DELETION

NONE

NONE

NONE

NONE

AUDIT

NONE

NONE

NONE

NONE

1)Es werden die System-Standardwerte eingetragen.

Tabelle 33: Auswirkungen von PROTECTION-ATTR auf Schutzattribute bei CREATE-FILE

PROTECTION = *PARAMETERS(...)
Für die Datei werden die nachfolgend angegebenen Schutzmerkmale vereinbart. Die Default-Werte *NONE bzw. *NO bedeuten jeweils, dass die entsprechende Schutzfunktion nicht gewünscht wird.
Für temporäre Dateien können bezüglich der Schutzmerkmale ACCESS, USER-ACCESS BASIC-ACL, GUARDS, FREE-FOR-DELETION und der Kennwörter nur Standard-Schutzmerkmale (siehe Tabelle "Auswirkungen von PROTECTION-ATTR auf Schutzattribute") vereinbart werden. Ein Schutz ist nicht sinnvoll, da nur der erzeugende Auftrag Zugriff besitzt. 

Für Zugriffe auf die Datei gilt der höchste aktivierte Zugriffsschutz. Die nachfolgende Tabelle zeigt Art der Zugriffskontrolle, Schutzmerkmal und Rangfolge (Schutzstufe):

Zugriffsschutz

Schutzmerkmal

Schutzstufe

Standard-Zugriffskontrolle

ACCESS u. USER-ACCESS

0

Einfache Zugriffskontroll-Liste

BASIC-ACL

1

Zugriffskontrolle über GUARDS

GUARDS mit dem Software-Produkt SECOS

2

Tabelle 34: Rangfolge der Zugriffskontrollmöglichkeiten

Kennwörter werden unabhängig von der realisierten Schutzstufe ausgewertet.

Ist das Freigabedatum zum Löschen der Datei erreicht (siehe Operand FREE-FOR-DELETION), kann der Dateieigentümer die Datei ohne Berücksichtigung des Zugriffsschutzes löschen.

PROTECTION-ATTR = *BY-DEF-PROT-OR-STD / *STD / *FROM-FILE(...)
Gibt an, woher die Schutzattribute übernommen werden sollen, die den Wert *BY-PROTECTION-ATTR oder *BY-PROT-ATTR-OR-NONE haben.
Zur Wertevergabe siehe Tabelle „Auswirkungen von PROTECTION-ATTR auf Schutzattribute bei CREATE-FILE".

PROTECTION-ATTR = *BY-DEF-PROT-OR-STD
Für Operanden, deren Wert *BY-PROTECTION-ATTR oder *BY-PROT-ATTR-OR-NONE ist, werden die von der Default-Protection gelieferten Werte eingetragen.
Ist Default-Protection nicht aktiv, werden System-Standardwerte bzw. *NONE für die entsprechenden Operanden eingesetzt.

PROTECTION-ATTR = *STD
Für Operanden, deren Wert *BY-PROTECTION-ATTR ist, werden System-Standardwerte eingesetzt.
Für Operanden, deren Wert *BY-PROT-ATTR-OR-NONE ist, wird *NONE eingesetzt.

PROTECTION-ATTR = *FROM-FILE(...)
Operanden, bei denen *BY-PROTECTION-ATTR angegeben wird, erhalten den Wert, den sie im Katalogeintrag der nachfolgend angegebenen Datei besitzen.
Für Operanden, deren Wert *BY-PROT-ATTR-OR-NONE ist, wird *NONE eingesetzt.

Sollen die Schutzattribute für eine temporäre Datei übernommen werden, müssen entweder die Operanden ACCESS=*WRITE, USER-ACCESS=*OWNER-ONLY, BASIC-ACL=*NONE und GUARDS=*NONE explizit angegeben werden oder die angegebene Datei muss mit diesen Attributen katalogisiert sein. Für temporäre Banddateien können ACCESS und USER-ACCESS beliebig sein.

FILE-NAME = <filename 1..54 without-gen>
Referenzdatei, von der die Schutzattribute mit dem Wert *BY-PROTECTION-ATTR übernommen werden sollen.
Die Datei muss auf demselben Pubset wie die neu einzurichtende Datei existieren. Existiert die angegebene Datei nicht oder ist kein Zugriff (z.B. mit SHOW-FILE-ATTRIBUTES) möglich, wird das Kommando abgewiesen.

ACCESS = *BY-PROTECTION-ATTR / *WRITE / *READ
Mit dem ACCESS-Operanden kann eine Datei gegen Überschreiben gesichert werden; er gibt an, ob für die Datei Schreibzugriff (impliziter Lesezugriff) oder nur Lesezugriff erlaubt ist.
Dieses Schutzmerkmal ist Bestandteil der Standard-Zugriffskontrolle und wird nur ausgewertet, wenn kein höherer Zugriffsschutz aktiviert ist (siehe Tabelle „Rangfolge der Zugriffskontrollmöglichkeiten").

Banddateien:

Das DVS übernimmt beim ersten Eröffnen der Datei das ACCESS-Kennzeichen in den HDR3-Kennsatz. Bei späteren Dateizugriffen kann der Dateieigentümer die Überprüfung der Zugriffsart durch das Kommando ADD-FILE-LINK... PROTECTION-LEVEL=*LOW umgehen.

ACCESS = *BY-PROTECTION-ATTR 
Es wird der Wert verwendet, der sich aus dem Wert des Operanden PROTECTION-ATTR ergibt.

ACCESS = *WRITE
Für die Datei sind alle Zugriffsarten zugelassen.

Banddateien:

im HDR3-Kennsatz Zugriffsart = 0

ACCESS = *READ
Auf die Datei darf nur lesend zugegriffen werden.

temporäre Dateien:

Schreibzugriff kann nicht unterbunden werden, ACCESS=*READ wird abgewiesen.

Banddateien:

im HDR3-Kennsatz Zugriffsart = 1

USER-ACCESS = *BY-PROTECTION-ATTR / *OWNER-ONLY / *ALL-USERS / *SPECIAL
Legt fest, ob auf die Datei von anderen Benutzerkennungen als der des Eigentümers bzw. der Mit-Eigentümer zugegriffen werden darf. Die Art des zulässigen Zugriffs wird durch das Dateischutzmerkmal ACCESS (siehe gleichnamigen Operanden) festgelegt.

Dieses Schutzmerkmal ist Bestandteil der Standard-Zugriffskontrolle. Für Benutzer ohne das Privileg HARDWARE-MAINTENANCE wird es nur dann ausgewertet, wenn kein höherer Zugriffsschutz aktiviert ist (siehe Tabelle „Rangfolge der Zugriffskontrollmöglichkeiten").

Banddateien:

Das DVS übernimmt beim ersten Eröffnen das SHARE-Kennzeichen in den HDR1-Kennsatz (Zugriffsvermerk).

USER-ACCESS = *BY-PROTECTION-ATTR
Es wird der Wert verwendet, der sich aus dem Wert des Operanden PROTECTION-ATTR ergibt.

USER-ACCESS = *OWNER-ONLY
Die Datei ist nicht mehrbenutzbar, d.h. nur der Dateieigentümer und Mit-Eigentümer können auf die Datei zugreifen.

Banddateien:

im HDR1-Kennsatz Zugriffsvermerk = 1

USER-ACCESS = *ALL-USERS
Die Datei ist mehrbenutzbar, d.h. beliebige Benutzerkennungen können auf die Datei zugreifen.

temporäre Dateien:

USER-ACCESS=*ALL-USERS ist nicht zulässig

Banddateien:

im HDR1-Kennsatz Zugriffsvermerk = ' ' (X'40')

USER-ACCESS = *SPECIAL
Benutzerkennungen mit dem Privileg HARDWARE-MAINTENANCE (Online-Wartung) dürfen auf die Datei zugreifen. Implizit gilt USER-ACCESS=*ALL-USERS, d.h. die Datei ist für alle Benutzerkennungen einschließlich der Wartungskennungen zugänglich.
Für Zugriffe einer Wartungskennung muss auch dann SPECIAL gesetzt sein, wenn die Zugriffskontrolle über BASIC-ACL oder GUARDS erfolgt.

BASIC-ACL = *BY-PROTECTION-ATTR / *NONE / *STD / *PARAMETERS(...) /
*GROUP-X / *GROUP-RX / *GROUP-WRX / *ALL-X / *ALL-RX / *ALL-WRX

Gibt an, ob für die Datei ein BASIC-ACL-Eintrag erstellt werden soll und ob die Zugriffskontrolle damit über diesen Eintrag erfolgt. Ein BASIC-ACL-Eintrag wird nur ausgewertet, wenn kein höherer Zugriffsschutz aktiviert ist (siehe Tabelle „Rangfolge der Zugriffskontrollmöglichkeiten"). Die folgenden Operandenwerte entsprechen häufig benutzten BASIC-ACL-Einstellungen:

Operandenwert

BASIC-ACL-Schutz
OWNERGROUPOTHERS
RWXRWXRWX

*STD

Y

Y

Y

N

N

N

N

N

N

*GROUP-X

Y

Y

Y

N

N

Y

N

N

N

*GROUP-RX

Y

Y

Y

Y

N

Y

N

N

N

*GROUP-WRX

Y

Y

Y

Y

Y

Y

N

N

N

*ALL-X

Y

Y

Y

N

N

Y

N

N

Y

*ALL-RX

Y

Y

Y

Y

N

Y

Y

N

Y

*ALL-WRX

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y: Zugriff erlaubt
N: Zugriff nicht erlaubt

Tabelle 35: Bedeutung der Operandenwerte für häufig benutzte BASIC-ACL-Einstellungen

BASIC-ACL = *BY-PROTECTION-ATTR
Es wird der Wert verwendet, der sich aus dem Wert des Operanden PROTECTION-ATTR ergibt.

BASIC-ACL = *NONE
Für die Datei wird kein BASIC-ACL-Eintrag erstellt. Die Zugriffskontrolle erfolgt entsprechend den Einträgen USER-ACCESS und ACCESS.

BASIC-ACL = *PARAMETERS(...)
Für die Datei wird ein BASIC-ACL-Eintrag erzeugt und die Zugriffskontrolle erfolgt damit über die BASIC-ACL (einfache Zugriffskontroll-Liste), wenn kein höherer Zugriffsschutz aktiviert ist (siehe Tabelle "Rangfolge der Zugriffsmöglichkeiten").
Die Zugriffsrechte Lesen, Schreiben und Ausführen müssen je Zugriffberechtigtem explizit gesetzt werden, anderenfalls besteht kein Zugriffsrecht. 

Zugriffsberechtigt sind:

      • OWNER, d.h. die Benutzerkennung des Eigentümers und die Benutzerkennungen der Mit-Eigentümer und der Systembetreuung (siehe „Privilegierte Funktionen“).

      • GROUP, d.h. alle Benutzerkennungen, die der Gruppe des Eigentümers angehören (nicht der Eigentümer, die Mit-Eigentümer und die Systembetreuung).
        Die Definition von Benutzergruppen ist erst bei Einsatz des Software-Produktes SECOS möglich. Im Hinblick auf den möglichen Einsatz von SECOS sollten jedoch auch jetzt schon für GROUP die gleichen Zugriffsrechte wie für OTHERS vergeben werden.

      • OTHERS, d.h. alle Benutzerkennungen, die nicht der Gruppe des Eigentümers angehören (nicht der Eigentümer, die Mit-Eigentümer und die Systembetreuung).

OWNER = *NO-ACCESS / *PARAMETERS(...)
Gibt an, welche Zugriffsrechte für den Eigentümer und die Mit-Eigentümer zu setzen sind. Voreingestellt ist *NO-ACCESS, d.h. es besteht keine Lese-, Schreib- und Ausführberechtigung.

OWNER = *PARAMETERS(...)
Die Zugriffsrechte werden wie angegeben eingetragen:

READ = *NO / *YES
Gibt an, ob die Leseberechtigung gesetzt wird.
Voreingestellt ist NO, d.h. es besteht keine Leseberechtigung.

WRITE = *NO / *YES
Gibt an, ob die Schreibberechtigung gesetzt wird.
Voreingestellt ist *NO, d.h. es besteht keine Schreibberechtigung.
Die Schreibberechtigung enthält nicht implizit die Leseberechtigung.

EXEC = *NO / *YES
Gibt an, ob die Ausführberechtigung gesetzt wird.
Voreingestellt ist *NO, d.h. es besteht keine Ausführberechtigung.

GROUP = *NO-ACCESS / *PARAMETERS(...)
Gibt an, welche Zugriffsrechte für alle Benutzerkennungen aus der Gruppe des Eigentümers zu setzen sind.
Voreingestellt ist *NO-ACCESS, d.h. es besteht keine Lese-, Schreib- und Ausführberechtigung.

GROUP = *PARAMETERS(...)
Die Zugriffsrechte sind wie angegeben zu setzen:

READ = *NO / *YES
Gibt an, ob die Leseberechtigung gesetzt wird.
Voreingestellt ist *NO, d.h. es besteht keine Leseberechtigung.

WRITE = *NO / *YES
Gibt an, ob die Schreibberechtigung gesetzt wird.
Voreingestellt ist *NO, d.h. es besteht keine Schreibberechtigung.
Die Schreibberechtigung enthält nicht implizit die Leseberechtigung.

EXEC = *NO / *YES
Gibt an, ob die Ausführberechtigung gesetzt wird.
Voreingestellt ist *NO, d.h. es besteht keine Ausführberechtigung.

OTHERS = *NO-ACCESS / *PARAMETERS(...)
Gibt an, welche Zugriffsrechte für alle anderen Benutzerkennungen zu setzen sind.Die Zugriffsrechte sollten, solange das Software-Produkt SECOS nicht im Einsatz ist, bei GROUP und bei OTHERS gleich sein. Voreingestellt ist *NO-ACCESS, d.h. es besteht keine Lese-, Schreib- und Ausführberechtigung. 

OTHERS = *PARAMETERS(...)
Die Zugriffsrechte werden wie angegeben gesetzt:

READ = *NO / *YES
Gibt an, ob die Leseberechtigung gesetzt wird.
Voreingestellt ist NO, d.h. es besteht keine Leseberechtigung.

WRITE =* NO / *YES
Gibt an, ob die Schreibberechtigung gesetzt wird.
Voreingestellt ist *NO, d.h. es besteht keine Schreibberechtigung.
Die Schreibberechtigung enthält nicht implizit die Leseberechtigung.

EXEC = *NO / *YES
Gibt an, ob die Ausführberechtigung gesetzt wird.
Voreingestellt ist *NO, d.h. es besteht keine Ausführberechtigung.

GUARDS = *BY-PROTECTION-ATTR / *NONE / *PARAMETERS(...)
Gibt an, ob die Zugriffskontrolle für die Datei über GUARDS erfolgt.

GUARDS = *BY-PROTECTION-ATTR
Es wird der Wert verwendet, der sich aus dem Wert des Operanden PROTECTION-ATTR ergibt.

GUARDS = *NONE
Die Zugriffskontrolle erfolgt nicht über GUARDS.

GUARDS = *PARAMETERS(...)
Die Zugriffskontrolle erfolgt über GUARDS.

Der Zugriff auf die Datei wird über einen Guard geregelt, d.h. ein spezielles Objekt, das alle Bedingungen enthält, unter denen ein Benutzer die Zugriffserlaubnis erhält: z.B. Datum, Uhrzeit, Benutzerkennung. Ein Guard kann nur mit der Funktionseinheit GUARDS des kostenpflichtigen Software-Produkts SECOS erstellt und verwaltet werden (siehe Handbuch „SECOS“ [35]).
Ein Guard wird über den Guard-Namen eindeutig identifiziert. Der Guard-Name ist ähnlich wie ein Dateiname aufgebaut: Er kann eine Benutzerkennung enthalten und besteht aus einem maximal 8 Zeichen langen Namensteil. Bei Angabe ohne Benutzerkennung wird implizit die eigene Benutzerkennung angenommen.
Jede Zugriffsart kann über einen eigenen Guard kontrolliert werden. Ist für eine Zugriffsart kein Guard vereinbart (*NONE), so sind keine entsprechenden Zugriffe erlaubt (z.B. erlaubt WRITE=*NONE keinerlei Schreibzugriffe).
Die Angabe GUARDS=*PARAMETERS vereinbart die Zugriffskontrolle über GUARDS, wobei für alle Zugriffsarten die Voreinstellung *NONE gilt, d.h. die Datei kann nicht gelesen, verändert oder ausgeführt werden.
Die Zugriffskontrolle über GUARDS kann unabhängig von der Verfügbarkeit des Subsystems GUARDS vereinbart werden. Eine Überprüfung durch GUARDS findet erst zum Zeitpunkt des Dateizugriffs statt:
Ist ein vereinbarter Guard nicht zugreifbar, so sind die mit ihm geschützten Zugriffe nicht erlaubt. Ist das Subsystem GUARDS zum Zeitpunkt des Zugriffs nicht verfügbar, so sind keinerlei Zugriffe erlaubt.

READ = *NONE / <filename 1..18 without-cat-gen-vers>
Name eines Guards für den Leseschutz (maximal 8 Zeichen, wenn keine Benutzerkennung angegeben wird).
Voreingestellt ist *NONE, d.h., es sind keine Lesezugriffe erlaubt.

WRITE = *NONE / <filename 1..18 without-cat-gen-vers>
Name eines Guards für den Schreibschutz (maximal 8 Zeichen, wenn keine Benutzerkennung angegeben wird).
Voreingestellt ist *NONE, d.h., es sind keine Schreibzugriffe erlaubt.

EXEC = *NONE / <filename 1..18 without-cat-gen-vers>
Name eines Guards für den Ausführschutz (maximal 8 Zeichen, wenn keine Benutzerkennung angegeben wird).
Voreingestellt ist *NONE, d.h., die Datei kann nicht ausgeführt werden.

WRITE-PASSWORD = *BY-PROT-ATTR-OR-NONE / *NONE / <c-string 1..4> /
<x-string 1..8> / <integer -2147483648..2147483647> / *SECRET

Kennwort zum Schutz vor unberechtigtem Schreiben.
Das vereinbarte Kennwort muss im Kommando ADD-PASSWORD angegeben werden, damit Schreibzugriff auf die Datei möglich ist.
Der Operand WRITE-PASSWORD hat folgende Besonderheiten:

      • Der eingegebene Wert wird nicht protokolliert.

      • Im geführten Dialog ist das Eingabefeld automatisch dunkelgesteuert.

      • Bei Angabe von *SECRET oder ^ stellt SDF im ungeführten Dialog und in Vordergrundprozeduren ein dunkelgesteuertes Eingabefeld zur verdeckten Eingabe des Kennwortes zur Verfügung.

temporäre Dateien:

kein Kennwortschutz möglich

Banddateien:

der Kennwortschutz wird im HDR3-Kennsatz vermerkt

WRITE-PASSWORD = *BY-PROT-ATTR-OR-NONE
Die Vergabe eines Schreibkennworts ist abhängig vom Wert des Operanden PROTECTION-ATTR.
Bei PROTECTION-ATTR=*BY-DEF-PROT-OR-STD wird der von der Default-Protection gelieferte Wert oder - wenn diese nicht aktiv ist - *NONE eingetragen.
Bei PROTECTION-ATTR=*STD / *FROM-FILE() wird *NONE eingetragen, d.h. es wird kein Schreibkennwort vereinbart.

WRITE-PASSWORD = *NONE
Es wird kein Schreibkennwort vergeben.

WRITE-PASSWORD = <c-string 1..4> / <x-string 1..8> / <integer -2147483648..2147483647>
Definiert ein für Schreibzugriff erforderliches Kennwort.

READ-PASSWORD = *BY-PROT-ATTR-OR-NONE / *NONE / <c-string 1..4> / <x-string 1..8> /
<integer -2147483648..2147483647> / *SECRET
Kennwort zum Schutz vor unberechtigtem Lesen.
Das vereinbarte Kennwort muss im Kommando ADD-PASSWORD angegeben werden, damit Lesezugriff auf die Datei möglich ist.
Der Operand READ-PASSWORD hat folgende Besonderheiten:

  • Der eingegebene Wert wird nicht protokolliert.
  • Im geführten Dialog ist das Eingabefeld automatisch dunkelgesteuert.
  • Bei Angabe von *SECRET oder ^ stellt SDF im ungeführten Dialog und in Vordergrundprozeduren ein dunkelgesteuertes Eingabefeld zur verdeckten Eingabe des Kennwortes zur Verfügung.

temporäre Dateien:

kein Kennwortschutz möglich

Banddateien:

der Kennwortschutz wird im HDR3-Kennsatz vermerkt

READ-PASSWORD = *BY-PROT-ATTR-OR-NONE
Die Vergabe eines Lesekennworts ist abhängig vom Wert des Operanden PROTECTION-ATTR.
Bei PROTECTION-ATTR=*BY-DEF-PROT-OR-STD wird der von der Default-Protection gelieferte Wert oder - wenn diese nicht aktiv ist - *NONE eingetragen.
Bei PROTECTION-ATTR=*STD / *FROM-FILE( ) wird *NONE eingetragen, d.h. es wird kein Lesekennwort vereinbart.

READ-PASSWORD = *NONE
Es wird kein Lesekennwort vergeben.

READ-PASSWORD = <c-string 1..4> / <x-string 1..8> / <integer -2147483648..2147483647>
Definiert ein für den Lesezugriff erforderliches Kennwort.
Ein mit Lesekennwort geschütztes Quellprogramm kann nicht übersetzt werden.

EXEC-PASSWORD = *BY-PROT-ATTR-OR-NONE / *NONE / <c-string 1..4> /
<x-string 1..8> / <integer -2147483648..2147483647> / *SECRET

Kennwort zum Schutz vor unberechtigtem Ausführen.
Ein solches Kennwort wird für Prozeduren, ENTER-Dateien und Programme vereinbart. Das vereinbarte Kennwort muss im Kommando ADD-PASSWORD angegeben werden, damit der Prozedur- bzw. Programmablauf möglich ist. Der Operand EXEC-PASSWORD hat folgende Besonderheiten:

  • Der eingegebene Wert wird nicht protokolliert.
  • Im geführten Dialog ist das Eingabefeld automatisch dunkelgesteuert.
  • Bei Angabe von *SECRET oder ^ stellt SDF im ungeführten Dialog und in Vordergrundprozeduren ein dunkelgesteuertes Eingabefeld zur verdeckten Eingabe des Kennwortes zur Verfügung.

temporäre Dateien:

kein Kennwortschutz möglich

Banddateien:

der Kennwortschutz wird im HDR3-Kennsatz vermerkt

EXEC-PASSWORD = *BY-PROT-ATTR-OR-NONE
Die Vergabe eines Ausführungskennworts ist abhängig vom Wert des Operanden PROTECTION-ATTR.
Bei PROTECTION-ATTR=*BY-DEF-PROT-OR-STD wird der von der Default-Protection gelieferte Wert oder - wenn diese nicht aktiv ist - *NONE eingetragen.
Bei PROTECTION-ATTR=*STD / *FROM-FILE() wird *NONE eingetragen, d.h. es wird kein Ausführungskennwort vereinbart.

EXEC-PASSWORD = *NONE
Es wird kein Ausführungskennwort vereinbart.

EXEC-PASSWORD = <c-string 1..4> / <x-string 1..8> / <integer -2147483648..2147483647>
Definiert ein für den Aufruf der Programm-/Prozedurdatei erforderliches Kennwort.

Die Angabe EXEC-PASSWORD=X'00000000' wird ignoriert.

DESTROY-BY-DELETE = *BY-PROTECTION-ATTR / *NO / *YES
Zur Erhöhung des Datenschutzes kann der Benutzer im Katalogeintrag festlegen, dass nicht mehr benötigte Daten mit X'00' (binär null) überschrieben werden. Bei Plattendateien wirkt sich die Angabe DESTROY-BY-DELETE auf Löschoperationen, Dateimigration und Speicherplatzfreigabe aus (siehe Kommandos MODIFY-FILE-ATTRIBUTES und DELETE-FILE), bei Banddateien auf das Überschreiben von Restdaten bei EOF- und EOV-Verarbeitung (siehe auch ADD-FILE-LINK-Kommando, Operand DESTROY-OLD-CONTENTS).

DESTROY-BY-DELETE = *BY-PROTECTION-ATTR
Es wird der Wert verwendet, der sich aus dem Wert des Operanden PROTECTION-ATTR ergibt.

DESTROY-BY-DELETE = *NO
Bei der Einstellung *NO wirkt die im Kommando DELETE-FILE getroffene Vereinbarung (Operand OPTION).

Plattendateien:

der Speicherplatz wird unverändert freigegeben, wenn nicht im Kommando DELETE-FILE der Operand OPTION=*DESTROY-ALL angegeben wurde.

Banddateien:

auf dem Band folgende Restdaten werden nicht überschrieben, wenn im Kommando ADD-FILE-LINK für den aktuellen Verarbeitungslauf nicht DESTROY-OLD-CONTENTS=*YES vereinbart wurde.

DESTROY-BY-DELETE = *YES
Die Einstellung YES wirkt auch, wenn im Kommando DELETE-FILE, Operand OPTION eine andere Vereinbarung getroffen wird.

Plattendateien:

der Speicherplatz wird bei Freigabe oder beim Löschen automatisch mit binär null (X'00') überschrieben.

Banddateien:

Der Bandinhalt nach dem Dateiende wird mit binär null (X'00') überschrieben. Im Kommando ADD-FILE-LINK muss das Löschen der Restdaten für den aktuellen Verarbeitungslauf nicht explizit eingestellt zu werden (Operand DESTROY-OLD-CONTENTS=*YES).

Beachten Sie dazu unbedingt auch die Hinweise im Abschnitt „Datenschutz durch Datenzerstörung“ im Handbuch „Einführung in das DVS“ [13].

AUDIT = *STD / *NONE / *SUCCESS / *FAILURE / *ALL
Gibt an, ob Zugriffe auf die Datei überwacht werden sollen. Die Überwachung kann außerdem von dem Ergebnis des Zugriffs abhängig gemacht werden (siehe Operandenwerte *SUCCESS bzw. *FAILURE).
Die Systembetreuung (Privileg TSOS) kann diese Funktion ohne Einschränkung nutzen. Nicht-privilegierte Benutzer benötigen dazu die entsprechende Berechtigung im Benutzereintrag des Pubsets, auf dem die Datei angelegt werden soll (siehe Ausgabefeld FILE-AUDIT des Kommandos SHOW-USER-ATTRIBUTES). Ohne vorliegende Berechtigung wird das Kommando bei einer AUDIT-Anforderung abgewiesen.

Folgende DVS-Aktionen können überwacht werden:

  • Katalogeintrag erstellen, modifizieren (Schutzattribute), lesen und löschen
  • Datei öffnen und schließen
  • Datei umbenennen, importieren und exportieren

Die Überwachung wird mit System-Exit-Routinen bzw. bei Einsatz des Software-Produktes mit der Funktionseinheit SAT durchgeführt.
Zur Überwachung mit System-Exit-Routinen müssen diese aktiviert sein (verantwortlich ist die Systembetreuung, Benutzerkennung TSOS).
Zur Überwachung mit SAT muss die SAT-Protokollierung gestartet sein, und die Ereignisse für das Objekt FILE dürfen nicht von der Protokollierung ausgeschlossen worden sein (verantwortlich ist der Sicherheitsbeauftragte, Benutzerkennung SYSPRIV). Vom Sicherheitsbeauftragten explizit getroffene SAT-Einstellungen kann der Benutzer nicht verändern! Die Auswertung der SAT-Protokolldateien kann der SAT-Datei-Verwalter, Benutzerkennung SYSAUDIT, vornehmen.

AUDIT = *STD
Der Wert ist derzeit gleichbedeutend mit *NONE.

AUDIT = *NONE
Keine Überwachung.

AUDIT = *SUCCESS
Alle erfolgreichen DVS-Operationen für die Datei werden überwacht.

AUDIT = *FAILURE
Alle erfolglosen DVS-Aktionen für die Datei werden überwacht.

AUDIT = *ALL
Alle DVS-Operationen für die Datei werden überwacht.

SPACE-RELEASE-LOCK = *BY-PROTECTION-ATTR / *NO / *YES
Gibt an, ob die Freigabe von Speicherplatz erlaubt ist.

SPACE-RELEASE-LOCK = *BY-PROTECTION-ATTR
Es wird der Wert verwendet, der sich aus dem Wert des Operanden PROTECTION-ATTR ergibt.

SPACE-RELEASE-LOCK = *NO
Die Freigabe von Speicherplatz ist nicht erlaubt.

SPACE-RELEASE-LOCK = *YES
Die Freigabe von Speicherplatz ist erlaubt.

FREE-FOR-DELETION = *NONE / <date> / <integer 0..99999>
Bestimmt, ab wann die Datei ohne Berücksichtigung der Schutzattribute ACCESS, BASIC-ACL, GUARDS, EXPIRATION-DATE und Kennwortschutz gelöscht werden darf (Lösch-Freigabedatum).

FREE-FOR-DELETION = *NONE
Es wird kein Lösch-Freigabedatum vereinbart. Die Schutzattribute werden beim Löschen der Datei berücksichtigt.

FREE-FOR-DELETION = <date>
Die Datei kann ab dem angegebenen Datum ohne Berücksichtigung der oben genannten Schutzattribute gelöscht werden.
Der Benutzer kann das Datum in der Form [yy]yy-mm-dd angeben, wobei zweistellige Jahreszahlen < 60 mit 20, Angaben >= 60 mit 19 ergänzt werden.

FREE-FOR-DELETION = <integer 0..99999>
Die Datei kann nach Ablauf der angegebenen Anzahl von Tagen ohne Berücksichtigung der oben genannten Schutzattribute gelöscht werden. Das Lösch-Freigabedatum muss in der Form +n angeben werden.

SAVE = *STD / *NO / *PARAMETERS(...)
Gibt an, wie die Datei bei Sicherungsläufen mit den Dienstprogrammen ARCHIVE bzw. HSMS zu behandeln ist, wenn keine Management-Klasse zugewiesen ist.

SAVE = *STD
Es gelten die unter PARAMETERS gesetzten Standardwerte, wenn keine Management-Klasse zugewiesen ist.

SAVE = *NO
Diese Angabe ist gleichbedeutend mit den Angaben BACKUP-CLASS=*E, NUM-OF-BACKUP-VERS=0 und SAVED-PAGES=*COMPLETE-FILE unter *PARAMETERS (siehe dort).

SAVE = *PARAMETERS(...)
Legt Häufigkeit und Art der Sicherung fest. Diese Informationen werden bei den regelmäßigen Sicherungsläufen (mit den Dienstprogrammen ARCHIVE bzw. HSMS) berücksichtigt.

BACKUP-CLASS = *STD / *A / *B / *C / *D / *E
nur für Dateien auf Platten:
Sicherungshäufigkeit, wobei *A häufigste Sicherung bedeutet. BACKUP bezieht sich auf die automatische Dateisicherung mit dem Sicherungssystem ARCHIVE bzw. HSMS und legt fest, bei welchen Sicherungsläufen die Dateien gesichert werden sollen.

BACKUP-CLASS = *STD
Durch den Systemparameter BACKUP festgelegter Wert.

BACKUP-CLASS = *A
Häufigste Sicherung. Die so gekennzeichneten Dateien werden bei jedem Sicherungslauf gesichert.

BACKUP-CLASS = *B
Die so gekennzeichneten Dateien werden gesichert, wenn ein Sicherungslauf für Dateien mit BACKUP-CLASS=*B oder *C oder *D stattfindet.

BACKUP-CLASS = *C
Die so gekennzeichneten Dateien werden gesichert, wenn ein Sicherungslauf für Dateien mit BACKUP-CLASS=*C oder *D stattfindet.

BACKUP-CLASS = *D
Seltenste Sicherung. Die so gekennzeichneten Dateien werden nur dann gesichert, wenn ein Sicherungslauf für Dateien mit BACKUP-CLASS=*D stattfindet.

BACKUP-CLASS = *E
Keine Sicherung durch ARCHIVE bzw. HSMS. Für temporäre Dateien ist dies der einzige mögliche Wert (auch Voreinstellung). Für permanente Dateien ist dieser Wert sinnvoll, wenn es sich z.B. um Arbeitsdateien handelt.

SAVED-PAGES = *COMPLETE-FILE / *MODIFIED-PAGES
nur für Dateien auf Platten:
Bezieht sich wie BACKUP-CLASS auf die Dateisicherung mit ARCHIVE bzw. HSMS und legt fest, ob bei der automatischen Sicherung die Datei jedes Mal vollständig gesichert wird oder nur die seit der letzten Sicherung veränderten Blöcke.

SAVED-PAGES = *COMPLETE-FILE
Vollständige Sicherung.

SAVED-PAGES = *MODIFIED-PAGES
Partielle Sicherung: nur die geänderten Blöcke werden gesichert. Diese Angabe ist für große Dateien sinnvoll.

NUM-OF-BACKUP-VERS = *STD  / <integer 0..32>
Legt die maximale Anzahl der Datei-Versionen fest, die im Versions-Backup-Archiv gesichert werden.

NUM-OF-BACKUP-VERS = *STD
Für eine permanente Datei auf gemeinschaftlicher Platte, auf Net-Storage sowie für eine Datei ohne Speicherplatzzuweisung wird der durch den Systemparameter NUMBACK festgelegte Wert eingestellt.
Für eine Datei auf privater Platte, auf Band oder für eine temporäre Datei wird der Wert 0 eingestellt.

NUM-OF-BACKUP-VERS = <integer 0..32>
Legt die maximale Anzahl der Datei-Versionen fest, die im Versions-Backup-Archiv gesichert werden. Der Wert 0 bedeutet keine Teilnahme am Versions-Backup.
Für eine Datei auf privater Platte oder für eine temporäre Datei wird ein Wert ungleich 0 abgewiesen.
Eine Datei auf Band nimmt nicht am Versions-Backup teil, deshalb wird der angegebene Wert ignoriert und es wird der Wert 0 eingestellt.

MIGRATE = *STD / *ALLOWED / *INHIBITED / *FORBIDDEN
Die Angabe ist nur für Dateien auf gemeinschaftlichen Platten relevant
.
Der Operand wird durch das Software-Produkt HSMS (Hierarchisches Speicher Management System) ausgewertet. Der Anwender kann mit MIGRATE festlegen, ob Dateien, auf die er längere Zeit nicht zugegriffen hat, auf eine Speicherebene mit langsamerem Zugriff verdrängt werden dürfen oder nicht. Die Dateien werden von der Online-Verarbeitungsebene S0 auf die online-verfügbare Hintergrundebene S1 oder die offline-verfügbare Hintergrundebene S2 (z.B. Band) verdrängt (Näheres siehe Handbuch „HSMS“ [18]).

MIGRATE = *STD
Abhängig von der Art der Datei oder des Speicherorts gelten folgende Voreinstellungen:

*ALLOWEDfür permanente Dateien
*INHIBITEDfür temporäre Dateien
*FORBIDDENfür Dateien, die direkt auf der Platte eines SM-Pubsets (Operand VOLUME) angelegt werden

MIGRATE = *ALLOWED
Die Datei kann bei Einsatz von HSMS aus der Verarbeitungs-Ebene (S0) auf eine Hintergrund-Ebene (S1) oder Archiv-Ebene (S2) verdrängt werden.

MIGRATE = *INHIBITED
Die Datei darf nur kurzfristig, z.B. für eine Reorganisation, verdrängt werden (Migrations-Sperre).

MIGRATE = *FORBIDDEN
Die Angabe darf nur bei Berechtigung zur physikalischen Allokierung von gemeinschaftlichem Speicherplatz erfolgen (siehe „Funktionsbeschreibung“, Abschnitt „Privilegierte Funktionen“). Die Datei darf nicht verdrängt werden, weil sie z.B. den aktuellen physikalischen Ablageort behalten soll (verschärfte Migrations-Sperre).

CODED-CHARACTER-SET = *USER-DEFAULT / *NONE / <name 1..8>
Der Operand wird für eine Datei auf Privatplatte ignoriert.
Bestimmt den Code der Datei. Damit wird festgelegt, wie die Zeichen eines nationalen Zeichensatzes binär abzuspeichern sind. Der festgelegte Zeichensatz beeinflusst z.B. Bildschirmdarstellung der Zeichen, Sortierreihenfolge (siehe Handbuch „XHCS“ [51]).

CODED-CHARACTER-SET = *USER-DEFAULT
Der Code wird aus dem Benutzerkatalogeintrag des Dateieigentümers übernommen, falls dort ein Code ungleich EDF03IRV eingetragen ist, andernfalls gilt *NONE.

CODED-CHARACTER-SET = *NONE
Für die Datei wird kein Code festgelegt.

CODED-CHARACTER-SET = <name 1..8>
Für die Datei wird der angegebene Code festgelegt.

NET-CODED-CHAR-SET = *USER-DEFAULT / *ISO / *NO-CONVERSION / <name 1..8>
Nur relevant für Net-Storage-Dateien vom Typ Node-File. Für andere Dateien wird die Angabe ignoriert.

Gibt an, welches Net-Storage-Coded-Character-Set (NETCCS) für ein Node-File auf Net-Storage zu verwenden ist.
Das NETCCS ist ist der Zeichensatz, in dem die Daten von SAM-Node-Files auf Net-Storage abgelegt werden. Die Daten werden bei der Übertragung vom CODED-CHARACTER-SET in das NET-CODED-CHARATER-SET bzw. umgekehrt konvertiert. Ab BS2000 V11.0 angelegte SAM- und PAM-Node-Files besitzen immer ein definiertes NETCCS. PAM-Node-Files, die vor V11.0 angelegt wurden, werden so behandelt, als ob sie mit der Angabe *NO-CONVERSION erstellt wurden. Es werden nur Daten von SAM-Node-Files konvertiert. Bei PAM-Node-Files wird das NET-CODED-CHAR-SET bei der Übertragung von Daten nicht ausgewertet.

NET-CODED-CHAR-SET = *USER-DEFAULT
Die Einstellung wird anhand der Definition im Benutzereintrag vorgenommen. Das resultierende NETCCS der Datei wird gemäß folgender Tabelle ermittelt:

Benutzereintrag (SYSSRPM) bzw. Angabe im Kommando
CREATE-FILE oder MODIFY-FILE-ATTRIBUTES

Resultierendes NETCCS im Katalogeintrag des Node-Files

CCS

NETCCS

NETCCS

EDF03IRV/*NONE

*ISO

ISO88591; bei der Code-Umsetzung wird für CCS EDF041 angenommen

EDF03DRV

*ISO

ISO88591; bei der Code-Umsetzung wird für CCS EDF04DRV angenommen

EDF04DRV

*ISO

ISO88591

EDF04x

*ISO

ISO8859x mit x=1,2,..F

ISO8859x

*ISO oder *NO-CONV

ISOx

UTFx

*ISO oder *NO-CONV

UTFx

<name_a 1..8>

<name_b 1..8>

<name_b 1..8>

<name_a 1..8>

*NO-CONV

<name_a 1..8>

NET-CODED-CHAR-SET = *ISO
Für SAM-Node-Files werden EBCDIC-Zeichensätze in Zeichensätze konvertiert, die in der offenen Welt üblich sind. Dabei wird das NETCCS auf eine ISO-Variante abgebildet, die dem CCS entspricht. Beispiele:

EDF03IRV  =>  ISO88591
EDF04DRV  =>  ISO88591
EDF04x    =>  ISO8859x
Grundsätzlich gilt: Wenn für CODED-CHARACTER-SET ein ISO- oder UTF-Zeichensatz angegeben wurde, findet keine Konvertierung statt. Für diesen Fall verhält sich *ISO wie *NO-CONVERSION.

NET-CODED-CHAR-SET = *NO-CONVERSION
Der Zeichensatz der Datei wird bei der Übertragung zum Net-Storage nicht konvertiert. Der Wert des CODED-CHARACTER-SET wird für NET-CODED-CHAR-SET übernommen. Entspricht das CODED-CHARACTER-SET *NONE oder EDV03IRV, so wird das resultierende NETCCS zu EDF03IRV.

Ein Node-File wird auf dem Net-Storage in dem EBCDIC-Zeichensatz angelegt, der im CCS angegeben ist.

NET-CODED-CHAR-SET = <name 1..8>
Name des NETCCS, mit dem ein Node-File auf dem Net-Storage angelegt wird.

Es wird nicht überprüft, ob der Name einem gültigen Zeichensatz entspricht!

SUPPRESS-ERRORS = *NONE / *FILE-EXISTING
Gibt an, ob ein Fehler vorliegt, wenn die angegebene Datei bereits existiert.

SUPPRESS-ERRORS = *NONE
Existiert die angegebene Datei bereits, wird das Kommando mit Fehler abgewiesen. Der Fehler löst den Spin-Off-Mechanismus bzw. die SDF-P-Fehlerbehandlung aus.

SUPPRESS-ERRORS = *FILE-EXISTING
Existiert die angegebene Datei bereits, hat das Kommando keine Auswirkung auf die Datei und ihren Katalogeintrag. Es liegt kein Fehler vor.

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

DMS053E

Datei auf priv. Datenträger bereits katalogisiert


64

DMS0540

Der Datenträger unterstützt die geforderten Datei-Attribute nicht


64

DMS0557

Fehlerhafte Datenträger-Angabe


64DMS0579Ungültiger Operand für temporäre Datei oder Arbeitsdatei

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


64DMS059FUngültiger Wert der Sicherungsversion 

64

DMS05B5

Guard nicht verfügbar


64

DMS05BD

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


64

DMS05FC

Angegebene Benutzer-Kennung nicht im Home-Pubset


64

DMS060D

Ungültiger Dateiname der Referenzdatei (PROTECTION-ATTR)


64

DMS0613

Management-Klasse unbekannt


64

DMS0618

Storage-Klasse unbekannt


64

DMS061A

Storage-Klassen-Katalog konnte nicht gelesen werden


64

DMS0640

Zugriff auf Net-Storage wird vom Subsystem ONETSTOR wegen Kommunikationsproblemen mit dem Net-Client abgewiesen


64

DMS0641

Datei auf Net-Storage bereits vorhanden


64

DMS0642

Große Dateien auf dem angegebenen Pubset nicht erlaubt


64

DMS0643

Net-Client meldet Zugriffsfehler


64

DMS0644

Net-Client meldet internen Fehler


64

DMS0645

Datei auf Net-Storage nicht vorhanden


64

DMS0647

Angegebener Dateityp stimmt nicht mit dem Katalog-Eintrag der Datei überein


64

DMS0648

Angabe von File-Type, Device und Volume passen nicht zusammen


64

DMS0649

Net-Server meldet POSIX-ACL-Fehler


64

DMS064A

Net-Client meldet, dass Zugriff auf Dateien auf dem Net-Storage-Volume verboten ist


64

DMS064B

Zugriff auf Node-Files vom Net-Client nicht unterstützt


64

DMS0652

Absolute Speicherplatzanforderung auf Net-Storage nicht erlaubt


64

DMS0683

Datei existiert schon
garantierte Meldung: DMS0683


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


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.
garantierte Meldung: DMS053C


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: Katalogeintrag erstellen

/create-file file-name=max.file.1
/show-file-attr file-name=max.file.1,inf=*all-attributes

%0000000003 :2OSG:$USER1.MAX.FILE.1
%  ------------------------------- HISTORY      -------------------------------  
%  CRE-DATE   = NONE        ACC-DATE   = NONE        CHANG-DATE = NONE 
%  CRE-TIME   = NONE        ACC-TIME   = NONE        CHANG-TIME = NONE 
%  ACC-COUNT  = 0           S-ALLO-NUM = 0 
%  ------------------------------- SECURITY     -------------------------------  
%  READ-PASS  = NONE        WRITE-PASS = NONE        EXEC-PASS  = NONE 
%  USER-ACC   = OWNER-ONLY  ACCESS     = WRITE  
%  AUDIT      = NONE        FREE-DEL-D = *NONE       EXPIR-DATE = NONE 
%  DESTROY    = NO          FREE-DEL-T = *NONE       EXPIR-TIME = NONE 
%  SP-REL-LOCK= NO          ENCRYPTION = *NONE 
%  ------------------------------- BACKUP       -------------------------------  
%  BACK-CLASS = A           SAVED-PAG  = COMPL-FILE  VERSION    = 0 
%  MIGRATE    = ALLOWED 
%  #Back-VERS = 0
%  ------------------------------- 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 
%  WORK-FILE  = *NO         F-PREFORM  = *K          S0-MIGR    = *ALLOWED 
%  ------------------------------- ALLOCATION   -------------------------------  
%  SUPPORT    = PUB         S-ALLOC    = 9           HIGH-US-PA = 0 
%  EXTENTS     VOLUME     DEVICE-TYPE      EXTENTS     VOLUME     DEVICE-TYPE 
%      1       GVS2.3       D3435 
%  NUM-OF-EXT = 1 
%:2OSG: PUBLIC:      1 FILE  RES=         3 FRE=         3 REL=         3 PAGES 

Die Ausgabe des Kommandos SHOW-FILE-ATTRIBUTES zeigt den mit CREATE-FILE erzeugten Katalogeintrag der Datei MAX.FILE.1. Da keine Angabe zu dem Operanden SUPPORT erfolgte, wurde für die Datei Speicherplatz auf gemeinschaftlicher Platte reserviert.

 

Beispiel 2: Katalogeintrag für eine Banddatei erstellen

/create-file file-name=max.tape-file.1
             support=*tape(vol=m2326k,dev-type=tape-c4)
/show-file-attr file-name=max.tape-file.1,inf=*all-attributes

%           :2OSG:$USER1.MAX.TAPE-FILE.1 
%  ------------------------------- HISTORY      -------------------------------  
%  CRE-DATE   = NONE        ACC-DATE   = NONE        CHANG-DATE = NONE 
%  CRE-TIME   = NONE        ACC-TIME   = NONE        CHANG-TIME = NONE 
%  ACC-COUNT  = 0           S-ALLO-NUM = 0 
%  ------------------------------- SECURITY     -------------------------------  
%  READ-PASS  = NONE        WRITE-PASS = NONE        EXEC-PASS  = NONE 
%  USER-ACC   = ALL-USERS   ACCESS     = WRITE  
%  AUDIT      = NONE        FREE-DEL-D = *NONE       EXPIR-DATE = NONE 
%  DESTROY    = NO          FREE-DEL-T = *NONE       EXPIR-TIME = NONE 
%  ------------------------------- BACKUP       -------------------------------  
%  BACK-CLASS = A           SAVED-PAG  = COMPL-FILE  VERSION    = 0 
%  #BACK-VERS = 0
%  ------------------------------- ORGANIZATION -------------------------------  
%  FILE-STRUC = NONE        BUF-LEN    = NONE        BLK-CONTR  = NONE 
%  REC-FORM   = NONE        REC-SIZE   = 0 
%  CODE       = NONE        LABEL      = NONE        FILE-SEQ   = NONE 
%  BLK-OFFSET = 0 
%  ------------------------------- ALLOCATION   -------------------------------  
%  SUPPORT    = PVT                                  BLK-COUNT =  0 
%  EXTENTS     VOLUME     DEVICE-TYPE 
%   NONE        NONE         NONE 
%:2OSG: TAPE  :      1 FILE

Die Ausgabe des Kommandos SHOW-FILE-ATTRIBUTES zeigt den mit CREATE-FILE erzeugten Katalogeintrag der Banddatei MAX.TAPE-FILE.1, die auf der Magnetbandkassette M2326K (Volumetyp TAPE-C4) gespeichert werden soll. Für die Banddatei wird kein reservierter Speichplatz angezeigt, da nur der Katalogeintrag im Dateikatalog des Pubsets 2OSG gespeichert ist.

 

Beispiel 3: Katalogeintrag für eine Datei auf privater Platte erstellen

/create-file file-name=max.disk-file.1,support=*priv(vol=work01,
             dev-type=d3435)
/show-file-attr file-name=max.disk-file.1,inf=*all-attr

%  ------------------------------- HISTORY      -------------------------------  
%  CRE-DATE   = NONE        ACC-DATE   = NONE        CHANG-DATE = NONE 
%  CRE-TIME   = NONE        ACC-TIME   = NONE        CHANG-TIME = NONE 
%  ACC-COUNT  = 0           S-ALLO-NUM = 0 
%  ------------------------------- SECURITY     -------------------------------  
%  READ-PASS  = NONE        WRITE-PASS = NONE        EXEC-PASS  = NONE 
%  USER-ACC   = OWNER-ONLY  ACCESS     = WRITE  
%  AUDIT      = NONE        FREE-DEL-D = *NONE       EXPIR-DATE = NONE 
%  DESTROY    = NO          FREE-DEL-T = *NONE       EXPIR-TIME = NONE 
%  SP-REL-LOCK= NO          ENCRYPTION = *NONE 
%  ------------------------------- BACKUP       -------------------------------  
%  BACK-CLASS = A           SAVED-PAG  = COMPL-FILE  VERSION    = 0 
%  MIGRATE    = ALLOWED 
%  #BACK-VERS = 0
%  ------------------------------- 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 
%  ------------------------------- ALLOCATION   -------------------------------  
%  SUPPORT    = PVT         S-ALLOC    = 9           HIGH-US-PA = 0 
%  EXTENTS     VOLUME     DEVICE-TYPE      EXTENTS     VOLUME     DEVICE-TYPE 
%      1       WORK01       D3435 
%  NUM-OF-EXT = 1 
%:2OSG: PRDISC:      1 FILE  RES=         3 FRE=         3 REL=         0 PAGES

Die Ausgabe des Kommandos SHOW-FILE-ATTRIBUTES zeigt den mit CREATE-FILE erzeugten Katalogeintrag der Datei MAX.DISK-FILE.1, für die auf der privaten Platte WORK01 Speicherplatz reserviert wurde.

 

Beispiel 4: Katalogeintrag für Dateien auf Net-Storage erstellen

/create-file file-name=max.net-file.1,support=*public(vol=wk0025,
                        dev-type=netstor)
/show-file-attr file-name=max.net-file.,inf=*all-attr —————————————————————————— (1)

%0000000004n:CK68:$USER1.MAX.NET-FILE.1
%  ------------------------------- HISTORY      ----------------------------- 
%  CRE-DATE   = NONE        ACC-DATE   = NONE        CHANG-DATE = NONE 
%  CRE-TIME   = NONE        ACC-TIME   = NONE        CHANG-TIME = NONE 
%  ACC-COUNT  = 0           S-ALLO-NUM = 0 
%  ------------------------------- SECURITY     ----------------------------- 
%  READ-PASS  = NONE        WRITE-PASS = NONE        EXEC-PASS  = NONE 
%  USER-ACC   = OWNER-ONLY  ACCESS     = WRITE       ACL        = NO 
%  AUDIT      = NONE        FREE-DEL-D = *NONE       EXPIR-DATE = NONE 
%  DESTROY    = NO          FREE-DEL-T = *NONE       EXPIR-TIME = NONE 
%  SP-REL-LOCK= NO          ENCRYPTION = *NONE 
%  ------------------------------- BACKUP       ----------------------------- 
%  BACK-CLASS = A           SAVED-PAG  = COMPL-FILE  VERSION    = 0 
%  MIGRATE    = ALLOWED 
%  #BACK-VERS = 0
%  ------------------------------- 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 
%  ------------------------------- ALLOCATION   -----------------------------
%  SUPPORT    = PUB         S-ALLOC    = 4           HIGH-US-PA = 0 
%  EXTENTS     VOLUME     DEVICE-TYPE      EXTENTS     VOLUME     DEVICE-TYPE 
%      1       WK0025       NETSTOR 
%  NUM-OF-EXT = 1 
%:CK68: NET   :      1 FILE  RES=         4 FRE=        4 REL=        4 PAGES 

/create-file file-name=max.net-file.2,
            support=*public(storage-type=*net-storage) ——————————————————————— (2) 
/show-file-attr file-name=max., 
             select=*by-attr(storage-type=*net-storage),inf=(alloc=*yes) ————— (3)

%0000000004n:CK68:$USER1.MAX.NET-FILE.1
%  ------------------------------- ALLOCATION   ------------------------------- 
%  SUPPORT    = PUB         S-ALLOC    = 4           HIGH-US-PA = 0 
%  EXTENTS     VOLUME     DEVICE-TYPE      EXTENTS     VOLUME     DEVICE-TYPE 
%      1       WK0025       NETSTOR 
%  NUM-OF-EXT = 1 
%0000000004n:CK68:$USER1.MAX.NET-FILE.2
%  ------------------------------- ALLOCATION   ------------------------------- 
%  SUPPORT    = PUB         S-ALLOC    = 4           HIGH-US-PA = 0 
%  EXTENTS     VOLUME     DEVICE-TYPE      EXTENTS     VOLUME     DEVICE-TYPE 
%      1       CK68@0       NETSTOR 
%  NUM-OF-EXT = 1 
%:CK68: NET   :      2 FILES RES=         8 FRE=         8 REL=         8 PAGES  

(1)

Die Ausgabe des Kommandos SHOW-FILE-ATTRIBUTES zeigt den mit CREATE-FILE erzeugten Katalogeintrag der Datei MAX.NET-FILE.1, die zuvor auf dem Net-Storage-Volume WK0025 angelegt wurde. Das Net-Storage-Volume ist dem Default-Pubset CK68 zugeordnet. Da das Volume nicht den Standardnamen besitzt, mussten die VSN und der Volumetyp NETSTOR im CREATE-FILE-Kommando explizit angegeben werden.

(2)

Eine weitere Datei MAX.NET-FILE.2 wird mit CREATE-FILE auf dem Standard-Net-Storage-Volume des Pubsets CK68 angelegt (die VSN ist CK68@0). In diesem Fall genügt die Angabe des Speichertyps (siehe Operand STORAGE-TYPE=*NET-STORAGE).

(3)

Die Ausgabe des Kommandos SHOW-FILE-ATTRIBUTES zeigt die Allokierungsattribute für die beiden Dateien an.

Beispiel 5: Katalogeintrag erstellen / Dateischutz mit BASIC-ACL u. GUARDS

/cre-file file-name=max.file.2,prot=(basic-acl=*std) 
/show-file-attr max.file.2,inf=(security=*yes) —————————————————————  (1)

%0000000003 :2OSG:$USER1.MAX.FILE.2
%  ------------------------------- SECURITY     ---------------------- 
%  READ-PASS  = NONE        WRITE-PASS = NONE        EXEC-PASS  = NONE 
%  USER-ACC   = OWNER-ONLY  ACCESS     = WRITE  
%  OWNER      = R W X       GROUP      = - - -       OTHERS     = - -  
%  AUDIT      = NONE        FREE-DEL-D = *NONE       EXPIR-DATE = NONE 
%  DESTROY    = NO          FREE-DEL-T = *NONE       EXPIR-TIME = NONE 
%  SP-REL-LOCK= NO          ENCRYPTION = *NONE 
%:2OSG: PUBLIC:      1 FILE  RES=         3 FRE=         3 REL=              

/cre-file file-name=max.file.3,prot=(guards=(read=prot-a01,write=prot-a01)) 
/show-file-attr file-name=max.file.3,inf=(security=*yes) ——————————————— (2)

%0000000003 :2OSG:$USER1.MAX.FILE.3
%  ------------------------------- SECURITY     -------------------------------  
%  READ-PASS  = NONE        WRITE-PASS = NONE        EXEC-PASS  = NONE 
%  USER-ACC   = OWNER-ONLY  ACCESS     = WRITE  
%  AUDIT      = NONE        FREE-DEL-D = *NONE       EXPIR-DATE = NONE 
%  DESTROY    = NO          FREE-DEL-T = *NONE       EXPIR-TIME = NONE 
%  SP-REL-LOCK= NO          ENCRYPTION = *NONE 
%  GUARD-READ = $USER1.PROT-A01 
%  GUARD-WRIT = $USER1.PROT-A01 
%  GUARD-EXEC = NONE 
%:2OSG: PUBLIC:      1 FILE  RES=         3 FRE=         3 REL=         3 PAGES  

/cre-file file-name=max.file.4,prot=(prot-attr=*from-file(max.file.3))

/show-file-attr file-name=max.file.4,inf=(security=*yes) ——————————————— (3)

%0000000003 :2OSG:$USER1.MAX.FILE.4
%  ------------------------------- SECURITY     -------------------------------  
%  READ-PASS  = NONE        WRITE-PASS = NONE        EXEC-PASS  = NONE 
%  USER-ACC   = OWNER-ONLY  ACCESS     = WRITE  
%  AUDIT      = NONE        FREE-DEL-D = *NONE       EXPIR-DATE = NONE 
%  DESTROY    = NO          FREE-DEL-T = *NONE       EXPIR-TIME = NONE 
%  SP-REL-LOCK= NO          ENCRYPTION = *NONE 
%  GUARD-READ = $USER1.PROT-A01 
%  GUARD-WRIT = $USER1.PROT-A01 
%  GUARD-EXEC = NONE 
%:2OSG: PUBLIC:      1 FILE  RES=         3 FRE=         3 REL=         3 PAGES 

(1)

Die Ausgabe des Kommandos SHOW-FILE-ATTRIBUTES zeigt die Schutzmerkmale, der Datei MAX.FILE.2. Mit dem Kommando CREATE-FILE wurde zuvor der Katalogeintrag erzeugt und die Zugriffskontrolle über BASIC-ACL vereinbart. Für den Dateieigentümer USER1 wurden alle Zugriffsrechte (Lesen, Schreiben, Ausführen) gesetzt. Andere Benutzerkennungen besitzen keine Zugriffsrechte.

(2)

Die Ausgabe des Kommandos SHOW-FILE-ATTRIBUTES zeigt die Schutzmerkmale der Datei MAX.FILE.3. Mit dem Kommando CREATE-FILE wurde zuvor der Katalogeintrag erzeugt und die Zugriffskontrolle über GUARDS vereinbart. Lese- und Schreibzugriffe des Dateieigentümers USER1 und aller anderen Benutzer werden nur zugelassen, wenn die Bedingungen, die in dem Guard PROT-A01 des Benutzers USER1 hinterlegt sind, erfüllt sind. Die Datei kann nicht ausgeführt werden, da im Operanden EXEC kein Guard angegeben wurde.

(3)

Die Ausgabe des Kommandos SHOW-FILE-ATTRIBUTES zeigt die Schutzmerkmale der Datei MAX.FILE.4. Beim Erzeugen des Katalogeintrags wurden die Schutzattribute der Datei MAX.FILE.3 übernommen.