Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

SECURE-RESOURCE-ALLOCATION

&pagelevel(3)&pagelevel

Betriebsmittel anfordern

Komponente:

BS2000

Funktionsbereich:

Auftragsverarbeitung

Anwendungsbereich:

JOB                                                                                                         

Privilegierung:

STD-PROCESSING
HARDWARE-MAINTENANCE
SAT-FILE-EVALUATION
SAT-FILE-MANAGEMENT

Funktionsbeschreibung

Das Kommando SECURE-RESOURCE-ALLOCATION reserviert Betriebsmittel, die der Auftrag für seinen Ablauf benötigt. Diese Reservierung garantiert, dass ein späterer Zugriff auf Betriebsmittel vom System nicht abgewiesen wird.

Innerhalb eines Dialog- oder Batchauftrags können mit dem Kommando SECURE-RESOURCE-ALLOCATION folgende Betriebsmittel reserviert werden:

  • private Datenträger (Platten/Bänder)

  • Geräte für private Datenträger (Platten-/Bandgeräte)

  • Dateien, Dateigenerationen und Dateigenerationsgruppen auf gemeinschaftlichen und privaten Datenträgern

Die Reservierung einer Datei hat auch die Reservierung der Platte bzw. des Bandes und diese wiederum eine Reservierung der Geräte zur Folge.
Explizit reserviert werden:

  • Geräte über den Operanden DEVICE bzw. UNIT

  • Datenträger über den Operanden DISK bzw. TAPE

  • Dateien über den Operanden FILE

Implizit reserviert heißen Geräte bzw. Datenträger, die für eine explizit reservierte Datei oder Datenträger benötigt werden.
Bei gleichzeitiger Reservierung eines Gerätetyps in einem Kommando, sowohl implizit als auch explizit, wird versucht, die Summe der explizit und implizit reservierten Geräte bereitzustellen.

Ein Betriebsmittel heißt exklusiv reserviert, wenn während der Reservierung kein anderer Auftrag es benutzen kann. Es wird als mehrbenutzbar bezeichnet, wenn das System zwar für freien Zugriff während der Reservierungszeit sorgt, andere Aufträge das Betriebsmittel jedoch ebenfalls verwenden können.

Eine bestehende Reservierung wird aufgehoben:

  • mit jedem SECURE-RESOURCE-ALLOCATION-Kommando (auch ohne Operanden). Es werden alle zuvor reservierten privaten Betriebsmittel freigegeben (auch implizit reservierte), deren TFT-Eintrag nicht durch /LOCK-FILE-LINK gesperrt ist.

  • mit dem Kommando REMOVE-FILE-LINK.
    REMOVE-FILE-LINK hebt die Reservierung einer Datei und ggfs. der zugehörigen Platte/Band auf. Die Reservierung von Geräten bleibt erhalten, wenn dies im Kommando REMOVE-FILE-LINK mit RELEASE-DEVICE=*NO gefordert wird.Sind Platten/Bänder bzw. Geräte, die der Datei zugeordnet sind, auch noch durch andere Dateien bzw. Platten/Bänder implizit reserviert, werden diese Platten/Bänder und Geräte erst nach Abbau sämtlicher Bezüge für das System wieder frei.

  • mit dem Kommando WAIT-EVENT (Operand UNTIL ungleich *JV).

  • bei Auftragsende (EXIT-JOB, LOGOFF, CANCEL-JOB).

Das Kommando SECURE-RESOURCE-ALLOCATION wird abgewiesen, wenn:

  • ein Programm geladen ist und Belegungen mit USE=SPECIAL existieren.

  • eine zu reservierende Banddatei geöffnet ist.

  • der TFT-Eintrag einer zu reservierenden Banddatei mit /LOCK-FILE-LINK gesperrt ist.

  • ein gemeinschaftlicher Datenträger explizit reserviert werden soll.

  • eines der angeforderten Betriebsmittel nicht bereitgestellt werden kann (s. Operand WAIT).

  • implizit angeforderte Geräte nicht existieren bzw. nicht in ausreichender Anzahl existieren.

  • ein nichtprivilegierter Benutzer eine Datei der Benutzerkennung TSOS bzw. der System-Standardkennung exklusiv zu reservieren versucht.

  • der Auftrag Dateien auf exklusiv zu reservierenden Datenträgern eröffnet hat. Dies ist möglich, wenn SECURE-RESOURCE-ALLOCATION innerhalb einer Prozedurdatei gegeben wird und vorher die Datei auf privatem Datenträger einer logischen Systemdatei zugewiesen wurde (z.B. ASSIGN-SYSLST).

Jedes SECURE-RESOURCE-ALLOCATION-Kommando (auch ohne Operanden) gibt zunächst alle zuvor reservierten privaten Betriebsmittel frei (impliziter RELEASE). TFT-Einträge werden nicht gelöscht und müssen nicht mehr neu erstellt werden. Die mit den vorhandenen TFT-Einträgen verknüpften Gerätebelegungen werden jedoch zurückgegeben.

Wird ein Datenträger reserviert, der noch nicht montiert ist, erfolgt für Bänder standardmäßig eine PREMOUNT-Meldung (kann mit MODIFY-MOUNT-PARAMETER geändert werden). Privatplatten müssen online sein oder während der Kommandobearbeitung bereitgestellt werden.

Kann eines der angeforderten Betriebsmittel nicht bereitgestellt werden, so wird überhaupt keine Reservierung durchgeführt. Je nach Auftragstyp und Angabe im WAIT-Operanden gibt das System entweder eine Meldung aus oder der Auftrag wartet so lange in der Secure-Queue, bis alle angeforderten Betriebsmittel dem Auftrag zur Verfügung stehen

bzw. bis zum Ablauf der Wartezeit. Es wird allerdings zum nächsten SET-JOB-STEP- oder EXIT-JOB- bzw. LOGOFF-Kommando verzweigt, wenn implizit angeforderte Geräte oder die benötigte Anzahl von Geräten nicht existieren.

Lehnt der Operator eine Betriebsmittelanforderung (MOUNT-Meldung auf der Konsole) ab, wird keine Reservierung durchgeführt und im Batchbetrieb zum nächsten SET-JOB-STEP- oder EXIT-JOB- bzw. LOGOFF-Kommando verzweigt.

Wenn das Kommando abgewiesen wird (z.B. Betriebsmittel nicht vorhanden), werden alle dem Auftrag bisher zur Verfügung gestellten Datenträger freigegeben.

Ob eine Privatplatte reserviert werden kann, hängt ab von der Einstellung der Parameter „USER-ALLOCATION“, „SYSTEM-ALLOCATION“ und „OPERATOR-CONTROL“. Diese Werte können vom Benutzer über das Kommando SHOW-DISK-STATUS erfragt werden.

Hinweise zur Bandverarbeitung

Ein über SECURE-RESOURCE-ALLOCATION VOLUME (explizite Reservierung) bzw. über SECURE-RESOURCE-ALLOCATION FILE (implizite Reservierung) belegtes Band-Volume hat eine VOLUME-PHASE gleich PREMOUNT (siehe Kommando SHOW-TAPE-STATUS, SHOW-RESOURCE-ALLOCATION). D.h. dieses Band ist lediglich vorreserviert, um eine Benutzung desselben Datenträgers durch einen anderen Auftrag auszuschließen. Es finden jedoch noch keine Ein-/Ausgaben für das Volume statt. Es existiert eine implizite Gerätereservierung. Zwischen OPEN und CLOSE hat das Band eine PHASE gleich IN-USE (das Band wird bearbeitet). Nach CLOSE geht die PHASE wieder in PREMOUNT über.

Fern-Dateizugriff (Näheres im Handbuch „RFA“ [31])

Über RFA lassen sich auch Dateien in einem fernen System reservieren. Allerdings dürfen in diesem Kommando nur Dateien angegeben werden, und diese müssen alle zum gleichen System gehören.

Die lokale TFT enthält für alle Fern-Dateien, die bearbeitet werden, Einträge; nicht berücksichtigt werden exklusive Reservierungen von Ferndateien sowie Fern-Betriebsmitteln, nachdem das Kommando REMOVE-FILE-LINK abgesetzt wurde.

Um eine DEADLOCK-Situation zu verhindern, wird während der Abbauphase zu Beginn der Kommando-Bearbeitung ein SECURE-RESOURCE-ALLOCATION-Kommando ohne Operanden an alle RFA-Partner-Tasks geschickt (außer die Task ist selbst RFA-Partner-Task).

Zugriff auf verdrängte Dateien

Dateien, die mit HSMS auf eine der Speicherhierarchie-Ebenen S1 oder S2 verdrängt wurden, können mit /SECURE-RESOURCE-ALLOCATION FILE=*PAR(dateiname) implizit zurückgeholt werden (impliziter Recall). HSMS gibt in diesem Fall einen Recall-Summary-Report aus. (Näheres im Handbuch „HSMS, Band 1“ [18].) 

 

Format

SECURE-RESOURCE-ALLOCATION

DEVICE = *NO / list-poss(11): [*PARAMETERS](...)


[*PARAMETERS](...)



|

TYPE = <device> / <structured-name 1..8> / <alphanum-name 1..8>



|

,NUMBER = 1 / <integer 0..255>



|

,LOCATION = *USER-DEFAULT / *NONE / <alphanum-name 1..8> / *BY-FILENAME(...)



|


*BY-FILENAME(...)



|



|

NAME = <filename 1..54>

,UNIT = *NO / list-poss(48): <alphanum-name 2..2> / <alphanum-name 4..4>

,DISK = *NO / list-poss(48): [*PARAMETERS](...)


[*PARAMETERS](...)



|

VOLUME = <alphanum-name 1..6>



|

,TYPE = <device>



|

,ALLOCATION = *SHARED / *EXCLUSIVE

,TAPE = *NO / list-poss(48): [*PARAMETERS](...)


[*PARAMETERS](...)



|

VOLUME = <alphanum-name 1..6>



|

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



|

,ACCESS = *READ / *WRITE



|

,MOUNT = *YES / *NO

,FILE = *NO / list-poss(48): [*PARAMETERS](...)


[*PARAMETERS](...)



|

NAME = <filename 1..54>



|

,ACCESS = *READ / *WRITE



|

,MOUNT = 1 / <integer 0..255>



|

,ALLOCATION = *SHARED / *EXCLUSIVE

,WAIT = [*PARAMETERS] (...)


[*PARAMETERS](...) 



|

TIME = *TASK-STD / <integer 1..2097152 seconds>



|

,EVENT = *ALL-MOUNT / *DISK-MOUNT

Operandenbeschreibung

DEVICE = *NO / list poss(11): *PARAMETERS(...)
Gibt an, ob Geräte reserviert werden sollen.

DEVICE = *NO
Es wird kein Gerät per Gerätetyp reserviert.

DEVICE = list-poss(11): *PARAMETERS(...)
Nachfolgend wird angegeben, wie viele Geräte eines Gerätetyps zu reservieren sind. Maximal können Geräte elf verschiedener Typen reserviert werden.

TYPE = <device> / <structured-name 1..8> / <alphanum-name 1..8>
Gibt an, welcher Gerätetyp reserviert werden soll.
Ein Plattengerät sollte nicht über den Operanden TYPE reserviert werden, da die zugehörige Platte ausschließlich mit der Benutzungsart SPECIAL von privilegierten Anwendungen (wie z.B. FDDRL oder VOLIN) genutzt werden kann.
Die Reservierung eines Band- oder MBK-Gerätes erfolgt über die Angabe eines zulässigen Volumetyps (siehe auch Abschnitt „Volumetypen bei Bandverarbeitung"). Die Volumetypen WORK bzw. TAPE können nur für Anwendungen genutzt werden, bei denen auch WORK bzw. TAPE als Volumetyp angegeben ist (z.B. im CREATE-FILE-Kommando).
Verfügbare Gerätetypen können der Ausgabe des Kommandos SHOW-DEVICE-CONFIGURATION mit UNIT=*SELECT(CLASS= *DEVICE,ATTRIBUTE=*ATTACHED) entnommen werden (siehe auch Gerätetabelle im Abschnitt „Gerätetyp-Tabelle" (Spalte Gerätetyp)).
Siehe auch Operand TYPE bei Reservierung von Platten (DISK) und Bändern (TAPE).

NUMBER = 1 / <integer 0..255>
Gibt an, wie viele Geräte des angegebenen Typs reserviert werden sollen.

LOCATION = *USER-DEFAULT / *NONE / <alphanum-name 1..8> / *BY-FILENAME(...)
Nur bei Reservierung von Bandgeräten.
Beschreibt den Modus der Lagerortermittlung bzw. bezeichnet den Lagerort.

LOCATION = *USER-DEFAULT
Die Geräteverwaltung soll geeignete Gerätemengen auswählen. Ist das kostenpflichtige Subsystem MAREN geladen, soll sich die Geräteverwaltung die Lagerortinformation über das Subsystem MAREN (MAREN-Exit) beschaffen.

LOCATION = *NONE
Die zu reservierenden Geräte sollen der Gerätemenge entnommen werden, die keinem Lagerort zugeordnet ist (dem Restpool; siehe Kommando ADD-DEVICE-DEPOT)

LOCATION = <alphanum-name 1..8>
Bezeichnet den Lagerort, aus dessen zugeordneter Gerätemenge die zu reservierenden Bandgeräte auszuwählen sind. Die Zuordnungen von Lagerorten zu Bandgeräten legt die Systembetreuung mit dem Kommando ADD-DEVICE-DEPOT fest. Diese können mit dem Kommando SHOW-DEVICE-DEPOT ausgegeben werden.

LOCATION = *BY-FILENAME(...)
Die Geräteverwaltung soll sich mithilfe des kostenpflichtigen Subsystems MAREN Informationen über den Lagerort des Bandes zu beschaffen. Der angegebene Dateiname wird an MAREN weitergereicht. In Verbindung mit dem MAREN-Exit ermittelt MAREN daraus den Lagerort des betroffenen Bandes.
Der Ablauf zur Beschaffung der Lagerortinformation über MARENLM bzw. MAREN-Exits ist im Handbuch „MAREN“ [23] beschrieben.

Entspricht der von MAREN gelieferte Lagerort keinem der mit ADD-DEVICE-DEPOT deklarierten Lagerorte, wird die Bearbeitung ohne Lagerort fortgesetzt. Dabei ist Folgendes zu beachten:

  1. Sind alle Bandgeräte Lagerorten zugeordnet, wird das Kommando mit NKS0015 abgewiesen bzw. eine sonstige Gerätebelegung (z.B. über FILE- oder OPEN-Makro) mit einem entsprechenden Returncode abgewiesen.

  2. Sind passende Geräte ohne Lagerzuordnung verfügbar (aus dem sog. Restpool), so wird die Geräteanforderung aus dieser Gerätemenge befriedigt.
    Handelt es sich bei diesen Geräten nur um vorsorglich generierte, physikalisch jedoch nicht vorhandene Geräte, so kann dies dazu führen, dass eine betroffene Task endlos in der Gerätewarteschlange verbleibt. Eine solche Task lässt sich über das Kommando SHOW-RESOURCE-REQUESTS ermitteln (die Ausgabe RESOURCES REQUESTED enthält die Gerätetypbezeichnung ohne Lagerortangabe).

NAME = <filename 1..54>
Der Lagerort des Bandes wird ermittelt, auf dem sich die angegebene Datei befindet.

UNIT = *NO / list-poss(48): <alphanum-name 2..2> / <alphanum-name 4..4>
Reserviert Bandgeräte über ihren mnemotechnischen Gerätenamen (zwei oder vier Zeichen). Das Gerät wird exklusiv für den Auftrag reserviert.
Ein Plattengerät sollte nicht über den Operanden UNIT reserviert werden, da die zugehörige Platte ausschließlich mit der Benutzungsart SPECIAL von privilegierten Anwendungen (wie z.B. FDDRL oder VOLIN) genutzt werden kann.

UNIT = *NO
Es wird kein Gerät per UNIT-Angabe reserviert.

UNIT = list-poss(48): <alphanum-name 2..2>
Mnemotechnischer Gerätename (2 Zeichen) des zu reservierenden Bandgeräts; das Gerät wird exklusiv reserviert und kann auch im Nicht-DMS-Betrieb genutzt werden.

UNIT = list-poss(48): <alphanum-name 4..4>
Mnemotechnischer Gerätename (4 Zeichen) des zu reservierenden Bandgeräts; das Gerät wird exklusiv reserviert und kann auch im Nicht-DMS-Betrieb genutzt werden.

DISK = *NO / list-poss(48): PARAMETERS(...)
Gibt an, ob eine private Platte zu reservieren ist.

DISK = list-poss(48): *PARAMETERS(...)
Für jede zu reservierende private Platte werden das Datenträger-Kennzeichen, der Platten-Gerätetyp und die Art der Reservierung angegeben. Maximal können 48 private Platten reserviert werden.
Für die Datenträger wird implizit die Benutzungsart „DMS“ festgelegt.
Die Reservierbarkeit einer Platte ist abhängig von den Werten der Einstellungen „USER-ALLOCATION“, „SYSTEM-ALLOCATION“ und „OPERATION-CONTROL“, die die Systembetreuung mit den Kommandos SET-DISK-DEFAULTS bzw. SET-DISK-PARAMETER vorgenommen hat. Diese Werte können vom Benutzer mit den Kommandos SHOW-DISK-DEFAULTS und SHOW-DISK-STATUS abgefragt werden.

VOLUME = <alphanum-name 1..6>
Gibt die Archivnummer (Datenträger-Kennzeichen) der zu reservierenden Platte an.

TYPE = <device>
Gibt den Gerätetyp an, auf dem die Platte bereitgestellt werden soll.
Es werden nur Gerätetypen akzeptiert, die im System bekannt sind. Im Dialog werden mit DEVICE-TYPE=? die möglichen Gerätetypen angezeigt.
Verfügbare Gerätetypen können der Ausgabe des Kommandos SHOW-DEVICE-CONFIGURATION mit UNIT=*SELECT(CLASS=*DEVICE,ATTRIBUTE=*ATTACHED) entnommen werden (siehe auch Gerätetabelle im Abschnitt „Gerätetyp-Tabelle" (Spalte Gerätetyp)).

ALLOCATION = *SHARED / *EXCLUSIVE
Gibt den Reservierungsmodus an, mit dem die Platte reserviert werden soll.

ALLOCATION = *SHARED
Plattenzugriffe für weitere Aufträge gestattet.

ALLOCATION = *EXCLUSIVE
Exklusive Reservierung heißt: Benutzung des Betriebsmittels durch andere Aufträge ist nicht möglich.

TAPE = *NO / list-poss(48): *PARAMETERS(...)
Gibt an, ob ein Band zu reservieren ist.
Die Reservierung ist immer exklusiv.

TAPE = list-poss(48): *PARAMETERS(...)
Für jedes zu reservierende Band wird das Datenträger-Kennzeichen, der Gerätetyp und die gewünschte Zugriffsart angegeben. Maximal können 48 Bänder reserviert werden.
Für die Datenträger wird implizit die Benutzungsart „DMS“ festgelegt. Reservierungen für die Benutzungsarten „SPECIAL“ oder „WORK“ sind nur bei expliziter Gerätereservierung möglich.

Besonderheit bei Verwendung von Lagerorten (Subsystem MAREN)

Bei der Reservierung eines Datenträgers und der daran gekoppelten impliziten Gerätereservierung ermittelt die Geräteverwaltung über das kostenpflichtige Subsystem MAREN den Lagerort des Datenträgers.
Ist das Datenträgerkennzeichen im MAREN-Katalog eingetragen, wird der dort vermerkte Lagerort zur Gerätereservierung verwendet. Anderenfalls wird der von MAREN gelieferte Default-Lagerort bzw. der über MARENLM bzw. MAREN-Exits ermittelte Lagerort verwendet (siehe auch Handbuch „MAREN, Band 1“ [23]).

VOLUME = <alphanum-name 1..6>
Gibt die Archivnummer (Datenträger-Kennzeichen) des zu reservierenden Datenträgers an.

TYPE = *BY-VOLUME-CATALOG / <device>
Bezeichnet den Typ des Geräts, auf dem der Datenträger bereitgestellt werden soll. Es werden nur Geräte- oder Volumetypen akzeptiert, die im System bekannt sind. Im Dialog werden mit DEVICE-TYPE=? die möglichen Geräte- und Volumetypen angezeigt.
Die Volumetypen WORK bzw. TAPE können nur für Anwendungen genutzt werden, bei denen auch WORK bzw. TAPE als Volumetyp angegeben ist (z.B. im CREATE-FILE-Kommando).

TYPE = *BY-VOLUME-CATALOG
Der Gerätetyp wird über die MAREN-Geräte-Substitution ermittelt. Falls diese Funktion nicht verfügbar ist, wird das Kommando abgewiesen.

ACCESS = *READ / *WRITE
Gibt an, für welche Art von Zugriffen das Band bereitzustellen ist. Der Operand dient dazu, dem Operator in der Montieraufforderung (Mount- bzw. Premount-Meldung) mitzuteilen, ob das Band mit aktiviertem oder deaktiviertem Schreibschutz montiert werden soll.

ACCESS = *READ
Das Band soll nur gelesen werden. Der Schreibschutz muss nicht deaktiviert werden. Ein Schreibschutz wird für die Bänder nicht vereinbart. Bei Schreibzugriff auf ein Band mit aktiviertem Schreibschutz wird die Verarbeitung nur unterbrochen und das System fordert den Operator auf, das Band mit deaktiviertem Schreibschutz zu montieren.

ACCESS = *WRITE
Das Band soll beschrieben werden.
Der Operator wird in der Montieraufforderung zum Deaktivieren des Schreibschutzes aufgefordert.

MOUNT = *YES / *NO
Gibt an, ob zum Zeitpunkt des SHOW-RESOURCE-ALLOCATION-Kommandos bereits die implizite Gerätereservierung durchgeführt werden soll.

MOUNT = *YES
Das System reserviert Datenträger und Gerät. Außerdem wird die Ausgabe einer Premount-Meldung auf der Konsole veranlasst.

MOUNT = *NO
Das System reserviert den Datenträger, jedoch nicht das benötigte Gerät; eine Premount-Meldung wird nicht ausgegeben. Das Gerät ist offline reserviert; diese Reservierung wird bei dem Kommando SHOW-RESOURCE-ALLOCATION nicht ausgegeben.

FILE = *NO / list-poss(48): *PARAMETERS(...)
Gibt an, ob eine Datei, Dateigeneration oder Dateigenerationsgruppe zu reservieren ist.Der Zugriff auf die Datei muss erlaubt sein (siehe Kommando SHOW-FILE-ATTRIBUTES).

FILE = *NO
Es wird keine Datei/Dateigeneration reserviert.

FILE = list-poss(48): *PARAMETERS(...)
Für jede zu reservierende Datei wird der Name, Angaben bei Reservierung von Banddateien (ACCESS, MOUNT) und Art der Reservierung für Plattendateien angegeben. Maximal können 48 Dateien reserviert werden.
Die Reservierung ist für Banddateien immer exklusiv, für Plattendateien abhängig vom Operanden ALLOCATION.

NAME = <filename 1..54>
Bezeichnet eine katalogisierte Datei, Dateigeneration oder eine Systemdatei. Ist die beim Operanden NAME angegebene Datei/FGG nicht katalogisiert, wird der Auftrag nicht in die SECURE-Warteschlange eingeordnet. Im Dialogbetrieb wird eine Fehlermeldung ausgegeben, im Batchbetrieb wird Spin-Off-Mechanismus ausgelöst. Ist die beim Operanden NAME angegebene Datei unter einer fremden
Benutzerkennung katalogisiert, muss die Datei/FGG mehrbenutzbar sein. Alle zu ihr gehörigen Platten werden mehrbenutzbar reserviert und bereitgestellt.
Im Mehrrechnerverbund wird die Reservierung für eine Datei, die auf einem nicht lokal verfügbaren Pubset liegt, abgewiesen. 

Ohne weitere Angaben für die Reservierung von Dateien gelten folgende Voreinstellungen:

      • Plattendateien: Zugehörige Platten werden bereitgestellt und gelten als mehrbenutzbar. Die Datei ist mehrbenutzbar reserviert, kann aber auch exklusiv reserviert werden (ALLOCATION).
        Erstreckt sich die Datei über mehrere Privatplatten, werden alle betroffenen Datenträger belegt.

      • Banddateien: Zugehörige Bänder werden immer exklusiv reserviert. Damit werden zusätzlich alle Dateien, die sich auf diesen Bändern befinden, exklusiv reserviert. Implizit wird ein Bandgerät reserviert (vgl. Operand MOUNT).
        Die reservierten Bänder werden mit aktiviertem Schreibschutz bereitgestellt (vgl. Operand ACCESS).
        Erstreckt sich die Datei über mehrere Bänder, wird nur ein Gerät für den ersten Datenträger automatisch reserviert (abhängig vom Operanden MOUNT).

ACCESS = *READ / *WRITE
Wird nur für Banddateien ausgewertet:
Gibt an, ob die zugehörigen Bänder nur für Lese- oder auch für Schreibzugriffe bereitzustellen sind. Der Operand dient dazu, dem Operator in der Mount-Meldung mitzuteilen, ob das Band mit aktiviertem oder deaktiviertem Schreibschutz montiert werden soll.

ACCESS = *READ
Das Band soll nur gelesen werden. Der Schreibschutz muss nicht deaktiviert werden. Ein Schreibschutz wird für die Bänder nicht vereinbart.

ACCESS = *WRITE
Das Band soll beschrieben werden.
Der Operator wird in der Montieraufforderung zum Deaktivieren des Schreibschutzes aufgefordert.

MOUNT = 1 / <integer 0..255>
Wird nur für Banddateien ausgewertet:
Gibt an, wie viel Bandgeräte implizit zu reservieren sind. Die Auswahl erfolgt in der Reihenfolge, in der die Bänder im Katalog eingetragen sind. Für diese Bänder werden für die implizit reservierten Geräte MOUNT-Meldungen auf der Konsole ausgegeben. Bei Verwendung von Lagerorten ermittelt die Geräteverwaltung den Lagerort wie bei der Reservierung über den Operanden TAPE.

MOUNT = 1
Es wird ein Gerät implizit reserviert.

MOUNT = <integer 0..255>
Es wird die angegebene Anzahl Geräte implizit reserviert.
Werden weniger Geräte implizit reserviert, als Bänder im Katalog eingetragen sind, werden die restlichen Bänder ohne Gerätereservierung (offline) reserviert.
Werden mehr Geräte angegeben, als Bänder im Katalog eingetragen sind, werden nur so viele implizite Gerätereservierungen durchgeführt, wie Bänder im Katalog eingetragen sind.

ALLOCATION = *SHARED / *EXCLUSIVE
Wird nur für Plattendateien ausgewertet: Legt fest, ob die unter dem Operanden NAME angegebene Datei/Dateigeneration mehrbenutzbar oder exklusiv reserviert wird, d.h. ob andere Aufträge auf die reservierte Plattendatei zugreifen dürfen. 

ALLOCATION = *SHARED
Es wird geprüft, ob die Datei existiert. Sie ist weiterhin für andere Aufträge zugänglich (sowohl für Lese- als auch für Schreibzugriffe). Die benötigten Platten und Geräte werden implizit reserviert und bleiben mehrbenutzbar (USE=DMS). Es wird nicht geprüft, ob die Datei bereits exklusiv reserviert ist. Die Datei kann von einer anderen Task noch exklusiv reserviert werden.

ALLOCATION = *EXCLUSIVE
Die Datei wird exklusiv für den aufrufenden Auftrag reserviert, ist also für andere Aufträge nicht zugänglich; Platten und Geräte sind mehrbenutzbar reserviert. Eine Datei kann nur dann exklusiv reserviert werden, wenn sie nicht geöffnet ist oder nicht bereits von einem anderen Auftrag exklusiv reserviert ist.
Dateien der Benutzerkennung TSOS oder der System-Standardkennung können von anderen Benutzern nicht exklusiv reserviert werden.
Bei Angabe einer Dateigenerationsgruppe sind alle zugehörigen Dateigenerationen gegen fremde Zugriffe gesperrt.

WAIT = *PARAMETERS(...)
Bestimmt die Zeit, die der Auftrag auf die Erfüllung der Reservierungs-Anforderung maximal warten soll. Nach Ablauf der Wartezeit wird die Anforderung abgewiesen.
Die Wartezeit enthält auch die Zeit, die für das Zurückholen migrierter Dateien (HSMS-Funktion) benötigt wird.

TIME = *TASK-STD / <integer 1..2097152 seconds>
Gibt die maximale Wartezeit in Sekunden an. Die Genauigkeit liegt im Minutenbereich.Müssen Datenträger montiert werden, werden Reservierungen mit einer angegebenen Wartezeit von weniger als 180 Sekunden abgewiesen.

TIME = *TASK-STD
Voreingestellt ist TASK-STD:
Es wird zwischen Dialog- und Batchbetrieb unterschieden.
Dialogbetrieb:
Das Kommando wird abgewiesen, wenn angeforderte Betriebsmittel belegt sind und auf die Freigabe gewartet werden müsste.
Batchbetrieb:
Die Wartezeit ist „unbegrenzt“. Grundsätzlich wird im Rahmen der vorgegebenen Zeit auf Montage und Freiwerden der Betriebsmittel gewartet. Sind die Anforderungen nach Ablauf der Wartezeit nicht erfüllt, wird der Spin-Off-Mechanismus ausgelöst (Verzweigung zu /SET-JOB-STEP).

TIME = <integer 1..2097152 seconds>
Wartezeit in Sekunden: 0 <= integer <= 2097152 (ca. 582 Stunden oder 24 Tage); die Genauigkeit liegt im Minutenbereich.
Wird beim Operanden TIME eine Zahl < 180 angegeben, wird das Kommando abgewiesen, wenn ein Datenträger montiert werden muss oder für eine
Plattenanforderung die Bestätigung des Operators erforderlich ist.

EVENT = *ALL-MOUNT / *DISK-MOUNT
Gibt an, ob die Bereitstellung von Bändern innerhalb der angegebenen Wartezeit synchron oder asynchron zur Reservierung erfolgen soll, d.h. ob die Beantwortung von Mount- oder Premount-Meldungen abgewartet werden soll.
Montier-Anforderungen für Platten müssen immer innerhalb der Wartezeit erfüllt werden.

EVENT = *ALL-MOUNT
Der Auftrag wartet innerhalb der angegebenen Wartezeit so lange, bis alle angeforderten Datenträger montiert sind, d.h. bis der Operator alle MOUNT-Meldungen beantwortet hat. Die Montier-Anforderungen erfolgen in diesem Fall synchron.

EVENT = *DISK-MOUNT
Der Auftrag wartet nicht, wenn Bänder angefordert wurden; nur das Montieren von Privatplatten wird abgewartet. Das heißt, die Montier-Anforderung für Bänder erfolgt asynchron zur Reservierung, die Plattenanforderung dagegen synchron.
Trotz erfüllter Reservierung kann eine nachträgliche Montieraufforderung abgelehnt werden und damit einen Fehler verursachen (Spin-Off).

Kommando-Returncode

(SC2)

SC1

Maincode

Bedeutung


0

CMD0001

Kommando fehlerfrei ausgeführt


32

NKS0036

Interner Fehler


64

NKS0001

Banddatei offen oder im Zustand HOLD


64

NKS0003

Anforderung von Local- und Remote-Dateien


64

NKS0004

Anforderung einer Public-Platte


64

NKS0005

Unverträgliche Reservierungsmodi


64

NKS0006

Selbstblockade der Task (Deadlock)


64

NKS0007

Anforderung eines ungültigen Gerätetyps


64

NKS0009

Wartezeit zu kurz für Operator-Kontakt


64

NKS0013

Programm geladen und USE=SPECIAL-Belegungen


64

NKS0035

Betriebsmittel momentan nicht verfügbar


64

NKS0037

Abbruch wegen CANCEL-JOB oder Shutdown


64

NKS0044

Syntaxfehler im Kommando


64

NKS0045

Anforderung von Betriebsmitteln mehrerer Systeme


64

NKS0048

Operator konnte Datenträger nicht montieren


64

NKS0049

Angeforderte Betriebsmittel nicht im System verfügbar


64

NKS0050

Kommandoabbruch nach Ablauf der Wartezeit


64

NKS0051

Keine Exclusiv-Reservierung von Dateien unter der System-Standardkennung


64

NKS0052

Band nicht online (Wartezeit zu kurz)


64

NKS0064

Reservierung über Gerätetyp nicht erlaubt


64

NKS0065

Datei migriert und HSMS nicht geladen


64

NKS0066

Datei migriert und interner HSMS-Fehler


64

NKS0067

Datei migriert; Recall nicht ohne Verzögerung möglich


64

NKS0080

Semantikfehler; Ursache siehe SYSOUT-Meldung z.B. zu reservierende Datei nicht katalogisiert


64

NKS0098

Fehler bei RFA-Aufruf

Beispiele

Beispiel 1: Datei reservieren

Der Dialogauftrag DIALOG1 reserviert sich die Datei X.VORHER mit dem Kommando:

/sec-res file=par(name=x.vorher,alloc=*excl)

Daraufhin erhält der Dialogauftrag DIALOG2, der diese Datei mit dem Kommando SHOW-FILE lesen will, die Fehlermeldung DMS0D99:

/show-user-sta inf=*prog

%NAME      TSN TYPE        SIZE CURR-CMD
%DIALOG1  1CZI 3 DIALOG         SECURE-RESOURCE-ALLOCATION
%DIALOG2  1E1C 3 DIALOG         SHOW-USER-STATUS

/show-file x.vorher

%  SHO0003 'DMS' REPORTED ERROR '0D99'. COMMAND NOT PROCESSED

/help-msg dms0d99,lang=d

%  DMS0D99 DATEI SCHREIBGESCHUETZT ODER BEREITS IN BEARBEITUNG.
%  ? Moegliche Ursachen:
%    1) Versuch, eine gesperrte Datei zu oeffnen;
%    2) Versuch, eine READ-ONLY Datei anders als im INPUT Modus oder
%       REVERSE-INPUT Modus zu eroeffnen;
%    3) Versuch, eine ISAM oder PAM Datei mit SHARED-UPDATE Modus zu
%      eroeffnen, falls diese Datei bereits von einem anderen nicht SHAREUPD
%       eroeffnet wurde.
%    4) Versuch, eine ISAM oder PAM Datei mit einem Eroeffnungsmodus zu
%       eroeffnen, der das Eroeffnen der Datei verhindern soll,
%      wenn ein oder mehrere Benutzer die Datei schon geoeffnet haben.
%    5) Versuch, eine ISAM Datei mit LOCKENV=XCS zu eroeffnen.
%    6) Datei wird gerade von einem C-COPY Auftrag bearbeitet.
%  ! Korrigieren und spaeter erneut versuchen.

Beispiel 2: Reservierung mehrerer MBK-Geräte

/sec-res dev=((type=tape-c4,num=1,location=d023ze02),
              (type=tape-u4,num=1,location=d023ze02))
————————————————— (1)
/sec-res dev=((type=tape-c4,num=1,location=roboter1),
              (type=tape-u4,num=1,location=roboter2))
————————————————— (2)

(1)

Mit dem Kommando SECURE-RESOURCE-ALLOCATION werden je ein MBK-Gerät vom Typ TAPE-C4 und TAPE-U4 reserviert. Die Geräte sollen jeweils aus dem Lagerort D023ZE02 bereitgestellt werden.

(2)

Mit dem Kommando SECURE-RESOURCE-ALLOCATION werden je ein MBK-Gerät vom Typ TAPE-C4 und TAPE-U4 reserviert. Die Geräte sollen jeweils aus den Lagerorten ROBOTER1 und ROBOTER2 bereitgestellt werden.

Beispiel 3: Band reservieren

/set-logon-parameters ...

.
.
.

/sec-res tape=*par(vol=b0000a,type=tape) ————————————————————————— (1)
/start-prog from-f=prog.test
/sec-res
———————————————————————————————————————————————————————— (2)

(1)

Mit dem Kommando SECURE-RESOURCE-ALLOCATION wird ein Band mit dem Datenträgerkennzeichen B0000A für diesen Dialogprozess exklusiv reserviert. Zu diesem Zweck wird dem Auftrag ein 9-Spur-Bandgerät zugewiesen.

(2)

Alle reservierten Betriebsmittel des Auftrags werden freigegeben.

Siehe auch Beispiel zu dem Kommando SHOW-RESOURCE-ALLOCATION.