Makrotyp: S-Typ (E-Form/L-Form/D-Form/C-Form) (siehe "Typen von Makroaufrufen")
Der FILE-Makroaufruf bearbeitet permanente und temporäre Dateien (nicht EAM-Dateien) sowie Dateigenerationen. Er kann verwendet werden, um neue Dateien bzw. Katalogeinträge zu erstellen, Dateieigenschaften zu verändern sowie Dateien von privaten Datenträgern zu übernehmen.
Mit FILE können außer einer Schutzfrist (Operand RETPD) keine Dateischutzmerkmale wie Kennwörter, Zugriffsart usw. definiert oder verändert werden. Beim Erstellen eines Katalogeintrags mit FILE werden die entsprechenden Voreinstellungen des Systems übernommen. Anschließend können diese Werte mit einem CATAL-Makroaufruf verändert werden.
Über die Task File Table (TFT) stellt der FILE-Makroaufruf eine Verbindung her zwischen Programm und Datei, zwischen den im FILE-Makroaufruf bzw. im Katalogeintrag definierten Dateimerkmalen und dem FCB-Makroaufruf.
Hauptfunktionen des FILE-Makroaufrufs
Katalogeintrag erstellen für neue Dateien/Dateigenerationen
Geräte und Datenträger anfordern
Speicherplatz zuweisen oder freigeben
TFT-Eintrag erstellen mit Angaben zur Dateiverarbeitung (Datenstruktur, Öffnungsmodus usw.)
Datenorganisation auf Bändern definieren
Im Anschluss an diese Einleitung finden Sie eine Übersicht über die Funktionen des FILE-Makroaufrufs auf Operandenebene. Die einzelnen Themen (wie z.B. TFT, TST usw.) sind im Einführungsteil, d.h. in den ersten Kapiteln dieses Handbuches detailliert beschrieben.
Katalogeintrag
Ist die im FILE-Makroaufruf angegebene Datei/Dateigeneration noch nicht katalogisiert, wird ein Katalogeintrag erstellt. Ist sie bereits katalogisiert, greift das DVS bei Dateieröffnung auf den Katalogeintrag zu und aktualisiert ihn gegebenenfalls beim Schließen der Datei. Angaben zu den Operanden IOPERF, IOUSAGE, DEVICE, VOLUME, SPACE, DDEVICE, DVOLUME, DSPACE, STATE=FOREIGN (für Banddatei) und FSEQ (nur zum Teil) werden ausgewertet und in den Katalogeintrag übernommen, ansonsten werden die entsprechenden Voreinstellungen des Systems gesetzt. Angaben zu den übrigen Operanden im FILE-Aufruf werden nur im Zusammenhang mit einem Dateikettungsnamen ausgewertet und in den TFT-Eintrag übernommen.
Enthält der Katalogeintrag eine BASIC-ACL, ein DELDATE oder GUARDS, so kann mit FILE keine Banddatei erzeugt werden. (Ein FILE-Makro mit entsprechendem DEVICE-Operanden wird abgewiesen.)
Ist eine neu zu katalogisierende Datei/Dateigeneration auf privater Platte gespeichert, entnimmt das DVS die Werte für den Katalogeintrag dem F1-Kennsatz des ersten Datenträgers der Datei.
Beim Katalogisieren einer neuen Datei wird Folgendes gesetzt:
für BACKUP: | E für temporäre Datei und Arbeitsdatei; |
für MIGRATE: | FORBIDDEN bei Angabe einer zu einem SM-Pubset gehörenden Platte im Operanden VOLUME; |
für NUM-OF-BACKUP-VERS | 0 für temporäre Datei, für Datei auf privater Platte oder auf Band und für jede Dateigeneration; |
für CCS: | Zeichensatz (Coded Character Set) aus dem Benutzerkatalogeintrag des Dateieigentümers. Wenn dieser Zeichensatz gleich |
für NETCCS: | Das Net-Storage-Coded-Character-Set wird beim Anlegen eines Node-Files anhand seiner Definition im Benutzereintrag eingestellt. Das resultierende NETCCS der Datei wird gemäß folgender Tabelle ermittelt: |
CCS-Eintrag 1 | NETCCS-Eintrag 1 | Resultierendes NETCCS im Kata logeintrag des Node-Files |
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> |
1 Benutzereintrag (SYSSRPM) bzw. Angabe im CATALOG bzw. CREATE-FILE oder MODIFY-FILE-ATTRIBUTES
Falls eine Datei einen Katalogeintrag, jedoch noch keinen Plattenspeicher hat und durch den FILE-Aufruf Plattenspeicher auf einer privaten Platte erhalten soll, darf die Datei nicht verschlüsselt sein.
Wenn eine Datei einen Katalogeintrag, jedoch noch keinen Bandtyp hat und durch den FILE-Aufruf einen Bandtyp erhalten soll, so darf die Datei nur dann verschlüsselt sein, wenn es sich um eine Dateigeneration handelt. Diese wird dann entschlüsselt.
Beim Katalogisieren einer neuen Dateigeneration werden die Verschlüsselungsattribute vom Gruppeneintrag in den neuen Katalogeintrag übernommen. Dies gilt nicht für Dateigenerationen auf Band.
Dateikettungsname / Task File Table (TFT)
Ist im FILE-Makroaufruf mit dem LINK-Operanden ein Dateikettungsname angegeben, erzeugt das System einen Eintrag in der auftragsbezogenen TFT. In diesen TFT-Eintrag werden im aktuellen FILE-Makroaufruf angegebene Werte übernommen, auch NULL-Operanden werden berücksichtigt (siehe unten). Die Werte in der TFT werden bei Dateieröffnung in den Dateisteuerblock (FCB) übernommen.
Zum OPEN-Zeitpunkt befinden sich dann die Angaben bzgl. einer Datei im:
TFT-Eintrag
Dateisteuerblock (FCB) des Programms
Katalogeintrag der Datei
Aus dem Inhalt des Dateisteuerblocks wird später der Katalogeintrag aktualisiert (siehe OPEN- und CLOSE-Verarbeitung, Handbuch „Einführung in das DVS“ [1]).
Poolkettungsname / ISAM-Pools
Mit NK-ISAM werden ISAM-Dateien in ISAM-Pools verarbeitet. Die Verbindung Benutzer-ISAM-Pool und Datei wird über den Poolkettungsnamen hergestellt, der mit dem Operanden POOLLNK angegeben wird. Ohne Angabe eines Poolkettungsnamens wird die Datei in einem Standardpool des Systems bearbeitet.
Zugriffsmethoden
Mit dem FILE-Makroaufruf können – je nach Zugriffsmethode – Datenstrukturen definiert werden, z.B. Satzlänge, Blocklänge, usw.
Auf Besonderheiten und Wechselwirkungen der Operanden wird in der Operandenbeschreibung hingewiesen.
NULL-Operanden
Einige Operanden des FILE-Makros können in Verbindung mit einem Dateikettungsnamen als so genannte „NULL-Operanden“ angegeben werden. Dies bedeutet, dass bei dem entsprechenden Operanden kein Operandenwert angegeben wird (leere Zeichenfolge als Operandenwert).
Bei Dateieröffnung werden die Informationen für diese Dateimerkmale aus dem Katalogeintrag in den Dateisteuerblock (FCB) übernommen.
FILE datei,LINK=name,FCBTYPE=,RECFORM=,...
Folgende Operanden können in Verbindung mit einem Dateikettungsnamen als NULL-Operanden angegeben werden:
BLKCTRL, BLKSIZE, BUFOFF, CODE, FCBTYPE, FSEQ, IOPERF, IOUSAGE, KEYLEN, KEYPOS, LOGLEN, RECFORM, RECSIZE, VALLEN und VALPROP
Der Begriff „NULL-Operand“ ist nur für die o.g. Operanden des Makroaufrufes FILE zulässig. Auch bei anderen Makros ist es möglich, keinen Operandenwert anzugeben; dies führt dort aber in der Regel zur Übernahme der Voreinstellung bzw. des Standardwertes.
Version des FILE-Makroaufrufs
Mit dem Operanden VERSION wird gesteuert, welches Aufrufformat generiert wird. Ohne Angabe von VERSION bzw. bei Angabe von VERSION=0 werden Operandenliste und SVC für das alte Format (Stand BS2000 V9.0) erzeugt. Die zu BS2000 V9.5 neu eingeführten Operanden und die ab BS2000 V9.5 gültigen Gerätetypen werden ab VERSION=1 unterstützt. Neuerungen der BS2000-Versionen V10.0 bzw. BS2000/OSD-BC V1.0 – insbesondere das neue Layout der Operandenliste mit Auslagerung der variablen Teile in eigene Listen (siehe „Hinweise zur Programmierung") – können ab VERSION=2 genutzt werden.
Bild 7: Funktionen des FILE-Makroaufrufs
Funktionsübersicht
Operand | Operandenwert | Funktion / Bedeutung |
Datei benennen, katalogisieren, Kettungsnamen definieren | ||
pfadname |
|
|
DATATTR | gibt an, von welcher Referenzdatei beim Erzeugen eines TFT-Eintrags bestimmte Werte übernommen werden sollen, die | |
*DUMMY | Pseudodatei (DUMMY-Datei) definieren | |
LINK | name | Dateikettungsnamen definieren, für den ein TFT-Eintrag erstellt wird |
POOLLNK | name | für NK-ISAM-Dateien: Poolkettungsnamen für den Benutzer-ISAM-Pool definieren |
STATE | FOREIGN | Datei von privaten Datenträgern oder von einem Net-Storage-Volume vom Typ NETSTOR importieren |
Dateieigenschaften | ||
AVAIL | HIGH | Anforderungen bzgl. Ausfallsicherheit festlegen |
BLKCTRL | PAMKEY/ DATA/ DATA2K/ DATA4K/ NO | Dateiformat festlegen |
BLKSIZE | (STD,n) länge | Blocklänge als Vielfaches der PAM-Seite Nichtstandardblöcke (Banddateien) |
CODE | EBCDIC/ ISO7/ ISO7D/ OWN | Banddateien: Code |
EXC32GB | ALLOWED/ FORBIDDEN | Dateigröße für Plattendateien > 32 GB erlauben |
FCBTYPE | ISAM/ PAM/ SAM/ BTAM | Zugriffsmethode für die Datei |
KEYLEN | zahl | ISAM-Dateien: Länge des ISAM-Schlüssels |
KEYPOS | zahl | ISAM-Dateien: Position des ISAM-Schlüssels |
LOGLEN | zahl | ISAM-Dateien: Länge der logischen Markierung |
NFTYPE | BS2000/ NODE-FILE | Dateityp für Datei auf Net-Storage: |
RECFORM | V/F/U N/M/A | Satzformat: variabel/fest/undefiniert legt fest, ob Drucksteuerzeichen zu berücksichtigen sind |
RECSIZE | länge r | Satzlänge für RECFORM=F Register, das bei RECFORM=U die aktuelle Satzlänge enthält |
RETPD | tage | Schutzfrist für Datei |
STOCLAS | Datei beim Anlegen auf einem SM-Pubset eine Storage-Klasse zuweisen | |
VALLEN | zahl | ISAM-Dateien: Länge der Wertmarkierung |
WORKFIL | festlegen, ob die Datei auf einem Volume-Set für Arbeitsdateien oder auf einem Volume-Set mit permanenter Datenhaltung angelegt werden soll | |
Geräte und Datenträger anfordern | ||
DDEVICE | gerät | ISAM-Dateien: Gerätetyp für Datenteil bei Index-/Datentrennung |
DEVICE | gerät/ WORK | Gerätetyp definieren/Arbeitsband anfordern |
DVOLUME | (vsn,...) | ISAM-Dateien: Privatplatte für Datenteil bei Index-/Datentrennung |
FSEQ | UNK/NEW/zahl | Banddateien: in einer Dateimenge positionieren |
MOUNT | (zahl,...) | Montieraufforderung für private Datenträger |
TSET | (name,vsn) | Banddateien: definiert eine Bandmenge für die Erweiterung von Dateien oder Dateimengen |
TVSN | (vsn,...) | Banddateien: temporäre Datenträgerliste für die aktuelle Verarbeitung |
VOLSET | festlegen, auf welchem Volume-Set eines SM-Pubsets die Datei angelegt werden soll | |
VOLUME | (PRIVATE,n) (vsn,...) | private Datenträger anfordern Datenträgerliste definieren |
VSEQ | (L=(zahl,...)) | Banddateien: bezeichnet den gesuchten Dateiabschnitt |
Speicherplatzverwaltung für Plattendateien | ||
DSPACE | primär | ISAM-Dateien: Speicherplatzverwaltung für den Datenteil bei |
SPACE | primär (seite,zahl,ABS) | Plattendateien: Speicherplatzzuweisung oder Speicherplatzfreigabe
|
Öffnungsmodus, Verarbeitungseigenschaften | ||
BLIM | zahl | Banddateien: Maximalzahl logischer Blöcke pro Band |
BUFOFF | L/länge | Banddateien: Länge der Pufferverschiebung |
BYPASS | LP/(LP,n)/ | Banddateien: Kennsatzprüfung ausschalten |
CHAINIO | zahl | Banddateien: Kettungsfaktor |
CHKPT | NO/ ANY/ BLIM/ FEOV | Banddateien: automatisches Fixpunktschreiben |
CLOSE | RWD/ INVAL/ REPOS/ DISCON/ LEAVE/ | Band-/Plattendateien: Schließungsmodus für die Datei |
CLOSMSG | NO/ YES | SAM-Dateien: Meldungsausgabe nach Abschluss der CLOSE-Verarbeitung |
DESTOC | NO/ YES | Banddateien: Überschreiben von Restdaten |
DISKWR | BY-CLOSE/ IMMEDIATE | Zeitpunkt nach einer Schreiboperation festlegen, zu dem die Daten der Datei sich in einem konsistenten Zustand befinden müssen |
DUPEKY | YES/ NO | ISAM-Dateien: Mehrfachschlüssel zulässig |
IOPERF | HIGH/STD/ USER-MAX/ VERY-HIGH | Performance-Attribut der Datei festlegen |
IOUSAGE | RDWRT/ READ/ WRITE | gibt an, auf welche I/O-Operationen sich das Performance-Attribut (IOPERF) der Datei bezieht |
LABEL | (STD,zahl) NO NSTD | Banddateien: Datei mit Standardkennsätzen (entsprechend DIN 66029) Banddateien ohne Dateikennsätze Banddateien mit Nichtstandardkennsätzen |
LOCKENV | HOST/XCS | festlegen, ob die Datei gleichzeitig von verschiedenen Systemen aus zum Schreiben geöffnet sein kann |
OPEN | INPUT/ OUTPUT/ EXTEND/ INOUT/ OUTIN/ UPDATE/ SINOUT/ REVERSE | Öffnungsmodus für die Datei |
OVERLAP | YES/ NO | ISAM-Dateien: überlappende Verarbeitung |
PAD | zahl | ISAM-Dateien: Blockfüllung bei sequenzieller Dateierstellung |
POOLSIZ | Zahl | ISAM-Dateien: Größe des dateispezifischen ISAM-Pools |
SECLEV | HIGH/ LOW | Banddateien: Sicherheitsgrad |
SHARUPD | YES/ NO/ WEAK | ISAM-Dateien: Shared-Update-Verarbeitung
PAM-Dateien: Shared-Update-Verarbeitung
|
STREAM | NO/ YES | BTAM-Banddateien: Ein/Ausgaben im Streaming-Modus ermöglichen |
TAPEWR | DEVICE-BUFFER/ IMMEDIATE | Dateien auf Magnetbandkassetten: |
TPMARK | YES/ NO | Banddateien: Abschnittsmarken schreiben |
TRANS | YES /NO | Nicht-EBDIC-Banddateien umsetzen |
VALPROP | MIN/ MAX | K-ISAM-Dateien: Auswertung der Wertmarkierungen steuern |
WRCHK | NO/ YES | Plattendateien: Kontroll-Lesen bzgl. Aufzeichnungsfehler |
WROUT | NO/ YES | ISAM-Dateien: sofortiges Zurückschreiben geänderter Blöcke |
Steuerung der Makrogenerierung | ||
MF | D / C / L / E | Operandenlisten / Funktionsaufruf |
PREFIX | Präfix für Namen in Operandenlisten | |
VERSION | 0 / 1 / 2 / 3 | Versionseinstellung für den Makroaufruf |
Format
Operation | Operanden |
|
|
Voreinstellung der Operanden
Für die FILE-Operanden, bei denen keine Voreinstellung explizit beschrieben wird und zu denen ein entsprechender FCB-Operand existiert, gilt Folgendes: Ist der Operand im FILE-Makroaufruf nicht angegeben, wird dies im TFT-Eintrag vermerkt. Der für die Dateiverarbeitung gültige Wert des Operanden ergibt sich dann aus den Angaben im FCB-Makroaufruf.
Ist der Operand auch im FCB-Makroaufruf nicht angegeben, wird die Voreinstellung des FCB-Makros wirksam, sofern sie nicht von OPEN durch den entsprechenden Wert aus dem Katalogeintrag oder einen anderen Wert überschrieben wird.
Operandenbeschreibung
Die Formen des MF-Operanden sind detailliert im Anhang ("Typen von Makroaufrufen") beschrieben. In allen Makroaufrufen, die sich durch den MF-Operanden unterscheiden (MF=L/E/D/C), muss der Versionsoperand den gleichen Wert haben.
pfadname
bezeichnet den Pfadnamen der Datei(en) oder Dateigeneration(en) mit:
<c-string 1..54: filename 1..54>
„pfadname“ darf keine Dateigenerationsgruppe sein.
Ist „pfadname“ noch nicht katalogisiert, wird ein Katalogeintrag erstellt und der Datei entsprechend der Primärzuweisung (siehe Operand SPACE, "FILE - Dateimerkmale definieren/Dateiverarbeitung steuern") Speicherplatz zugewiesen. Wird eine temporäre Datei angegeben, so muss sie von der aufrufenden Task angelegt worden sein.
Folgende Elemente können NICHT auf einem Net-Storage-Volume angelegt werden:
Dateien mit PAM-Key
Dateigenerationen
Arbeitsdateien
temporäre Dateien
Pfadname bedeutet [:catid:][$userid.]dateiname
catid
Katalogkennung;
Default-Catid: die der Userid zugeordnete Katalogkennung;
Gehört die Katalogkennung zu einem Remote-System, zu dem eine RFA-Verbindung besteht, so wird der FILE-Aufruf mit der Parameterliste über RFA an das Remote-System geschickt.
userid
Benutzerkennung;
Default-Userid: die Benutzerkennung des Kommandos SET-LOGON-PARAMETERS bzw. LOGON.
Falls die Datei nicht bereits als mehrbenutzbar katalogisiert ist oder falls Speicherplatz freigegeben wird, darf eine fremde Benutzerkennung nur dann angegeben werden, wenn die aufrufende Task das Privileg TSOS besitzt oder Miteigentümer der Datei ist.
dateiname
vollqualifizierter Name einer Datei oder Dateigeneration. Für Banddateien kann er in Klammern am Ende eine Versionsnummer enthalten.
*DUMMY
Der FILE-Makroaufruf beschreibt eine Pseudodatei (= DUMMY-Datei). Wenn gleichzeitig der LINK-Operand angegeben wird, wird ein TFT-Eintrag mit Datenträgerliste erstellt. In Zusammenhang mit dem TSET-Operanden wird auch ein TST-Eintrag erstellt. Alle übrigen Operanden im FILE-Makroaufruf werden nur auf formale Richtigkeit überprüft, aber nicht ausgewertet; es werden weder Geräte noch Datenträger angefordert oder Speicherplatz zugewiesen noch wird ein Katalogeintrag erstellt.
DUMMY-Datei als Eingabedatei: beim Leseversuch wird die Dateiende-Bearbeitung (EOF-Verarbeitung) angestoßen. DUMMY-Datei als Ausgabedatei: die Daten werden zwar in die Pufferbereiche des Programms übertragen, die Ausgabe auf einen Datenträger wird jedoch unterdrückt.
AVAIL = HIGH
Nur ab VERSION=3 und nur relevant für Dateien auf Pubsets und Net-Storage-Volumes:
Die Datei soll eine erhöhte Ausfallsicherheit haben und wird auf einem entsprechenden Volume-Set (z.B. DRV) angelegt.
Die Angabe wird in folgenden Fällen abgewiesen:
die Datei belegt bereits Speicherplatz
SPACE ist mit nichtpositiver Primärzuweisung angegeben
WORKFIL=YES ist angegeben
eine temporäre Datei ist angegeben
die Datei kommt auf einem SF-Pubset ohne erhöhte Ausfallsicherheit zu liegen
die Datei kommt auf einem SM-Pubset zu liegen, der kein Volume-Set mit erhöhter Ausfallsicherheit enthält
die Datei kommt auf einer Privatplatte zu liegen
es ist eine Banddatei angegeben
BLIM = zahl
Zum Neuerstellen von Banddateien mit Standardkennsätzen, die mit der Zugriffsmethode SAM verarbeitet werden sollen:
„zahl“ gibt an, wie viele Datenblöcke auf ein Band geschrieben werden dürfen.
1 <= zahl <= 999999.
Bei Erreichen des Grenzwerts wird Bandwechsel veranlasst (EOV-Verarbeitung); falls mit CHKPT-Operand gefordert, wird zuvor noch ein Fixpunkt an das Bandende geschrieben. Ist das Bandende erreicht, bevor die mit BLIM festgelegte Anzahl Blöcke geschrieben wurde, erhält der Benutzer eine Fehlermeldung im FCB.
Ist BLIM angegeben, so werden folgende Angaben abgewiesen: FCBTYPE=PAM/BTAM/ISAM, LABEL=NO/STD, FSEQ=n mit n>1 und FSEQ=UNK/NEW.
BLKCTRL
Nur ab VERSION=1:
legt fest, ob eine Datei des K-Formats (mit PAM-Schlüssel) oder des NK-Formats (ohne PAM-Schlüssel) zu verarbeiten ist. BLKCTRL ist relevant für das vorläufige Dateiformat.
Für die Verarbeitung von NK-SAM- und NK-PAM-Dateien stehen die gleichen Funktionen mit identischen Anwenderschnittstellen zur Verfügung wie für die entsprechenden K-Dateien. Bei NK-ISAM-Dateien bietet die Zugriffsmethode NK-ISAM Funktionen an, die über die des K-ISAM hinausgehen, z.B. die Verarbeitung von ISAM-Dateien in ISAM-Pools oder die Verwendung von Sekundärschlüsseln (siehe Handbuch „Einführung in das DVS“ [1]). Intern unterscheiden sich NK-ISAM- und K-ISAM-Verarbeitung, an der Anwender-schnittstelle ergeben sich jedoch nur geringfügige Änderungen bzgl. der Auswirkung ISAM-spezifischer Operanden (siehe nachfolgende Tabelle).
Operand | BLKCTRL= PAMKEY | BLKCTRL= DATA/DATA2K/DATA4K |
DDEVICE | Index-/Datentrennung bei ISAM-Dateien auf Privatplatten | Index-/Datentrennung wird nicht unterstützt, Operanden können jedoch angegeben werden |
DUPEKY | Sätze mit gleichen Schlüsseln erhalten intern einen Zeitstempel | |
LOGLEN | Länge der logischen Markierung | Operand wird ignoriert |
POOLLNK | Verbindung zu Benutzer-ISAM-Pool | |
OVERLAP | Leseoperationen werden | benachbarte Blöcke werden ebenfalls in den ISAM-Pool eingelesen |
PAD | Mindestangabe | Maximal-Angabe für freien Bereich im Datenblock |
SHARUPD | Blocksperren | Satz- oder Bereichssperren |
VALLEN | Länge der Wertmarkierung | Operand wird ignoriert |
VALPROP | Wertmarkierung wird ausgewertet | wird ignoriert |
Wird der Operand BLKCTRL nicht angegeben (weder TFT noch FCB), so wird der Datei nach dem Eröffnen folgender BLKCTRL-Wert zugewiesen (sofern nicht der Wert aus dem Katalogeintrag übernommen wird):
BLKCTRL = PAMKEY | für Dateien auf herkömmlichen (CKD-) Platten |
BLKCTRL = DATA | für SAM- oder ISAM-Dateien auf den neuen (FBA-) Platten (ohne PAM-Schlüssel-Simulation) |
BLKCTRL = NO | für PAM-Dateien auf den neuen (FBA-) Platten (ohne PAM-Schlüssel-Simulation) |
= *BY-PROG
Nur ab Version=3 und nur relevant bei Angabe des Operanden DATATTR:
Der BLKCTRL-Wert aus dem Katalogeintrag der Referenzdatei wird ignoriert.
= PAMKEY
Die Datei hat K-Format:
Die Blockkontrollinformation wird außerhalb des Datenblocks in einem PAM-Schlüssel abgelegt. Eine solche K-Datei kann nicht auf einer NK-Platte (FBA-Platte ohne PAM-Schlüssel-Simulation) oder auf einem Net-Storage-Volume angelegt werden.
= NO
Die Angabe ist nur für PAM-Dateien und SAM-Banddateien sinnvoll; bei SAM-Plattendateien wird sie in BLKCTRL=DATA, bei ISAM-Dateien in BLKCTRL=DATA2K bzw. BLKCTRL=DATA4K umgewandelt.
Wird FCBTYPE=PAM angegeben, so wird eine NK-PAM-Datei angelegt, die keine blockspezifische Verwaltungsinformation enthält.
Diese Datei kann unabhängig von der gewählten logischen Blocklänge (BLKSIZE) sowohl auf K-Platte als auch auf NK2-Platte angelegt werden.
Wird als logische Blocklänge (BLKSIZE) ein Vielfaches von 4K angegeben (Blockungsfaktor „n“ geradzahlig), kann die Datei auch auf einer NK4-Platte angelegt werden.
= DATA
Die Datei hat NK-Format: Die Blockkontrollinformation steht zu Beginn eines jeden logischen Blockes (bei ISAM-Dateien am Beginn eines jeden 2-KByte- bzw. 4-KByte-Blocks). Eine NK-Datei kann sowohl auf K-Platte, auf NK2-Platte und bei entsprechend gewählter Blocklänge auch auf NK4-Platte liegen. Beim Neuanlegen einer Datei (OPEN OUTPUT/OUTIN) wird eine NK2- oder eine NK4-Datei erstellt:
Für Dateien, die mit anderen Zugriffsmethoden als ISAM erstellt wurden, gilt in Abhängigkeit des Blockungsfaktors „n“ bei der Angabe der logischen Blocklänge mit BLKSIZE Folgendes:
Ist der Blockungsfaktor n eine ungerade Zahl wird eine NK2-Datei angelegt
Ist der Blockungsfaktor n eine gerade Zahl wird eine NK4-Datei angelegt
Beim Erstellen einer NK-ISAM-Datei (OPEN OUTPUT/OUTIN) wird das Dateiformat in Abhängigkeit des Plattenformats gewählt. Eine bereits geöffnete Datei kann unabhängig vom Blockformat geöffnet werden.
= DATA2K
Nur ab VERSION=2, für ISAM-Dateien:
Spezialisierung von „DATA“ für NK-ISAM-Dateien.
Beim Erstellen (OPEN OUTPUT/OUTIN) wird explizit eine NK2-ISAM-Datei erzeugt. Beim Eröffnen bestehender Dateien wird geprüft, ob es sich um eine NK2-ISAM-Datei handelt.
Die blockspezifische Verwaltungsinformation wird in den ersten 16 Byte eines jeden Datenblockes hinterlegt. Eine Datei mit dieser Angabe kann nicht auf einer NK4-Platte angelegt werden. Eine Datei, die auf NK4-Platte liegt, kann mit dieser Angabe nicht eröffnet werden.
= DATA4K
Nur ab VERSION=2, für ISAM-Dateien:
Spezialisierung von „DATA“ für NK-ISAM-Dateien.
Beim Erstellen (OPEN OUTPUT/OUTIN) wird explizit eine NK4-ISAM-Datei erzeugt. Beim Eröffnen bestehender Dateien wird geprüft, ob es sich um eine NK4-ISAM-Datei handelt.
Die blockspezifische Verwaltungsinformation wird in den ersten 16 Byte eines jeden 4-KByte-Blockes hinterlegt. Wird ein Blockungsfaktor n angegeben, so muss n eine gerade Zahl sein, d.h. die logische Blockgröße muss ein Vielfaches von 4-KByte betragen.
Die Datei kann auf K-, NK2- und NK4-Platte angelegt bzw. dort eröffnet werden.
BLKSIZE
legt die Länge des logischen Blocks fest, d.h. die Länge der Übertragungseinheit von und zu den Ein-/Ausgabegeräten. BLKSIZE ist relevant für das vorläufige Dateiformat.
Wird der Operand BLKSIZE nicht angegeben (weder TFT noch FCB), so wird der Datei nach dem Eröffnen folgender BLKSIZE-Wert zugewiesen (sofern nicht der Wert aus dem Katalogeintrag übernommen wird):
K-/NK2-Datenträger: BLKSIZE = STD
NK4-Datenträger: BLKSIZE = (STD,2)
Für Plattendateien ergeben sich Wechselwirkungen mit dem SPACE- und dem RECSIZE-Operanden, für Banddateien mit dem LABEL-Operanden (siehe die beiden Tabellen unter BLKSIZE=länge auf "FILE - Dateimerkmale definieren/Dateiverarbeitung steuern").
K-Plattendateien/Banddateien mit Standardblöcken: Logische Blöcke können aus mehreren PAM-Seiten bestehen. Das System verknüpft die zu einer Übertragungseinheit zusammengefassten PAM-Seiten automatisch.
Banddateien mit Nichtstandardblöcken: das Blockformat entspricht nicht dem des PPAM; der logische Block ist definiert durch die Anzahl Bytes, die pro Schreib-/Leseoperation geschrieben/gelesen werden.
= *BY-PROG
Nur ab Version=3 und nur relevant bei Angabe des Operanden DATATTR:
Der BLKSIZE-Wert aus dem Katalogeintrag der Referenzdatei wird ignoriert.
= STD
entspricht der Angabe (STD,1); siehe unten.
Die Daten werden in Einheiten von 2048 Byte von/zu den Geräten übertragen; die für Anwenderdaten nutzbare Länge der Übertragungseinheit ist abhängig von der BLKCTRL-Angabe (bzw. dem Plattentyp).
= (STD,n)
„STD“ ist ein Standardblock der Größe 2048 Byte; „n“ ist der Blockungsfaktor
(1 <= n <= 16)
Jeder logische Block besteht aus n PAM-Blöcken (1 PAM-Block/1 PAM-Seite = 2048 Byte), d.h. die max. Länge des logischen Blocks ist 16 PAM-Seiten = 32768 Byte.
Für NK-Dateien legt „n“ die Länge des logischen Blockes als Vielfaches von 2048 Byte fest: Die Länge eines solchen Blockes beträgt n * 2048 Byte.
Für NK4-Dateien muss „n“ eine gerade Zahl sein, d.h. die Länge des logischen Blocks ist ein Vielfaches von 4-KByte. Für eine NK4-ISAM-Datei muss zusätzlich für den Operanden BLKCTRL der Operandenwert DATA4K angegeben sein.
Für SAM-Dateien, SETL-Verarbeitung: in jedem logischen Block dürfen höchstens 255 Sätze stehen, da die Positionierungsinformation nur 1 Byte lang ist. Diese Einschränkung entfällt bei der Verwendung eines 31-Bit-fähigen FCB.
= länge
Für Banddateien:
gibt die maximale Blocklänge in Byte an und legt gleichzeitig fest, dass die Datei aus Nichtstandardblöcken besteht, es wird kein PAM-Schlüssel geführt.
Es sind zum einen die Operanden BUFOFF und RECFORM zu berücksichtigen, zum anderen FCBTYPE und CHAINIO.
Operand RECFORM | Auswirkung |
RECFORM=F | „länge“ gibt die Blocklänge einschließlich Länge der Pufferverschiebung an (siehe Operand BUFOFF); |
RECFORM=V/U | „länge“ gibt die maximale Blocklänge einschließlich der Länge der Pufferverschiebung (siehe Operand BUFOFF) an, d.h. die Blocklänge ist (wie die Satzlänge) variabel; |
Operand FCBTYPE | zulässige Angabe für „länge“ |
SAM / BTAM | 1 <= n <= 32768 |
PAM | ------- |
BUFOFF
Für Banddateien mit BLKCTRL=DATA oder SAM-Banddateien ohne Standardblockung:
legt die Pufferverschiebung (Buffer Offset) fest, d.h. die Länge eines Feldes, das am Anfang eines jeden Datenblocks eingefügt wird.
Wird der Operand BUFOFF nicht angegeben (weder TFT noch FCB), so wird der Datei nach dem Eröffnen folgender BUFOFF-Wert zugewiesen (sofern nicht der Wert aus dem Katalogeintrag übernommen wird):
für Banddateien mit BLKCTRL=DATA
bei FCBTYPE=SAM: BUFOFF=16
bei FCBTYPE=PAM: BUFOFF=12
für SAM-Banddateien ohne Standardblockung
bei RECFORM=V: BUFOFF=4
bei RECFORM=F/U: BUFOFF=0
= *BY-PROG
Ab Version=3 und nur relevant bei Angabe des Operanden DATATTR:
Der BUFOFF-Wert aus dem Katalogeintrag der Referenzdatei wird ignoriert.
= L
Der BUFOFF-Wert wird dem HDR2-Kennsatz der Datei entnommen. Ist kein HDR2-Kennsatz vorhanden oder enthält das Feld „Pufferverschiebung“ Leerzeichen (X'4040'), so treten dieselben Werte in Kraft wie bei fehlender BUFOFF-Angabe (weder TFT noch FCB).
= länge
gibt die Länge der „Pufferverschiebung“ an.
Für SAM-Dateien mit RECFORM=V gilt: 0 <= länge <= 4; ist BUFOFF=4, enthält dieses Feld die aktuelle Blocklänge. Bei Dateien mit BLKCTRL=DATA enthält es das Blockkontrollfeld.
BYPASS
Für Eingabedateien auf Band:
Wenn für die Benutzerkennung die Berechtigung dazu im Benutzerkatalog eingetragen ist, kann der Benutzer auf Kennsatzprüfung verzichten und angeben, wie das Band positioniert werden soll. Das DVS prüft, ob das richtige Band montiert ist, die Anwenderroutinen zur Kennsatzbehandlung werden normal aktiviert. Die Positionierungsangabe wird nur ausgewertet, wenn kein OPEN-Exit definiert ist.
Neben der Kennsatzprüfung entfällt auch die Codeprüfung.
Der Anwender muss bei CODE=OWN eigene Code-Tabellen zur Verfügung stellen.
BYPASS ermöglicht die Verarbeitung von Bändern, die unter anderen Betriebssystemen (z.B. BS1000) erstellt wurden oder deren Aufbau und Kennsatzformate dem System nicht bekannt sind. Die BYPASS-Angabe gilt nur während der Dateiverarbeitung, sie wird nicht in den Katalog aufgenommen.
In Zusammenhang mit BYPASS werden FSEQ- und SECLEV-Operand nicht ausgewertet.
= LP
Es erfolgt keine Kennsatzbehandlung; Anfangskennsätze werden weder geprüft noch gelesen; die Bandposition wird nicht verändert.
= (LP,n)
Es erfolgt keine Kennsatzbehandlung, das Band wird beim Eröffnen der Datei auf die n-te Abschnittsmarke ab Bandanfang positioniert; 0 <= n <= 32767
(LP,0): Positionieren auf Bandanfang
= (LP,+n)
Es erfolgt keine Kennsatzbehandlung; das Band wird bei Dateieröffnung um n Abschnittsmarken ab der aktuellen Bandposition vorpositioniert; 0 <= n <= 127
(LP,+0): das Band wird nicht neu positioniert
= (LP,-n)
Es erfolgt keine Kennsatzbehandlung; das Band wird bei Dateieröffnung um n Abschnittsmarken ab der aktuellen Bandposition zurückpositioniert; 0 <= n <= 127
(LP,-0): das Band wird nicht neu positioniert
CHAINIO = zahl
Für BTAM-Dateien bei geketteter Ein-/Ausgabe:
1 <= zahl <= 16
„zahl“ ist der Kettungsfaktor, der die Länge der Transporteinheit/Übertragungseinheit bei der Ein-/Ausgabe festlegt. „zahl“ bezeichnet dabei eine Anzahl Blöcke, sodass sich die Länge der Transporteinheit berechnet aus zahl * BLKSIZE.
Obwohl bei der Verarbeitung von BTAM-Dateien Angaben im Programm (BTAM-Makroaufruf) gegenüber dem Produkt „zahl“ * BLKSIZE überwiegen, muss CHAINIO im FILE-Kommando angegeben werden, wenn mit geketteter Ein-/Ausgabe gearbeitet wird.
CHKPT
Für Banddateien:
steuert, ob und wann automatisch ein Fixpunkt an das Bandende zu schreiben ist oder wie die Datei bei Wiederanlauf (RESTART-Kommando) weiterverarbeitet werden soll.
Voreinstellung: CHKPT=(NO,ACTIVE)
= (NO,...)
Es erfolgt keine automatische Fixpunktschreibung, sofern im FCB des Programms nichts anderes festgelegt ist.
= (BLIM,...)
Wenn das mit dem BLIM-Operanden gesetzte Blocklimit erreicht ist, wird automatisch ein Fixpunkt geschrieben; der Operand BLIM muss angegeben werden.
= (FEOV,...)
Bei jedem FEOV-Makroaufruf wird automatisch ein Fixpunkt geschrieben.
= (ANY,...)
Ein Fixpunkt wird automatisch geschrieben, wenn die mit BLIM gesetzte Grenze erreicht ist oder ein FEOV-Makro aufgerufen wird; der Operand BLIM muss angegeben werden.
= (...,DUMMY)
„pfadname“ wird bei einem Wiederanlauf mit dem Kommando RESTART-PROGRAM wie eine DUMMY-Datei behandelt.
= (...,ACTIVE)
Die Datei „pfadname“ wird bei einem Wiederanlauf (Kommando RESTART-PROGRAM) weiterverarbeitet.
CLOSE
Nur ab VERSION=2:
gibt an, mit welchem CLOSE-Modus die Datei geschlossen werden soll. Diese Angabe kann bei Dateischließung durch den CLOSE-Makroaufruf überschrieben werden.
Voreinstellung: Der CLOSE-Wert wird dem CLOSE-Makroaufruf entnommen.
Zur CLOSE-Verarbeitung siehe Handbuch „Einführung in das DVS“ [1].
= RWD
Für Bandverarbeitung:
positioniert das Band auf Bandanfang.
= REPOS
Für Bandverarbeitung:
positioniert das Band abhängig von der LABEL-Angabe auf den Anfang des aktuellen Dateiabschnitts.
= DISCON
Für Bandverarbeitung:
Das Band wird auf Bandanfang positioniert und entladen/freigegeben.
= LEAVE
Für Bandverarbeitung:
positioniert das Band abhängig von der LABEL-Angabe auf das logische Dateiende.
= INVAL
Die im Cache stehenden Blöcke der Datei werden invalidiert, d.h. als ungültig gekennzeichnet. Sie werden nicht auf die Platte zurückgeschrieben (Achtung bei Shared-Update-Verarbeitung).
= KEEP-DATA-IN-CACHE
Nur ab VERSION=3:
Im Cache stehende Blöcke der Datei werden nicht auf die Platte zurückgeschrieben, bleiben aber als gültig gekennzeichnet.
CLOSMSG
Nur ab VERSION=1:
Für sequenziell zu verarbeitende Dateien (SAM) kann der Anwender bestimmen, ob nach der CLOSE-Verarbeitung eine Abschlussmeldung ausgegeben werden soll (nach SYSOUT). Wird der Operand CLOSMSG nicht angegeben, so wird der Datei nach dem Eröffnen folgender CLOSMSG-Wert zugewiesen:
Platte: CLOSMSG = NO
Band: CLOSMSG = YES
= NO
Die Abschlussmeldung wird unterdrückt.
= YES
Die Abschlussmeldung wird ausgegeben.
CODE
Für Bandverarbeitung:
legt für SAM- oder BTAM-Dateien fest, ob und welche Umsetzungstabellen bei Ein-/Ausgabe verwendet werden.
Wird der Operand CODE nicht angegeben (weder TFT noch FCB), so wird der Datei nach dem Eröffnen folgender CODE-Wert zugewiesen (sofern nicht der Wert aus dem Katalogeintrag übernommen wird):
CODE = EBCDIC
Bei CODE=EBCDIC und CODE=ISO7 haben deutscher und internationaler Zeichensatz die gleiche Verschlüsselung.
Bei CODE=ISO7/OWN und FCBTYPE=SAM ist Folgendes zu beachten:
die Blocklänge muss mit BLKSIZE=länge definiert werden, damit kein PAM-Schlüssel geschrieben wird;
bei Ausgaben im Locate-Mode ändert sich bei variablem Satzformat (RECFORM=V) der Inhalt des Satzlängenfeldes.
= *BY-PROG
Nur ab Version=3 und nur relevant bei Angabe des Operanden DATATTR:
Der CODE-Wert aus dem Katalogeintrag der Referenzdatei wird ignoriert.
= EBCDIC
Bei der Verarbeitung ist keine Code-Umsetzung erforderlich.
= ISO7
Die Banddatei ist/wird mit dem ISO-7-Bit-Code geschrieben, d.h. bei der Ausgabe wird EBCDI-Code in ISO-7-Bit-Code umgesetzt, bei der Eingabe ISO-7-Bit-Code in EBCDI-Code. Dabei wird die internationale ISO-Tabelle verwendet.
= ISO7D
Nur ab VERSION=3:
Die Banddatei ist/wird mit dem ISO-7-Bit-Code geschrieben, d.h. bei der Ausgabe wird EBCDI-Code in ISO-7-Bit-Code umgesetzt, bei der Eingabe ISO-7-Bit-Code in EBCDI-Code. Dabei wird die deutsche ISO-Tabelle verwendet.
= OWN
Die Umsetzung erfolgt über vom Benutzer erstellte Tabellen, deren Adressen im FCB-Makroaufruf angegeben werden müssen (siehe Makro FCB, Operanden TRTADR, TRTADW, "FCB - Dateisteuerblock definieren"). Gleichzeitig muss im LABEL-Operanden die Kennsatzverarbeitung ausgeschaltet werden (LABEL=NO) oder mit LABEL=NSTD die Kennsatzverarbeitung ins Benutzerprogramm verlagert werden.
DATATTR = (*FROM-FILE,<c-string: filename 1..54>)
Nur ab VERSION=3:
Aus dem Katalogeintrag der hier angegebenen Referenzdatei werden beim Erzeugen eines TFT-Eintrags folgende Werte in den TFT-Eintrag übernommen, wobei allerdings explizit angegebene Werte Vorrang haben:
BLKCTRL, BLKSIZE, BUFOFF, CODE, FCBTYPE, KEYLEN, KEYPOS, LABEL, LOGLEN, RECFORM, RECSIZE, VALLEN, VALPROP
Die Referenzdatei muss im selben Pubset katalogisiert sein, wie die Datei, auf die sich der FILE-Aufruf bezieht. Der Aufrufer muss die Berechtigung haben, den Katalogeintrag der Referenzdatei (mit FSTAT oder /SHOW-FILE-ATTRIBUTES) zu lesen.
Die im Katalogeintrag der Referenzdatei enthaltenen Werte für BLKCTRL und BLKSIZE werden bei der Bildung des vorläufigen Dateiformats berücksichtigt.
Ist bei einem der oben aufgeführten Operanden der Wert *BY-PROG angegeben, so wird die Übernahme des entsprechenden Wertes aus dem Katalogeintrag der Referenzdatei unterdrückt und kein Wert in den TFT-Eintrag aufgenommen.
Beispiel
Es wird eine Referenzdatei angegeben, deren Katalogeintrag für BLKCTRL den Wert PAMKEY enthält. Dann gilt:
im FILE-Aufruf angegebener BLKCTRL-Wert | BLKCTRL-Wert im TFT-Eintrag |
keiner | PAMKEY |
*BY-PROG | keiner |
DATA | DATA |
DDEVICE = <name 1..8>
Für ISAM-Dateien mit Index-/Datentrennung:
Mit DDEVICE wird der Plattentyp für den Datenteil benannt (für den Indexteil mit DEVICE); mögliche Angaben für „gerät“ sind der Gerätetabelle im Handbuch „Systeminstallation [16] zu entnehmen. Die ab BS2000 V9.5 neu eingeführten Gerätetypen werden nur ab VERSION=1 unterstützt. DDEVICE muss angegeben werden, wenn für die Datei noch kein Speicherplatz reserviert wurde. Ist DDEVICE angegeben, so müssen auch DVOLUME und DSPACE angegeben werden.
Ist bei DVOLUME mindestens ein Datenträgerkennzeichen angegeben, wird jede Angabe eines dem System bekannten Plattengerätetyps wie die Angabe STDDISK behandelt.
NK-ISAM unterstützt keine Index-/Datentrennung, DDEVICE kann aber angegeben werden (Kompatibilität zu K-ISAM).
DESTOC
Für Bandverarbeitung ab VERSION=1:
Der Anwender kann bestimmen, ob im Anschluss an die EOF-/EOV-Verarbeitung weitere auf dem Band stehende Daten durch Überschreiben gelöscht werden sollen.
DESTOC wirkt sich nur aus, wenn für „pfadname“ mit dem LINK-Operanden ein TFT-Eintrag eingerichtet wird.
Wird der Operand DESTOC nicht angegeben, so wird beim Eröffnen der Datei die DESTROY-Angabe aus dem Katalogeintrag übernommen.
DESTOC hat die gleiche Funktion wie der Operand DESTROY im CATAL-Makro, die DESTOC-Angabe hat jedoch Vorrang vor dem DESTROY-Wert im Katalogeintrag. Der Wert für DESTOC wird nicht in den Katalogeintrag übernommen.
= NO
Das Löschen bis zum Bandende unterbleibt.
= YES
Nach Schreiben der EOF-/EOV-Kennsätze wird der Rest der Daten bis zum Bandende gelöscht.
DEVICE
definiert den Plattengerätetyp bzw. Bandtyp.
Wenn bei VOLUME eine Privatplatte angegeben wird, die nicht im MAREN-Katalog steht, dann muss der Operand DEVICE angegeben werden.
Voreinstellungen
Wenn die Datei vor dem FILE-Aufruf noch keinen Speicherplatz hat und durch den FILE-Aufruf Speicherplatz erhält, dann gilt:
Ist DEVICE=STDDISK angegeben und weder VOLUME noch NFTYPE angegeben, so wird die Datei auf gemeinschaftlichen Platten angelegt (und auch bei künftigen Erweiterungen nicht auf einem Net-Storage-Volume):
Ist DEVICE=NETSTOR (der Volumetyp für Net-Storage-Volumes) angegeben und VOLUME nicht angegeben, so wird die Datei auf einem Net-Storage-Volume angelegt.
Wenn weder DEVICE noch VOLUME angegeben sind, gilt:
Ohne Angabe von NFTYPE wird die Datei auf gemeinschaftlicher Platte angelegt.
Bei Angabe von NFTYPE wird die Datei des angegebenen Dateityps auf einem beliebigen Net-Storage-Volume angelegt, sofern ein solches vorhanden ist.
Künftige Erweiterungen können hier ein abweichendes Verhalten ermöglichen.
= <name 1..8>
bestimmt den Gerätetyp bei Plattengeräten bzw. den Volumetyp bei Net-Storage-Volumes und Bandgeräten.
Mögliche Angaben für Plattengeräte sind der Gerätetabelle im Handbuch „Systeminstallation [16] zu entnehmen (Spalte Gerätetyp), zulässige Werte für Bandgeräte der Volumetyp-Tabelle (siehe Handbuch „Kommandos [3]).
DEVICE=NETSTOR (der Volumetyp für Net-Storage-Volumes) spezifiziert ein Net-Storage-Volume.
Mit DEVICE=TAPE können keine Magnetbandkassetten angefordert werden.
Wird beim Einrichten einer Datei für DEVICE ein Bandtyp angegeben, jedoch für VOLUME keine Angabe gemacht, so wird bei der OPEN-Verarbeitung ein freies Band mit Standardkennsätzen (SCRATCH-TAPE) angefordert und vom Operator zugewiesen. Ein Band ist aus der Sicht des DVS frei, wenn es entweder noch nicht beschrieben wurde oder wenn die Sperrfrist der ersten Datei auf dem Band abgelaufen und Schreibzugriff erlaubt ist.
Ist bei VOLUME mindestens ein Datenträgerkennzeichen angegeben, wird jede Angabe eines dem System bekannten Plattengerätetyps wie die Angabe STDDISK behandelt.
= WORK
Nur für Bandverarbeitung:
bewirkt, dass bei der OPEN-Verarbeitung ein Arbeitsband mit Standardkennsätzen angefordert wird.
Arbeitsbänder sind keinem Eigentümer zugeordnet, das entsprechende Feld im VOL1-Kennsatz enthält stets Leerzeichen (X'40'). Arbeitsbänder sollten nur dann angefordert werden, wenn sie nur während der Verarbeitung benötigt werden und nicht archiviert werden sollen. Auf Arbeitsbändern ist kein Dateischutz möglich. Arbeitsbänder werden bei der Anforderung vom Operator zugewiesen, Angaben im VOLUME-Operanden werden ignoriert. Die Operanden TSET und STATE=FOREIGN dürfen nicht zusammen mit DEVICE=WORK angegeben werden.
Für Mehrbanddateien sollte DEVICE=WORK nicht angegeben werden, da immer automatisch das gerade zur Verfügung stehende Arbeitsband zugewiesen wird.
Magnetbandkassetten können nicht als Arbeitsband angefordert werden.
DISKWR
Nur ab VERSION=3 und nur relevant für Dateien auf Pubsets oder Net-Storage-Volumes:
gibt an, zu welchem Zeitpunkt nach einer Schreiboperation sich die Daten der Datei in einem konsistenten Zustand befinden müssen. Für Dateien auf Pubsets oder Net-Storage-Volumes wird die Angabe in den Katalogeintrag übernommen. Für Dateien auf SM-Pubsets wird die Angabe bei der Auswahl des Volume-Sets berücksichtigt.
Falls DISKWR nicht angegeben ist und die Datei noch keinen Katalogeintrag hat, wird für eine permanente Datei der Wert IMMEDIATE angenommen und für eine temporäre Datei der Wert BY-CLOSE. Falls DISKWR nicht angegeben ist und die Datei bereits einen Katalogeintrag hat, wird der im Katalogeintrag enthaltene Wert für DISKWR verwendet.
Die Angabe wird in folgenden Fällen abgewiesen:
die Datei belegt bereits Speicherplatz
SPACE ist mit nichtpositiver Primärzuweisung angegeben
= IMMEDIATE
Die Daten der Datei müssen sich unmittelbar nach Beendigung einer Schreiboperation in konsistentem Zustand befinden.
= BY-CLOSE
Die Daten der Datei müssen sich erst nach Dateischließung in konsistentem Zustand befinden. Damit kann die Datei über einen flüchtigen Schreib-Cache bearbeitet werden.
DSPACE
In Zusammenhang mit DDEVICE/DVOLUME für den Datenteil von ISAM-Dateien mit Index-/Datentrennung:
DSPACE legt Speicherplatzzuweisungen für den Datenteil einer ISAM-Datei fest. 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 DVOLUME genannte Datenträger (siehe auch Operanden DDEVICE, DVOLUME sowie Abschnitt „Index-/Datentrennung“, Handbuch „Einführung in das DVS“ [1]). NK-ISAM unterstützt keine Index-/Datentrennung; DSPACE kann jedoch angegeben werden (Kompatibilität zu K-ISAM).
= <integer 0..2147483647>
Primärzuweisung, sofort wirksam
= (<integer 0..2147483647>,<integer 0..32767>)
Primärzuweisung wird sofort wirksam, der Wert der Sekundärzuweisung wird in den Katalogeintrag übernommen; 0 <= sekundär <= 32767
= (<integer 0..2147483647>,<integer 0..2147483647>,ABS)
ABS: Absolutzuweisung;
angegeben werden die PAM-Seitennummer, an der die Absolutzuweisung beginnt, gefolgt von der Anzahl PAM-Seiten, die reserviert werden sollen.
DUPEKY
Für ISAM-Dateien:
legt fest, ob in einer Datei mehrere Sätze mit gleichen Primärschlüsselwerten auftreten dürfen.
Ist weder im FILE-Makro noch im FCB-Makro ein Wert angegeben, so wird bei Dateieröffnung die Voreinstellung des FCB-Makros wirksam.
= NO
Identische Primärschlüsselwerte dürfen nicht in verschiedenen Sätzen der Datei auftreten.
= YES
Haben mehrere Sätze den gleichen Primärschlüsselwert, überschreiben sie sich nicht gegenseitig, sondern werden in der Reihenfolge ihrer Erstellung hintereinander geschrieben. Der Operand DUPEKY=YES ist nur von Bedeutung, wenn die ISAM-Datei mit PUT-Makroaufruf sequenziell erstellt oder mit STORE-Makroaufruf nichtsequenziell erweitert wird. Der INSRT-Makroaufruf kann nicht dazu verwendet werden, Sätze mit gleichen Primärschlüsselwerten zu schreiben. Zu DUPEKY=YES siehe auch "FCB - Dateisteuerblock definieren".
DVOLUME
In Zusammenhang mit DDEVICE für K-ISAM-Dateien auf Privatplatte – mit Index-/Datentrennung:
DVOLUME 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 DDEVICE. NK-ISAM unterstützt keine Index-/Datentrennung, DVOLUME kann jedoch angegeben werden (Kompatibilität zu K-ISAM). Für Dateien auf einem Net-Storage-Volume ist Index-Daten-Trennung nicht möglich.
= <@adr>
Nur ab VERSION=2:
adr ist eine symbolische Adresse im Programm, an der mit dem Makroaufruf FILELST DVOLUME=... eine DVOLUME-Liste angelegt wurde.
Das Zeichen „@“ ist Bestandteil des Operandenwertes und muss mit angegeben werden.
= PRIVATE
fordert an der Konsole die Bereitstellung einer Privatplatte an.
= (PRIVATE,<integer 1..9>)
fordert an der Konsole die Bereitstellung der gewünschten Anzahl Privatplatten an.
= list-poss(255): <name 1..6>
Für den Datenteil der ISAM-Datei werden die mit ihrer Archivnummer angegebenen Privatplatten benötigt.
EXC32GB
Nur für Plattendateien; nur für Nicht-Pamkey-Dateien:
Der Operand EXC32GB bestimmt, ob die Dateigröße bei der Datenverarbeitung 32 GB überschreiten darf oder nicht (siehe "Dateien größer 32 GB"). Der Operand wird in die TFT (Task File Table) eingetragen und erst beim Öffnen der Datei mit OPEN ausgewertet.
EXC32GB hat keinen Einfluss auf die Speicherplatzzuweisung beim FILE-Aufruf.
= FORBIDDEN
Die Dateigröße darf 32 GB nicht überschreiten.
= ALLOWED
Die Dateigröße darf 32 GB überschreiten.
FCBTYPE
bestimmt die Zugriffsmethode bei der Dateiverarbeitung.
= *BY-PROG
Nur ab Version=3 und nur relevant bei Angabe des Operanden DATATTR:
Der FCBTYPE-Wert aus dem Katalogeintrag der Referenzdatei wird ignoriert.
= ISAM
„pfadname“ ist eine ISAM-Datei. In Abhängigkeit vom Operanden BLKCTRL wird sie als NK-ISAM-Datei (BLKCTRL=DATA) oder als K-ISAM-Datei (BLKCTRL=PAMKEY) verarbeitet. Die Zugriffsmethode ISAM ist im Handbuch „Einführung in das DVS“ [1] beschrieben.
ISAM-spezifische Operanden: DUPEKY, KEYLEN, KEYPOS, LOGLEN, POOLLNK, VALLEN, WROUT sowie DDEVICE, DSPACE, DVOLUME und VALPROP.
= BTAM
„pfadname“ ist eine Banddatei, die mit der Zugriffsmethode BTAM verarbeitet werden soll. Die Zugriffsmethode BTAM ist im Handbuch „Einführung in das DVS“ [1] beschrieben.
BTAM-spezifische Operanden: CHAINIO, OPEN=SINOUT, STREAM
= PAM
„pfadname“ ist eine PAM-Datei, sie wird mit der Zugriffsmethode UPAM verarbeitet. Die Zugriffsmethode UPAM ist im Handbuch „Einführung in das DVS“ [1] beschrieben.
PAM-Dateien können auf Band oder auf Platte gespeichert sein.
= SAM
„pfadname“ ist eine SAM-Datei auf Platte oder Band. SAM-Dateien werden in der Regel sequenziell verarbeitet mit den Zugriffsmethoden SAM oder auch UPAM. Die Zugriffsmethode SAM ist im Handbuch „Einführung in das DVS“ [1] beschrieben.
SAM-spezifische Operanden: CLOSMSG, OPEN=UPDATE
FSEQ
Für Banddateien, die zu einer Dateimenge (File Set) gehören:
gibt die (laufende) Nummer einer Datei innerhalb der Dateimenge an. Sind z.B. auf einem Band mehrere Dateien gleichen Namens gespeichert, wird der Zugriff über FSEQ gesteuert. Dies gilt auch für MF/MV-Sets.
Liegt bei der Dateieröffnung weder im TFT-Eintrag noch im FCB ein FSEQ-Wert vor, so wird bei bisher nicht eröffneten Dateien im Katalogeintrag FSEQ=1 eingetragen. Bei Dateien, die schon früher eröffnet wurden, wird der FSEQ-Wert aus dem Katalogeintrag übernommen.
Ist FSEQ als Null-Operand angegeben, so muss die Datei bereits einen Katalogeintrag haben. Ist dort eine Dateifolgenummer eingetragen, so wird diese in den TFT-Eintrag übernommen. Andernfalls wird im Katalogeintrag keine Dateifolgenummer und im TFT-Eintrag der Null-Operand eingetragen.
= UNK
Falls die Datei bereits einen Katalogeintrag hat und dort eine Dateifolgenummer eingetragen ist, wird diese in den TFT-Eintrag übernommen. Andernfalls wird im Katalogeintrag keine Dateifolgenummer und im TFT-Eintrag UNK eingetragen. Für eine Foreign-Banddatei mit Standardkennsätzen bedeutet dies bei der Dateieröffnung, dass das Band nach der Datei durchsucht und entsprechend positioniert wird.
= NEW
Nur zulässig falls noch kein Erstellungsdatum im Katalogeintrag eingetragen ist:
Der Wert NEW wird in den TFT-Eintrag, nicht jedoch in den Katalogeintrag eingetragen. Falls im Katalogeintrag bereits eine Dateifolgenummer eingetragen ist, wird sie gelöscht. Für eine noch nicht existierende Banddatei mit Standardkennsätzen bedeutet NEW bei der Dateieröffnung, dass die Datei hinter das bisherige Ende der Dateimenge geschrieben und die „Dateifolgenummer“ um 1 erhöht wird.
= <integer 0..9999>
Falls die Datei einen Katalogeintrag mit Erstellungsdatum hat, muss die FSEQ-Angabe mit der Dateifolgenummer im Katalogeintrag übereinstimmen. Andernfalls (insbesondere für Foreign-Dateien) wird die Zahl im Katalogeintrag und im TFT-Eintrag als Dateifolgenummer eingetragen. Bei der Dateieröffnung wird das Band entsprechend der Dateifolgenummer positioniert.
FSEQ=0 bezeichnet wie FSEQ=1 die erste Datei der Dateimenge.
IOPERF
Nur ab VERSION=2 und nur relevant für Dateien/Dateigenerationen auf gemeinschaftlichen Datenträgern oder Net-Storage-Volumes:
Gibt das Performance-Attribut der Datei an. Es bestimmt welche Priorität für die im Operanden IOUSAGE 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).
Beim Katalogisieren der Datei wird die Angabe mit dem höchsten zulässigen Performance-Attribut abgeglichen und in den Katalogeintrag übernommen bzw. STD eingetragen, falls IOPERF nicht angegeben ist.
Für eine katalogisierte Datei werden die entsprechenden Angaben im Katalogeintrag nicht verändert. Ist beim LINK-Operanden ein Dateikettungsname angegeben, wird, falls IOPERF angegeben wurde, der Wert in den TFT-Eintrag übernommen.
Beim Neuanlegen einer Datei auf einem SM-Pubset wird die Performance-Eigenschaft bei der Selektion des Volume-Sets berücksichtigt (z.B. Selektion eines Volume-Sets, dem ein Cache zugeordnet ist).
= STD
Die Datei wird nicht über einen Cache bearbeitet.
= VERY-HIGH
Die Datei wird, wenn möglich, über einen Cache bearbeitet. Wenn möglich, wird die gesamte Datei permanent in einem Cache gehalten (höchste Performance-Priorität).
= HIGH
Die Datei wird, wenn möglich, über einen Cache bearbeitet.
= USER-MAX
Die Datei wird entsprechend dem höchsten Performance-Attribut verarbeitet, das für die Benutzerkennung im Benutzerkatalog eingetragen ist.
IOUSAGE
Nur ab VERSION=2 und nur relevant für Dateien/Dateigenerationen auf gemeinschaftlichen Datenträgern oder Net-Storage-Volumes:
gibt an, auf welche I/O-Operationen sich das Performance-Attribut (IOPERF) der Datei bezieht. Beim Katalogisieren der Datei wird die Angabe in den Katalogeintrag übernommen bzw. RDWRT eingetragen, falls IOUSAGE nicht angegeben ist.
Für eine katalogisierte Datei werden die entsprechenden Angaben im Katalogeintrag nicht verändert.
Ist beim LINK-Operanden ein Dateikettungsname angegeben, wird, falls IOUSAGE angegeben wurde, der Wert in den TFT-Eintrag übernommen.
Beim Neuanlegen einer Datei auf einem SM-Pubset wird der IOUSAGE-Wert bei der Selektion des Volume-Sets berücksichtigt (z.B. Selektion eines Volume-Sets, dem ein Lese-Cache zugeordnet ist).
= RDWRT
Das Performance-Attribut bezieht sich sowohl auf Lese- wie auf Schreiboperationen.
= WRITE
Das Performance-Attribut bezieht sich nur auf Schreiboperationen.
= READ
Das Performance-Attribut bezieht sich nur auf Leseoperationen.
KEYLEN = länge
Für ISAM-Dateien:
gibt die Länge des ISAM-Schlüssels an.
Ist weder im FILE-Makro noch im FCB-Makro ein Wert angegeben, so wird bei Dateieröffnung die Voreinstellung des FCB-Makros wirksam.
= *BY-PROG
Nur ab Version=3 und nur relevant bei Angabe des Operanden DATATTR:
Der KEYLEN-Wert aus dem Katalogeintrag der Referenzdatei wird ignoriert.
= <integer 1..255>
Länge des ISAM-Schlüssels in Byte.
KEYPOS = zahl
Für ISAM-Dateien:
gibt die Position des Primärschlüssels im Datensatz an. Bei Sätzen variabler Länge müssen 4 Byte für Satzlängen- und Steuerfeld berücksichtigt werden. Der Primärschlüssel kann an beliebiger Stelle im Datensatz stehen, jedoch innerhalb einer Datei immer an derselben Position.
Ist weder im FILE-Makro noch im FCB-Makro ein Wert angegeben, so wird bei Dateieröffnung die Voreinstellung des FCB-Makros wirksam.
= *BY-PROG
Nur ab Version=3 und nur relevant bei Angabe des Operanden DATATTR:
Der KEYPOS-Wert aus dem Katalogeintrag der Referenzdatei wird ignoriert.
= <integer 1..255>
Byte-Position des Primärschlüssels.
LABEL
Für Banddateien:
legt die Kennsatzeigenschaften für Dateien auf Magnetband oder Magnetbandkassette fest; wie die Kennsätze verarbeitet werden, hängt vom SECLEV-Operanden ab.
Für bereits bestehende Banddateien gilt immer der im VOL1-Kennsatz angegebene Normvermerk; für Ausgabedateien (OPEN OUTIN/OUTPUT) wird der LABEL-Operand ausgewertet. Enthält das Band schon Dateien oder Dateiabschnitte, wird der Normvermerk im VOL1-Kennsatz entsprechend der LABEL-Angabe versorgt/geändert.
= *BY-PROG
Nur ab Version=3 und nur relevant bei Angabe des Operanden DATATTR:
Der LABEL-Wert aus dem Katalogeintrag der Referenzdatei wird ignoriert.
= STD
Datei und Datenträger erhalten/haben Standardkennsätze, entsprechend DIN-Norm 66029, Austauschstufe 1.
= (STD,<integer 0..3>)
Datei und Datenträger erhalten/haben Standardkennsätze entsprechend der angegebenen Austauschstufe der DIN-Norm 66029; die Austauschstufe 4 ist in Vorbereitung. Zur Angabe und Auswirkung des Operanden siehe auch „Auswirkungen des Operanden LABEL".
= NO
Dateikennsätze werden weder gelesen noch geschrieben (keine Dateikennsatzverarbeitung). Hat das Band Standardkennsätze, verarbeitet das System die Bandkennsätze und prüft die Zugriffsrechte.
= NSTD
Die Banddatei hat/erhält Nichtstandardkennsätze, die Dateikennsatzverarbeitung erfolgt im Benutzerprogramm. Hat der Datenträger Standardkennsätze, führt das System Bandkennsatzverarbeitung durch und prüft die Zugriffsrechte.
LINK = <name 1..8>
Für den hier angegebenen Dateikettungsnamen („name“) wird ein TFT-Eintrag angelegt, die übrigen Operanden werden ausgewertet und die Werte in den TFT-Eintrag übernommen (außer SPACE, DSPACE, AVAIL, WORKFIL, VOLSET, STOCLAS und DISKWR). Ggf. werden Datenträger aus der Datenträgerliste angefordert.
Existiert bereits ein Eintrag gleichen Namens in der TFT, wird er zunächst implizit freigegeben und anschließend mit den aktuellen Werten im FILE-Aufruf neu aufgebaut. Der „alte“ TFT-Eintrag darf nicht im Zustand „aktiv“ sein. Wurde der alte TFT-Eintrag mit einem LOCK-FILE-LINK-Kommando gesperrt, so bleibt auch der neue Eintrag gesperrt. Außerdem werden die alten Datenträger- und Gerätereservierungen aufgehoben; Bandgeräte bleiben jedoch dem Auftrag verfügbar. Über Dateikettungsname/TFT werden Programm und Datei miteinander verknüpft.
Der TFT-Eintrag wird in der Task des Aufrufers angelegt, sofern nicht der RFA-Fall-vorliegt. Falls die Katalogkennung im Pfadnamen zu einem Remote-System gehört, zu dem eine RFA-Verbindung besteht, wird der TFT-Eintrag in der Remote-Task angelegt, parallel dazu wird auch in der Task des Aufrufers ein TFT-Eintrag angelegt, wobei im TFT-Eintrag der Aufrufertask gegenüber dem TFT-Eintrag der Remote-Task Informationen fehlen können, z.B.:
Benutzerkennung im Pfadnamen der Datei
Informationen, die nicht über Operanden des FILE-Makros angebbar sind
Informationen, die die Volume Table des TFT-Eintrags betreffen
Angaben zu IOPERF, IOUSAGE, DEVICE, DDEVICE, FSEQ, MOUNT
mit dem Operanden DATATTR vom Katalogeintrag der Referenzdatei übernommene Werte
Soll der Dateikettungsname über die Kommandoschnittstelle ansprechbar sein, muss er dem Datentyp <structured_name 1..8> entsprechen (siehe Handbuch „Kommandos“ [3]).
Hinweis
Ist der LINK-Operand nicht angegeben, wird kein TFT-Eintrag erstellt.
Die meisten Operanden des FILE-Aufrufs werden nur im Zusammenhang mit einem TFT-Eintrag ausgewertet. Eine Ausnahme bilden diejenigen Operanden, deren Werte in den Katalogeintrag übernommen werden oder die die FILE-Verarbeitung steuern, wie:
IOPERF, IOUSAGE, DEVICE, VOLUME, SPACE, DDEVICE, DVOLUME, DSPACE, FSEQ (nur teilweise) MOUNT und STATE=FOREIGN.
LOCKENV
Nur ab VERSION=3:
legt in Abhängigkeit vom Eröffnungsmodus und vom SHARUPD-Wert fest, ob die Datei bei der Verarbeitung gleichzeitig von verschiedenen Systemen aus zum Schreiben geöffnet werden kann.
= HOST
Die Datei kann bei der Verarbeitung nicht gleichzeitig von verschiedenen Systemen aus zu Schreiben geöffnet sein.
= XCS
Die Datei kann bei der Verarbeitung gleichzeitig von verschiedenenen Systemen aus mit SHARUPD=YES zum Schreiben geöffnet sein, wenn beide Systeme demselben XCS-Verbund angehören.
LOGLEN = <integer 0..255>
Für ISAM-Dateien:
bestimmt die Länge einer logischen Markierung im ISAM-Index in Byte; die maximale Länge ergibt sich aus der Länge des ISAM-Schlüssels und einer evtl. vorhandenen Wertmarkierung (siehe Operand VALLEN, "FILE - Dateimerkmale definieren/Dateiverarbeitung steuern"), da der gesamte ISAM-Index höchstens 255 Byte lang sein darf.
Es gilt also:
LOGLEN <= 255 – KEYLEN – VALLEN
Ist weder im FILE-Makro noch im FCB-Makro ein Wert angegeben, so wird bei Dateieröffnung die Voreinstellung des FCB-Makros wirksam.
Der ISAM-Index kann im Anschluss an den ISAM-Schlüssel eine logische Markierung (Logical Flag) enthalten, mit der Selektionseigenschaften bitweise dual verschlüsselt werden. In K-ISAM-Dateien werden alle logischen Markierungen eines Blocks ausgewertet und das Resultat in den nächsthöheren Indexeintrag übernommen. NK-ISAM unterstützt die Flagverarbeitung kompatibel, übernimmt die Flags jedoch nicht in den Indexeintrag. Die LOGLEN-Angabe wird ignoriert.
= *BY-PROG
Nur ab Version=3 und nur relevant bei Angabe des Operanden DATATTR:
Der LOGLEN-Wert aus dem Katalogeintrag der Referenzdatei wird ignoriert.
MF
Die Formen des MF-Operanden sind detailliert im Anhang ("Typen von Makroaufrufen") beschrieben. In allen Makroaufrufen, die sich durch den MF-Operanden unterscheiden (MF=L/E/D/C/S), muss der Versionsoperand den gleichen Wert haben. MF=S ist nur für VERSION=0 zulässig.
Voreinstellung: für VERSION=0 ist MF=S Voreinstellung.
MOUNT
gibt an, welche Datenträger aus der Datenträgerliste (siehe Operand VOLUME) von der FILE-Verarbeitung angefordert werden sollen.
Die Wechselwirkung mit dem Operanden VSEQ ist zu berücksichtigen:
VSEQ: MOUNT-Angaben müssen größer oder gleich der VSEQ-Angabe sein.
Ausnahme: MOUNT=0.
Bei VSEQ=n muss die MOUNT-Liste mit „n“ beginnen (MOUNT=(n[,n+1][,n+2][,...);
Bei VSEQ=(L=(n1, n2,...)) muss die MOUNT-Liste aus den ersten k Elementen der VSEQ-Liste bestehen (MOUNT=(n1, n2,...,nk)).
Falls der VSEQ-Operand nicht angegeben wurde, muss die MOUNT-Liste mit „1“ beginnen (MOUNT = 1, 2, ..., k)).
Ausnahme: MOUNT=0.
Für die Anforderung von gemeinschaftlichen Platten gilt:
Ist LINK nicht angegeben, so werden keine Platten angefordert.
Ist die Datei migriert, so werden keine Platten angefordert.
Ist MOUNT=0 angegeben, so werden keine Platten angefordert.
Ist LINK angegeben, so wird jede MOUNT-Angabe außer MOUNT=0 abgewiesen.
Ist LINK ohne MOUNT angegeben und ist die Datei nicht migriert, so werden alle Platten der Datenträgerliste angefordert.
Für die Anforderung von Privatplatten gilt:
Wenn mindestens einer der Operanden SPACE, VOLUME, DSPACE oder DVOLUME angegeben ist sowie bei REUSE (Verwendung von Datenträgern der ältesten Generation beim Anlagen einer neuen Generation) wird die Angabe MOUNT=0 ignoriert.
Falls MOUNT=0 wirksam wird, wird keine Privatplatte angefordert.
Falls MOUNT=0 nicht wirksam wird und LINK nicht angegeben ist, werden die erste Privatplatte mit Extent und ggf. zusätzlich die für die Speicherplatzzuweisung benötigten Privatplatten angefordert.
Ist LINK angegeben und keine MOUNT-Angabe wirksam, so werden alle Platten aus der Datenträgerliste angefordert.
Ist LINK angegeben und sind in MOUNT k Zahlen ungleich 0 angegeben, so werden die ersten k Platten aus der Datenträgerliste angefordert.
Für die Anforderung von Net-Storage-Volumes gilt:
Wenn MOUNT=0, aber weder SPACE noch VOLUME angegeben ist und die Datei schon vor dem FILE-Aufruf auf einem Net-Storage-Volume liegt, dann wird kein Net-Storage-Volume angefordert.
In allen anderen Fällen wird das Net-Storage-Volume angefordert, auf dem die Datei liegt bzw. angelegt wird.
Für die Anforderung von Bändern gilt:
Ist DEVICE=WORK, so werden keine Bänder angefordert.
Ist MOUNT=0 oder weder LINK noch MOUNT angegeben, so werden keine Bänder angefordert.
Ist MOUNTnot equal0 angegeben, so werden die Bänder gemäß MOUNT-Liste angefordert.
Ist LINK ohne MOUNT angegeben, so wird genau ein Band aus der Datenträgerliste angefordert, und zwar bei Angabe von VSEQ=n das n-te Band, bei Angabe von VSEQ=(L=(n1, n2,...)) das n1-te Band, bei fehlender VSEQ-Angabe das erste Band.
Jede Zahl n>0 in der MOUNT-Liste bezieht sich auf das n-te Band der Datenträgerliste.
= 0
Für Plattendateien:
der Datenträger wird erst zum OPEN-Zeitpunkt angefordert, sofern weder VOLUME/DVOLUME noch SPACE/DSPACE angegeben wurden.
für Banddateien:
Das Band wird erst zum OPEN-Zeitpunkt angefordert.
= @adr
Nur ab VERSION=2:
adr ist eine symbolische Adresse im Programm, an der mit dem Makroaufruf FILELST MOUNT=... eine MOUNT-Liste angelegt wurde.
Das Zeichen „@“ ist Bestandteil des Operandenwertes und muss angegeben werden.
= list-poss(255): <integer 1..255>
Jede angegebene Zahl n bezieht sich auf den n-ten Datenträger der Datenträgerliste.
NFTYPE
Nur ab VERSION=3 und nur relevant für Dateien auf Net-Storage-Volumes:
gibt den Dateityp für die anzulegende Net-Storage-Datei an.
Wenn diese Angabe den Angaben im Operanden DEVICE und VOLUME widerspricht (z.B. Angabe einer Privatplatte), wird der Makroaufruf mit Fehler abgebrochen. Wenn die Operanden DEVICE und VOLUME nicht angegeben sind, wird die Datei mit dem angegebenen Dateityp auf einem beliebigen Net-Storage-Volume (falls vorhanden) angelegt.
= BS2000
Die Datei wird auf Net-Storage als BS2000-Datei angelegt.
= NODE-FILE
Die Datei wird auf Net-Storage als Node-File angelegt.
OPEN
gibt an, mit welchem OPEN-Modus die Datei eröffnet werden soll. Diese Angabe kann bei Dateieröffnung durch den OPEN-Makroaufruf überschrieben werden.
Ist weder im FILE-Makro noch im FCB-Makro ein Wert angegeben, so wird bei Dateieröffnung die Voreinstellung des FCB-Makros wirksam.
Zu den zulässigen Angaben bei den jeweiligen Zugriffsmethoden siehe auch die Tabelle „OPEN-Modi beim Makro FCB". Die einzelnen OPEN-Modi sind auch unter den entsprechenden Zugriffsmethoden detaillierter beschrieben.
= INPUT
„pfadname“ ist eine Eingabedatei, d.h. sie muss vorhanden sein.
= EXTEND
Eine vorhandene Datei wird erweitert, d.h. an das Dateiende werden weitere Datenblöcke angefügt, oder die Datei wird ab einem bestimmten Punkt überschrieben; es sind nur sequenzielle Schreiboperationen zulässig. Bei Banddateien werden abhängig von der LABEL-Angabe Kennsätze erzeugt.
= INOUT
Eine vorhandene Datei wird für nichtsequenzielle Verarbeitung eröffnet; es sind Schreib- und Leseoperationen zulässig. Bei Bandverarbeitung ist nach Abschluss der OPEN-Verarbeitung das Band auf Bandanfang positioniert; es werden keine Kennsätze geschrieben.
= OUTIN
Die Datei wird erstellt oder – falls bereits vorhanden – ab Dateianfang überschrieben. Es sind sowohl Schreib- als auch Leseoperationen zulässig (nichtsequenziell).
Für Banddateien werden Kennsätze geschrieben.
= OUTPUT
Die Datei wird sequenziell erstellt oder – falls bereits vorhanden – ab Dateianfang überschrieben. Für Banddateien werden Kennsätze geschrieben.
= REVERSE
Die Datei „pfadname“ muss bereits vorhanden sein; sie wird als Eingabedatei für sequenzielles Lesen mit Verarbeitungsrichtung Dateiende ->
Dateianfang eröffnet.
Bei Plattendateien darf sich die Datei nicht über mehrere Platten erstrecken.
Bei Banddateien ist kein automatischer Spulenwechsel möglich. Ein einzelner Dateiabschnitt kann verarbeitet werden (das entsprechende Band ist ggf. mit VSEQ auszuwählen). Banddateien sind nach Abschluss der OPEN-Verarbeitung auf das Ende des Dateiabschnitts positioniert.
= SINOUT
Nur für BTAM-Banddateien:
Die Datei muss vorhanden sein, das Band darf nicht auf Bandanfang positioniert sein; Datenblöcke können gelesen oder geschrieben werden. Im Gegensatz zu INOUT wird das Band nicht positioniert.
= UPDATE
Nur für SAM-Plattendateien:
Die Sätze der Datei können mittels GET- und anschließendem PUTX-Aufruf aktualisiert werden. (Dies ist nur im Locate Mode möglich.)
OVERLAP
Für ISAM-Dateien:
In Zusammenhang mit der Definition eines 2. Ein-/Ausgabebereichs im Programm (IOAREA2 im FCB) können Leseoperationen (GET/GETR) überlappend durchgeführt werden. Ist weder im FILE-Makro noch im FCB-Makro ein Wert angegeben, so wird bei Dateieröffnung die Voreinstellung des FCB-Makros wirksam.
Bei NK-ISAM bedeutet „überlappende Verarbeitung“, dass benachbarte Blöcke ebenfalls in den ISAM-Pool eingelesen werden. OVERLAP=YES sollte nur bei vorwiegend sequenziellem Lesen genutzt werden.
= YES
Leseoperationen werden überlappend ausgeführt.
= NO
Leseoperationen werden nicht überlappend ausgeführt.
PAD = <integer 0..99>
Für ISAM-Dateien, die sequenziell erstellt werden (ISAM-Makroaufruf PUT):
Der „Blockfüllungsfaktor“ PAD gibt an, wie viel Platz im Datenblock für spätere Erweiterungen frei gehalten werden soll (in Prozent der mit BLKSIZE definierten Blocklänge). Die PAD-Angabe wirkt sich somit auf die Blocksplittingrate bei nichtsequenzieller Dateierweiterung aus. Ist weder im FILE-Makro noch im FCB-Makro ein Wert angegeben, so wird bei Dateieröffnung die Voreinstellung des FCB-Makros wirksam.
Die PAD-Angabe wirkt sich unterschiedlich aus bei NK-ISAM und K-ISAM. Bei NK-ISAM wird der Block mindestens bis zur PAD-Grenze gefüllt, bei K-ISAM höchstens bis zur PAD-Grenze.
POOLLNK = <name 1..8>
Nur ab VERSION=1 für ISAM-Dateien, die in Benutzer-ISAM-Pools verarbeitet werden (NK-ISAM):
„name“ ist der „Poolkettungsname“, der in die TFT eingetragen wird. Dieser Poolkettungsname muss mit ADDPLNK einem ISAM-Pool zugewiesen werden, der mit dem Makroaufruf CREPOOL erzeugt wurde. Zum OPEN-Zeitpunkt wird dieser Name an NK-ISAM übergeben; die Ein-/Ausgabepuffer der Datei werden in den zugehörigen ISAM-Pool übertragen. Zulässiger Zeichenvorrat für „name“: Buchstaben, Ziffern und Sonderzeichen (entsprechend den Regeln zur Bildung von Namen).
Soll der Poolkettungsname über die Kommandoschnittstelle ansprechbar sein, muss er dem Datentyp <structured_name 1..8> entsprechen (siehe Handbuch „Kommandos“ [3]).
POOLSIZ = <integer 128..1048576>
Größe des dateispezifischen ISAM-Pools in Einheiten zu 2048 Byte.
Die Angabe bezieht sich nicht auf den mit POOLLNK angesprochenen ISAM-Pool.
PREFIX
wird nur in Verbindung mit MF=C oder MF=D ausgewertet und legt das jeweils erste Zeichen der Feldnamen und Equates fest, die bei der Makroauflösung im Datenbereich generiert werden.
= I
ist das voreingestellte Präfix, mit dem die vom Assembler generierten Feldnamen und Equates beginnen.
= *
Es wird kein Präfix generiert.
= <name 1..1>
Präfix, mit dem die generierten Feldnamen und Equates beginnen sollen.
RECFORM
gibt zum einen das Satzformat der mit „pfadname“ bezeichneten Datei an, zum anderen, welche Steuerzeichen bei der Ausgabe über einen Drucker zu berücksichtigen sind.
Ist weder im FILE-Makro noch im FCB-Makro ein Wert angegeben, so wird bei Dateieröffnung die Voreinstellung des FCB-Makros wirksam.
Das Satzformat wird bei den Zugriffsmethoden SAM und ISAM berücksichtigt. UPAM verarbeitet Dateien nur blockweise, eine RECFORM-Angabe wird ignoriert. BTAM ist zwar auch eine blockorientierte Zugriffsmethode, akzeptiert jedoch eine RECFORM-Angabe. Die Satzformate sind im Kapitel „Zugriffsmethoden“ im Handbuch „Einführung in das DVS“ [1] detailliert beschrieben. Für den Zusammenhang zwischen RECFORM- und RECSIZE-Angabe siehe Operand RECSIZE; für die Drucksteuerzeichen-Auswertung wird auf das Kommando PRINT-DOCUMENT (Operand LINE-SPACING) in den Handbüchern „Kommandos“ [3] und „SPOOL“ [4] verwiesen.
= *BY-PROG
Nur ab Version=3 und nur relevant bei Angabe des Operanden DATATTR:
Der RECFORM-Wert aus dem Katalogeintrag der Referenzdatei wird ignoriert.
= V
„pfadname“ besteht aus Sätzen variabler Länge, d.h. der Anwender muss bei der Programmierung berücksichtigen, dass den Datensätzen ein 4 Byte langes Feld vorangestellt wird, das in den Bytes 1-2 die Satzlänge als Binärzahl enthält. Die Bytes 3-4 werden vom System genutzt. Bei Eingabedateien wird das Satzlängenfeld vom System versorgt, bei Ausgabedateien muss der Anwender das Satzlängenfeld versorgen. Eine Angabe im RECSIZE-Operanden bezeichnet die maximale Satzlänge.
Für BTAM-Dateien wird die Angabe RECFORM=V wie RECFORM=U behandelt.
= F
„pfadname“ besteht aus Sätzen fester Länge, d.h. der Anwender braucht kein Satzlängen- und Steuerfeld zu berücksichtigen. Alle Sätze der Datei haben die gleiche Länge, die mit dem Operanden RECSIZE festgelegt wird (vgl. "FILE - Dateimerkmale definieren/Dateiverarbeitung steuern"f).
= U
„pfadname“ besteht aus Sätzen „undefinierter“ Länge; jeder Datenblock enthält nur einen Satz, dessen Länge bei der Eingabe vom System, bei der Ausgabe vom Anwender in einem Register übergeben wird (siehe Operand BLKSIZE, "FILE - Dateimerkmale definieren/Dateiverarbeitung steuern"). RECFORM=U wandelt die Angabe LABEL=(STD,3) um in (STD,2).
Die Angabe RECFORM=U ist für ISAM-Dateien nicht zulässig.
= (...,N)
„pfadname“ ist keine Druckdatei, enthält also keine Drucksteuerzeichen und sollte nicht mit Steuerzeichenauswertung ausgedruckt werden.
= (...,M)
Das erste Datenbyte eines jeden Datensatzes wird als Steuerzeichen im EBCDI-Code interpretiert. Die Datei kann mit dem Kommando PRINT-DOCUMENT, Operand LINE-SPACING=*BY-EBCDIC-CONTROL ausgedruckt werden. Bei ISAM-Dateien wird der ISAM-Index berücksichtigt.
= (...,A)
Das erste Datenbyte eines jeden Datensatzes wird als ASA-Steuerzeichen interpretiert. Die Datei kann mit dem Kommando PRINT-DOCUMENT, Operand LINE-SPACING=*BY-ASA-CONTROL ausgedruckt werden.
RECSIZE
gibt die Satzlänge an, abhängig vom Wert des RECFORM-Operanden.
Ist weder im FILE-Makro noch im FCB-Makro ein Wert angegeben, so wird bei Dateieröffnung die Voreinstellung des FCB-Makros wirksam.
= *BY-PROG
Nur ab Version=3 und nur relevant bei Angabe des Operanden DATATTR:
Der RECSIZE-Wert aus dem Katalogeintrag der Referenzdatei wird ignoriert.
= <integer 0..32768>
für RECFORM=V: Die Angabe für RECSIZE wird ignoriert – abgesehen von folgender Ausnahme: Wird eine ISAM-Datei im Move Mode gelesen und ist der angegebene Wert für RECSIZE kleiner als der gelesene Satz, so wird der Satz nur in der Länge der RECSIZE-Angabe übertragen und die Fehlerbehandlung (DMS0AAD) eingeleitet.
für RECFORM=F: Satzlänge in Byte; alle Sätze der Datei sind gleich lang.
= <reg 2..12>
für RECFORM=U: mit dem Operanden RECSIZE muss ein Mehrzweckregister angegeben werden, das bei Ein- bzw. Ausgabe die aktuelle Satzlänge enthält. Bei der Eingabe wird das Register vom System versorgt, bei der Ausgabe muss es der Anwender versorgen.
RETPD = <integer 0..32767>
Der Benutzer kann mit „RETPD“ eine Schutzfrist (in Tagen) vereinbaren, während der kein Schreibzugriff (Ändern, Löschen) möglich ist.
Ist weder im FILE-Makro noch im FCB-Makro ein Wert angegeben, so wird bei Dateieröffnung die Voreinstellung des FCB-Makros wirksam.
Ist die Schutzfrist abgelaufen, wird die Datei nicht automatisch gelöscht, es wird lediglich wieder Schreibzugriff zugelassen.
Die Schutzfrist kann auch über den CATAL-Makroaufruf beeinflusst werden: die RETPD-Angabe wird dann sofort in den Katalogeintrag übernommen; für Banddateien kann CATAL nur vor der ersten Dateieröffnung genutzt werden.
Für temporäre Dateien wird RETPD ignoriert.
SECLEV
Für Bandverarbeitung:
Der Operand SECLEV (Security Level) bezieht sich auf den TPIGNORE-Wert im Benutzerkatalog-Eintrag. Im Dialogbetrieb wird eine SECLEV-Angabe ignoriert. Im Stapelbetrieb können dazu berechtigte Benutzer mit SECLEV festlegen, ob Fehlermeldungen unterdrückt und/oder zusätzliche Kennsatzprüfungen durchgeführt werden sollen.
= HIGH
Fehlermeldungen werden im Stapelbetrieb an die Konsole ausgegeben. Läuft der Auftrag unter einer Benutzerkennung mit der Berechtigung TPIGNORE=YES im Benutzerkatalog-Eintrag, kann der Operator die Fehlermeldung ignorieren.
= LOW
nur für den Band-/Dateieigentümer zulässig, wenn im Benutzerkatalog-Eintrag TPIGNORE=YES definiert ist: im Stapelbetrieb werden bestimmte Fehlermeldungen unterdrückt.
= (...,OPR)
Die Angabe OPR (= Overwrite Protection) veranlasst das System zusätzliche Kennsatzprüfungen durchzuführen:
wird eine Datei innerhalb eines Bandes im Anschluss an eine bereits existierende Datei erstellt, werden die Kennsätze der vorhergehenden Datei überprüft;
das Freigabedatum der neuen Datei darf nicht höher sein als das der vorhergehenden.
SHARUPD
Für ISAM- oder UPAM-Plattendateien:
gibt an, ob mehrere Aufträge gleichzeitig die Datei in einem anderen Modus als OPEN INPUT eröffnen dürfen.
Ist weder im FILE-Makro noch im FCB-Makro ein Wert angegeben, so wird bei Dateieröffnung die Voreinstellung des FCB-Makros wirksam.
= NO
Sobald die Datei von einem Auftrag mit OPEN not equal INPUT eröffnet wird, wird sie für andere Aufträge gesperrt. Gleichzeitiger Zugriff mehrerer Aufträge auf die Datei ist nur möglich, wenn sie in allen Aufträgen als Eingabedatei verwendet wird, d.h. OPEN INPUT eröffnet ist. Ist die Datei bereits OPEN INPUT eröffnet, wird auch jeder Versuch, sie anders zu eröffnen, abgewiesen.
= YES
Für ISAM- oder PAM-Dateien:
Die Datei kann gleichzeitig von mehreren Aufträgen bearbeitet werden; es muss jedoch in allen Aufträgen SHARUPD=YES gelten. Bei UPAM kann der Anwender Datenblöcke, solange er sie verarbeitet, vor Zugriff durch andere Aufträge schützen. Bei ISAM werden Sperren – wenn nötig – vom System automatisch gesetzt, bei NK-ISAM als Satzsperren bzw. „Schlüsselsperren“, bei K-ISAM als Blocksperren. Bei NK-ISAM müssen Dateien, die für Shared-Update-Verarbeitung eröffnet werden, in hostspezifischen ISAM-Pools verarbeitet werden. Mit SHARUPD=YES ist für ISAM-Dateien gleichzeitig die WROUT-Funktion eingeschaltet (siehe Operand WROUT, "FILE - Dateimerkmale definieren/Dateiverarbeitung steuern").
= WEAK
Nur ab VERSION=2, für UPAM-Verarbeitung:
garantiert Schreibsicherheit, aber nicht Lesesicherheit. Nur ein Auftrag kann die Datei zur Aktualisierung eröffnen, andere Aufträge können sie aber gleichzeitig als Eingabedatei nutzen. Der Benutzer muss in seinem Programm berücksichtigen, dass sich der Inhalt der Datei ändern kann, während er sie als Eingabedatei verwendet.
SPACE
Nur für Plattendateien: beeinflusst über Primär-, Sekundär- oder Absolutzuweisung die Speicherplatzbelegung der Datei „pfadname“. Der SPACE-Operand wird immer ausgewertet, auch ohne LINK-Operanden im aktuellen Makroaufruf. Primär, Sekundär- und Absolutzuweisung sind im Abschnitt „Anfordern von Speicherplatz“, Handbuch „Einführung in das DVS“ [1] ausführlich beschrieben.
Voreinstellung: | Ist SPACE nicht angegeben, so gilt:
|
Für eine geöffnete oder eine von einer fremden Task exklusiv reservierte Datei wird ein FILE-Makroaufruf mit SPACE-Operand zurückgewiesen. Auch Schutzattribute einer Datei oder Dateigenerationsgruppe werden berücksichtigt. Fordert der Anwender mehr Platz im Pubset an, als ihm entsprechend Eintrag im Benutzerkatalog zugestanden ist, wird der FILE-Makroaufruf zurückgewiesen. Ist der Anwender berechtigt, sein Speicherplatz-Kontingent zu überschreiten, informiert ihn das System mit einer Meldung darüber.
Um den Verwaltungsaufwand des Systems und den Speicherplatzverbrauch 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
die Sekundärzuweisung sollte dem erwarteten Wachstum der einzurichtenden Datei entsprechen.
Bei der Eröffnung einer Datei mit BLKSIZE=(STD,n), wobei n >= 2, muss für die Anzahl „p“ der für sie reservierten PAM-Seiten und für ihre Sekundärallokierung „s“ gelten:
Dateityp | SPACE-Operand p | SPACE-Operand s |
SAM | >= 2n | >= n |
K-ISAM | > n | |
NK-ISAM | > n | |
PAM (gekettete Ein-/Ausgabe) | > 0 |
= <integer -2147483647..2147483647>
Primärzuweisung, die sofort in Kraft tritt
Im Folgenden bezeichnet k die Anzahl der PAM-Blöcke pro Unit (kleinste Verwaltungseinheit der Speicherplatzverwaltung für Plattendateien; zu Unit siehe Abschnitt „Anfordern von Speicherplatz“, Handbuch „Einführung in das DVS“ [1]).
1..2147483647:
Die Speicherplatzzuweisung wird auf ein Vielfaches von k aufgerundet und die entsprechende Zahl PAM-Seiten auf dem Pubset oder der Privatplatte zugewiesen.
Der Anwender sollte beachten, dass jeder FILE-Aufruf mit positiver Primärzuweisung für die Datei Speicherplatz reserviert. Auf diese Weise ist bei hoher Primärzuweisung das Speicherplatzkontingent des Anwenders schnell erschöpft.
Für Dateien auf gemeinschaftlichen Platten und auf Privatplatten werden die Platten für die Speicherplatzzuweisung wie folgt bestimmt:
Ist der Operand VOLUME nicht angegeben und belegt die Datei noch keinen Speicherplatz, so wird der Speicherplatz auf gemeinschaftlichen Platten zugewiesen.
Für Dateien auf SM-Pubsets werden hierbei bei der Selektion des Volume-Sets berücksichtigt:vorläufiges Dateiformat
Angaben zu AVAIL, WORKFIL, VOLSET, IOPERF, IOUSAGE, DISKWR
Eigenschaft permanent/temporär
Storage-Klasse, die der Datei zugewiesen wird.
Ist der Operand VOLUME nicht angegeben und belebt die Datei bereits Speicherplatz, so werden nach Möglichkeit die bisher von der Datei schon belegten Platten zur Speicherplatzzuweisung herangezogen.
Ist der Operand VOLUME angegeben, beginnt die Speicherplatzzuweisung auf der ersten über den Operanden VOLUME enthaltenen Platte. Falls diese nicht ausreicht, wird mit der zweiten über den Operanden VOLUME erhaltenen Platte weitergemacht usw.
Eine Speicherplatzzuweisung auf einem Pubset wird abgewiesen, falls auf dem Pubset insgesamt weniger Seiten frei sind, als in der Primärzuweisung angegeben wurden.
Für Dateien auf gemeinschaftlichen Platten und auf Privatplatten wird eine Teilzuweisung vorgenommen, falls der Operand VOLUME angegeben ist und die über den Operanden VOLUME erhaltenen Platten zusammen weniger freie PAM-Seiten enthalten, als in der Primärzuweisung angegeben wurden (jedoch mindestens eine freie Unit). Bei Angabe von gemeinschaftlichen Platten wird allerdings der FILE-Aufruf abgewiesen, wenn auf dem gesamten Pubset weniger PAM-Seiten frei sind, als in der Primärzuweisung angegeben wurden (siehe oben).
Der Eintrag einer Benutzerkennung im Benutzerkatalog enthält deren Kontingent an gemeinschaftlichem Speicherplatz. Wird dieses durch die Speicherplatzanforderung für die Benutzerkennung der Datei überschritten, so gilt: Hat die Benutzerkennung der
Datei laut Eintrag im Benutzerkatalog die Berechtigung zur Überschreitung des Kontigents, so wird die aufrufende Task mit einer Warnung von der Überschreitung des Kontingents informiert, andernfalls wird der FILE-Aufruf abgewiesen.
Bei Privatplatten wird eine Teilzuweisung vorgenommen (falls möglich), wenn die Anforderung das freie Speicherplatzkontingent überschreitet.
Würde eine Speicherplatzanforderung zum Überschreiten der maximalen im Katalogeintrag darstellbaren Dateigröße (=16777215 PAM-Seiten) führen, so wird nur die maximal mögliche Teilzuweisung vorgenommen.
-2147483647...-1:
Speicherplatz-Freigabe nach Rundung der Primärzuweisung auf ein Vielfaches von k. Die Speicherplatzfreigabe erfolgt entsprechend der Datenträgerliste vom Dateiende in Richtung Dateianfang (Angaben im VOLUME-Operanden werden ignoriert). Es werden nur „unbeschriebene“ Units freigegeben, für ISAM-Dateien können Index- und Datenteil nicht getrennt freigegeben werden (siehe Operand DSPACE, "FILE - Dateimerkmale definieren/Dateiverarbeitung steuern").
Falls die Datei nach der Speicherplatzfreigabe keinen Speicherplatz mehr belegt, werden im Katalogeintrag gelöscht: AVAIL, WORKFIL (nicht jedoch für Generationen), STOCLAS, Indikator „Datei enthält defekten Block“, Indikator „S0-Migration verboten“, vorläufiges Dateiformat.
Wenn eine BS2000-Datei auf einem Net-Storage-Volume nach der Speicherplatzfreigabe keinen Speicherplatz mehr hat, dann existiert sie auf dem Net-Storage-Volume nicht mehr. In ihrem Katalogeintrag werden alle Hinweise auf das Net-Storage-Volume entfernt.
Bei Dateien auf Privatplatten bleiben mindestens 3 PAM-Seiten und bei Node-Files bleiben mindestens 4 PAM-Seiten zugewiesen. Bei existierenden Dateien mit BLKSIZE=(STD,k) bleiben mindestens so viele PAM-Seiten zugewiesen, wie zur Dateieröffnung nötig sind. Die Anzahl der verbleibenden PAM-Seiten wird hierbei von der Speicherplatzverwaltung festgelegt.
Gilt DESTROY=YES im Katalogeintrag, werden alle freigegebenen PAM-Seiten mit X'00' überschrieben (ohne Beachtung einer Unit-Grenze). Hierbei werden ggf. benötigte Privatplatten angefordert. Bei einer mit DESTROY=NO katalogisierten Datei erfolgt dieses Überschreiben nur dann, wenn der Destroy-Level (Klasse-2-Systemparameter DESTLEV) genügend hoch eingestellt ist.
0:
keine Veränderung bzgl. der Speicherplatzreservierung; für Dateien auf Privatplatte nur zulässig, wenn die Datei bereits Speicherplatz belegt. Eine gleichzeitige Angabe von VOLUME wird ignoriert, falls die Datei bereits Speicherplatz belegt, andernfalls abgewiesen.
= (<integer -2147483647..2147483647>,<integer 1..32767>)
legt Primär- und Sekundärzuweisung fest. Im Gegensatz zur Primärzuweisung wird die Sekundärzuweisung nicht sofort bei Eingabe des FILE-Makroaufrufs wirksam, sondern erst, wenn bei Dateierstellung oder -erweiterung der reservierte Speicherplatz nicht ausreicht. Der Wert der Sekundärzuweisung wird in den Katalogeintrag übernommen (Feld S-ALLOC der Ausgabe des Kommandos SHOW-FILE-ATTRIBUTES).
<integer -2147483647..2147483647>:
siehe oben: Primärzuweisung
<integer 1..32767>:
Sekundärzuweisung, d.h. die Anzahl PAM-Seiten, um die der Speicherplatz bei Bedarf erweitert werden soll. Die Sekundärzuweisung wird unverändert in den Katalogeintrag übernommen. Erst wenn die Sekundärzuweisung in Kraft tritt, wird sie auf ein Vielfaches von k aufgerundet.
Mit SPACE=(0,<integer 1..32767>) wird die Sekundärzuweisung festgelegt/geändert und der (neue) Wert in den Katalogeintrag übernommen. Diese Angabe ist für Dateien/Generationen auf Privatplatte nur zulässig, wenn vorher bereits Speicherplatz für diese Datei oder Dateigeneration angefordert wurde.
(...,0):
verhindert dynamische Erweiterung der Datei.
= (<integer -2147483647..2147483647>[,<integer 1..32767>],*KEEP)
Nur ab VERSION=2 bei Speicherplatz-Freigabe für eine Datei auf gemeinschaftlichen Datenträgern oder Net-Storage-Volumes:
„*KEEP“ bedeutet, dass der Datei mindestens eine Allokierungs-Einheit zugewiesen bleibt.
= (<integer -2147483647..2147483647>,<integer -2147483647..2147483647>,ABS)
Absolutzuweisung (nur zusammen mit VOLUME). Reicht der freie Speicherplatz auf der Platte nicht aus, wird der FILE-Makroaufruf abgewiesen; es erfolgt keine Teilzuweisung. Da die Absolutzuweisung sich immer nur auf einen Datenträger bezieht, muss für jeden Datenträger ein separater FILE-Makroaufruf gegeben werden.
Ist die Absolutzuweisung die erste Speicherplatzanforderung für eine Datei, erhält die Sekundärzuweisung den Wert 0. Angegeben werden:
- Blocknummer der PAM-Seite, auf der die Speicherplatzreservierung auf der Privatplatte beginnen soll. Da Speicherplatz nur in Units reserviert wird, gilt für „seite“: seite = k*n + 1 (n >= 0). Auf welcher PAM-Seite die Speicherplatzreservierung einer Platte beginnen kann, hängt von der Initialisierung der Platte ab.
- Angabe, wie viele PAM-Seiten auf dem Datenträger reserviert werden sollen; muss ein Vielfaches von k sein. Da die Kapazität von Plattenspeichern von Plattentyp und Initialisierung der Platte abhängt, müssen die Maximalwerte beim Systemverwalter erfragt werden. Die Obergrenze für diese Maximalwerte beträgt 2147483647 (wie bei der Primärzuweisung).
- ABS: Das Schlüsselwort „ABS“ kennzeichnet die Absolutzuweisung.
Absolutzuweisung für eine Datei auf einem Net-Storage-Volume ist nicht möglich.
STATE = FOREIGN
Für Dateien auf privaten Datenträgern oder auf Net-Storage-Volumes vom Typ NETSTOR, die keinen Eintrag im Systemkatalog besitzen, wird ein Katalogeintrag erstellt (Datei-Import). Für Dateigenerationen muss gegebenenfalls vorher der Gruppeneintrag rekonstruiert werden (mit CATAL-Makroaufruf). Dateien, die mit STATE=FOREIGN übernommen werden, sollten aus dem Katalog ihres „alten“ Eigentümers exportiert werden (ERASE CATALOG).
Im Operanden VOLUME müssen die Archivnummern der für die Verarbeitung der Datei benötigten Datenträger in der richtigen Reihenfolge aufgelistet sein. Falls MAREN zur Verfügung steht und die Datenträger der Datei im MAREN-Katalog stehen, kann die VOLUME-Angabe auch weggelassen werden; MAREN liefert dann die Archivnummern.
Folgende Angaben dürfen nicht zusammen mit STATE=FOREIGN gemacht werden:
DEVICE=WORK, TVSN, TSET, VSEQ.
Datei auf Privatplatte:
Der Katalogeintrag wird aus dem F1-Label der ersten im Operanden VOLUME angegebenen bzw. über MAREN erhaltenen Privatplatte erstellt. Die Datei kann nur auf die im F1-Kennsatz enthaltene Benutzerkennung importiert werden. Die Datei kann auch auf andere Pubsets importiert werden, als auf den, auf dem sie erstmals katalogisiert war. Eine im F1-Kennsatz als mehrbenutzbar katalogisierte Datei kann von jeder Task (d.h. unabhängig von der Benutzerkennung der Task) auf die im F1-Kennsatz enthaltene Benutzerkennung importiert werden.
Dateien auf Net-Storage:
Der Katalogeintrag wird erstellt aus dem Katalog auf dem Net-Storage-Volume vom Typ NETSTOR, das im Operanden VOLUME angegeben ist. Die Angabe des Operanden VOLUME für ein Net-Storage-Volume vom Typ NETVOL ist nicht zulässig. Die Datei kann nur auf den Pubset importiert werden, der dem im Operanden VOLUME angegebenen Net-Storage-Volume vom Typ NETSTOR zugeordnet ist.
Banddateien:
Dateimerkmale einer FOREIGN-Datei können nicht mit CATAL verändert werden.
Hat die FOREIGN-Banddatei Standardkennsätze, werden zum OPEN-Zeitpunkt die Dateimerkmale RECFORM, RECSIZE, BLKSIZE und CODE aus dem HDR2-Kennsatz in den Katalog übernommen. Die Datei kann unter mehreren Benutzerkennungen katalogisiert sein; das System sorgt dann für Konsistenz zwischen dem Katalogeintrag und der Kennsatzinformation.
Hat die FOREIGN-Datei NSTD-Kennsätze oder keine Standardkennsätze, muss der Anwender im FILE-Makroaufruf die Operanden RECFORM, RECSIZE und BLKSIZE versorgen. Wird die Datei unter mehreren Benutzerkennungen katalogisiert, ist jeder Anwender selbst für die Konsistenz zwischen Katalogeinträgen und Kennsatzinformation verantwortlich.
Für die Übernahme einer FOREIGN-Banddatei mit Standardkennsätzen gilt: Ist der Anwender nicht Dateieigentümer, müssen Datenträger und Datei mehrbenutzbar sein (Kennzeichen in VOL1-, HDR1-Kennsatz);
STOCLAS
Nur für VERSION=3:
Beim Anlegen einer Datei auf einem SM-Pubset kann der Datei eine Storage-Klasse zugewiesen werden. Diese enthält dann die Attribute, denen der Ablageort der Datei genügen soll. Falls der Storage-Klasse eine Volume-Set-Liste zugeordnet ist, wird die Datei vorrangig auf einem Volume-Set dieser Liste angelegt.
Eine Storage-Klassen-relevante Angabe liegt in folgenden Fällen vor:
wenn einer der Operanden AVAIL, DISKWR, VOLUME, VOLSET oder WORKFIL angegeben ist.
wenn für den Operanden DEVICE ein Wert ungleich NETSTOR und ungleich STDDISK angegeben ist.
wenn für einen der Operanden IOPERF oder IOUSAGE ein Wert ungleich Null-Operand angegeben ist.
Im Eintrag jeder Benutzerkennung im Benutzerkatalog eines SM-Pubsets kann eine Default-Storage-Klasse hinterlegt sein. Sie kann mit /SHOW-USER-ATTRIBUTES INF=*PUBSET-ATTR angezeigt werden.
Beim Anlegen einer Datei oder Dateigeneration auf einem SM-Pubset auf einer Benutzerkennung mit Default-Storage-Klasse an dem SM-Pubset gilt: Wenn kein Recht auf physikalische Allokierung vorliegt und die Datei nicht auf einem Volume-Set für Arbeitsdateien angelegt wird, werden Storage-Klassen-relevante Angaben und STOCLAS=*NONE unwirksam, d.h. sie werden ignoriert, sofern sie nicht abgewiesen werden. (IOPERF und IOUSAGE werden trotzdem in den TFT-Eintrag eingetragen.)
Beim Anlegen einer Datei (nicht Dateigeneration) auf einem SM-Pubset auf einer Benutzerkennung mit Default-Storage-Klasse an dem SM-Pubset wird der Datei die benutzerspezifische Default-Storage-Klasse zugewiesen, wenn weder eine Angabe zu STOCLAS noch eine Storage-Klassen-relevante Angabe wirksam ist.
In einem FGG-Index kann ebenfalls eine Default-Storage-Klasse hinterlegt sein. Diese wird beim Anlegen einer Dateigeneration auf einem SM-Pubset zugewiesen, wenn weder eine Angabe zu STOCLAS noch eine Storage-Klassen-relevante Angabe wirksam ist.
Wenn im Eintrag der Benutzerkennung der Datei bzw. im FGG-Index eine Default-Storage-Klasse hinterlegt ist, die am betroffenen SM-Pubset nicht existiert oder auf die der Aufrufer kein Zugriffsrecht hat, so muss zum Anlegen der Datei bzw. Dateigeneration im Operanden STOCLAS der Wert *NONE oder eine andere Storage-Klasse angegeben werden.
Wenn die Datei auf einem SF-Pubset oder auf einem privaten Datenträger angelegt wird, wird der Datei auch bei Angabe eines Storage-Klassen-Namens und auch beim Vorhandensein einer Default-Storage-Klasse keine Storage-Klasse zugewiesen.
Eine Storage-Klasse kann auch zugewiesen werden, wenn eine Datei auf einem Net-Storage-Volume angelegt wird; hierbei kann keine Arbeitsdatei entstehen und auch keine Datei mit PAM-Key.
= *NONE
Der Datei wird keine Storage-Klasse zugewiesen, eine evtl. vorhandene Default-Storage-Klasse wird nicht herangezogen.
= <c-string 1..8>
Name der Storage-Klasse, die der Datei zugewiesen wird. Die Angabe wird in folgenden Fällen abgewiesen:
die Datei belegt bereits Speicherplatz
SPACE ist mit nichtpositiver Primärzuweisung angegeben
eine Storage-Klassen-relevante Angabe liegt vor
die Storage-Klasse existiert nicht am betroffenen SM-Pubset
der Aufrufer hat kein Zugriffsrecht auf die Storage-Klasse.
STREAM
Für BTAM-Banddateien:
Ermöglicht Ein-/Ausgaben im Streaming-Modus. Das bedeutet einerseits, dass die im MAV-Modus (Operanden BTAMRQS im FCB- und REQNO im BTAM-Aufruf) angebotenen geketteten Ein-/Ausgabe-Aufträge (Operand CHAINIO) ihrerseits verkettet werden. Andererseits bedeutet es, dass im Falle eines Streaming-Bandgerätes der Modus 'streamen' hardwaremäßig eingestellt werden soll.
= NO
Streaming-Modus nicht einschalten, sofern nicht im FCB des Programms STREAM= YES festgelegt ist.
= YES
Streaming-Modus einschalten.
TAPEWR
Nur ab VERSION=1, für Dateien auf Magnetbandkassetten:
der Anwender kann bestimmen, ob die Ausgabe gepuffert erfolgen soll.
Ist weder im FILE-Makro noch im FCB-Makro ein Wert angegeben, so wird bei Dateieröffnung die Voreinstellung des FCB-Makros wirksam.
= DEVICE-BUFFER
Die Ausgabe wird über die Gerätesteuerung gepuffert, wodurch eine hohe Datenübertragungsrate erzielt werden kann.
= IMMEDIATE
Die Ausgabe wird nicht gepuffert.
TPMARK
Für Banddateien ohne Standardkennsätze (LABEL=NO/NSTD):
legt fest, ob beim Erzeugen einer Banddatei Abschnittsmarken geschrieben werden. Dateien mit LABEL=(STD,n) erhalten standardmäßig Abschnittsmarken nach den Kennsätzen.
= NO
Es wird für Banddateien ohne Standardkennsätze keine Abschnittsmarke geschrieben, sofern nicht im FCB des Programms TPMARK=YES festgelegt ist.
= YES
Banddateien mit NSTD-Kennsätzen: die Abschnittsmarke folgt dem Kennsatz.
Banddateien ohne Kennsätze: die Abschnittsmarke wird an den Beginn des Bandes geschrieben.
TRANS
Für Banddateien, die als Eingabedateien genutzt werden und die nicht mit CODE=EBCDIC erstellt wurden:
legt fest, wie der Code der Datei beim Lesen umgesetzt werden soll.
Ist weder im FILE-Makro noch im FCB-Makro ein Wert angegeben, so wird bei Dateieröffnung die Voreinstellung des FCB-Makros wirksam.
= YES
ISO-7-Bit-Code oder OWN-Code werden in EBCDI-Code umgesetzt.
= NO
ISO-7-Bit-Code wird mit einer führenden Null in ein 8-Bit-Format umgesetzt.
TSET
Für Ausgabe-Banddateien mit Standardkennsätzen:
legt über einen TST-Eintrag (in der Tape Set Table) eine Bandmenge für die Datei fest oder stellt die Verbindung zu einem bestehenden TST-Eintrag her, sofern der LINK-Operand angegeben ist. Der entsprechende TFT-Eintrag verweist dann auf den damit verknüpften TST-Eintrag.
Ein TST-Eintrag besteht im Wesentlichen aus einem TSET-Namen und aus einer Datenträgerliste, die mit dem VOLUME-Operanden definiert oder erweitert werden kann. Mit nachfolgenden FILE-Aufrufen kann man sich durch Angabe des TSET-Namens auf diese Datenträgerliste beziehen und sie ggf. erweitern.
Falls TSET zusammen mit LINK angegeben ist, gilt:
Ist der aktuelle TSET-Name bisher in keinem TST-Eintrag enthalten, wird ein neuer Eintrag mit TSET-SHR=1 angelegt (TSET-SHR bezeichnet die Anzahl der mit diesem TST-Eintrag verbundenen TFT-Einträge; siehe Ausgabe des Kommandos SHOW-FILE-LINK).
Existiert bereits ein TST-Eintrag gleichen Namens und ist ein in der TFT nicht vorhandener Dateikettungsname angegeben, wird TSET-SHR um 1 erhöht.
Beim Freigeben eines TFT-Eintrags, der mit einem TST-Eintrag verknüpft ist, wird dessen TSET-SHR um 1 vermindert. Außerdem wird der TST-Eintrag freigegeben, wenn dabei TSET-SHR=0 erreicht wird.
Folgende Bedingungen müssen bei Angabe von TSET erfüllt sein:
Falls eine bereits katalogisierte Datei angegeben ist, muss die Volume-Table im Katalogeintrag leer sein.
Falls eine neue Datei angegeben ist, muss der Operand DEVICE angegeben sein.
Falls der Operand DEVICE angegeben ist, muss sein Wert ein Bandtyp sein.
Folgende Operanden dürfen nicht zusammen mit TSET angegeben werden:
STATE=FOREIGN, DEVICE=WORK, VSEQ, TVSN, FSEQ=UNK, FSEQ=n mit n>1, FSEQ=Null-Operand, VOLUME=REMOVE-UNUSED
= <name 1..4>
Tape-Set-Name in dem TST-Eintrag, auf den Bezug genommen wird. Falls der TST-Eintrag noch nicht existiert oder noch keinen File-Set-Identifier hat und der VOLUME-Operand angegeben ist, wird die erste über den VOLUME-Operanden erhaltene VSN als File-Set-Identifier eingetragen.
= (<name 1..4>,<name 1..6>)
der vierstellige Name bezeichnet einen TST-Eintrag, der sechsstellige Name (Archivnummer „vsn“) ist das Dateimengenkennzeichen (File Set Identifier).
Falls der TST-Eintrag bereits existiert, muss der File-Set-Identifier in der TSET-Angabe mit dem File-Set-Identifier im TST-Eintrag übereinstimmen. Bei Dateieröffnung müssen die Dateimengenkennzeichen im TST-Eintrag und im HDR1-Kennsatz übereinstimmen.
TVSN
Nur für Banddateien, die als Eingabedateien genutzt werden:
gibt eine temporäre Liste von Archivnummern für die Verarbeitung an. Diese bildet dann die Datenträgerliste. Wird der Operand TVSN angegeben, wird bei der Dateiverarbeitung die Datenträgerliste des Katalogeintrags ignoriert; es werden nur die mit TVSN angegebenen Datenträger verwendet. Der Katalogeintrag wird jedoch nicht verändert.
Folgende Operanden dürfen nicht zusammen mit TVSN angegeben werden:
*DUMMY, STATE=FOREIGN, TSET, VOLUME
= <@adr>
Nur ab VERSION=2:
adr ist eine symbolische Adresse im Programm, an der mit dem Makroaufruf FILELST TVSN=... eine TVSN-Liste angelegt wurde.
Das Zeichen „@“ ist Bestandteil des Operandenwertes und muss mit angegeben werden.
= list-poss (255): <name 1..6>
gibt die Archivnummern der Datenträger an, die für die Eingabe benötigt werden.
VALLEN = <integer 0..255>
Für K-ISAM-Dateien:
legt die Länge einer Wertmarkierung (Value Flag) im ISAM-Index fest.
Ist weder im FILE-Makro noch im FCB-Makro ein Wert angegeben, so wird bei Dateieröffnung die Voreinstellung des FCB-Makros wirksam.
Wertmarkierungen werden bei K-ISAM blockweise ausgewertet und entsprechend der VALPROP-Angabe in den nächsthöheren Indexeintrag übernommen; bei NK-ISAM wird die VALLEN-Angabe ignoriert.
= *BY-PROG
Nur ab Version=3 und nur relevant bei Angabe des Operanden DATATTR:
Der VALLEN-Wert aus dem Katalogeintrag der Referenzdatei wird ignoriert.
VALPROP
Für K-ISAM-Dateien:
VALPROP (= Value Propagation) legt fest, wie die Wertmarkierung in die Indexeinträge zu übernehmen ist.
Ist weder im FILE-Makro noch im FCB-Makro ein Wert angegeben, so wird bei Dateieröffnung die Voreinstellung des FCB-Makros wirksam.
= *BY-PROG
Nur ab Version=3 und nur relevant bei Angabe des Operanden DATATTR:
Der VALPROP-Wert aus dem Katalogeintrag der Referenzdatei wird ignoriert.
= MIN
Der niedrigste Wert für die Wertmarkierung innerhalb eines Daten- oder Indexblocks wird in den Indexeintrag der nächsthöheren Stufe übernommen.
= MAX
Der höchste Wert der Wertmarkierung innerhalb eines Daten- oder Indexblocks wird in den Indexeintrag der nächsthöheren Stufe übernommen.
VERSION
legt fest, welche Version der Operandenliste und welcher SVC erzeugt werden soll.
Voreinstellung: VERSION=0
Hinweis
In allen FILE-Aufrufen, die sich durch den MF-Operanden unterscheiden (MF=L/E/D/C), muss der Operand VERSION den gleichen Wert haben.
= 0
Es wird das „alte“ Format der Operandenliste (Stand BS2000 V9.0) (SVC 159) erzeugt. Zur Unterstützung von Gerätetypen und Funktionen, die erst nach dieser Version eingeführt wurden muss daher ein neues Format der Operandenliste (ab VERSION=1) verwendet werden.
= 1
ist gültig ab BS2000 V9.5:
Es wird eine Operandenliste mit Standardheader (SVC 144) erzeugt. Über die Operanden der BS2000-Version 9.0 hinaus unterstützt dieses Format auch die zur BS2000-Version 9.5 neu eingeführten Operanden BLKCTRL, CLOSMSG, DESTOC, POOLLNK und TAPEWR sowie die ab V9.5 gültigen Gerätetypen.
= 2
ist gültig ab BS2000 V10.0:
Es wird eine Operandenliste mit Standardheader (SVC 144) erzeugt. Im Unterschied zur Operandenliste mit VERSION=1 sind die variablen Teile (für die Operanden VOLUME, DVOLUME, TVSN, MOUNT und VSEQ) der Operandenliste in eigene Bereiche ausgelagert. Diese Bereiche können mit dem Makro FILELST erzeugt werden.
Folgende Operanden bzw. Operandenwerte werden nur ab VERSION=2 unterstützt:
IOPERF, IOUSAGE, CLOSE, BLKCTRL=DATA2K/DATA4K, SHARUPD=WEAK und SPACE=(...,*KEEP)
= 3
ist gültig ab BS2000/OSD-BC V3.0. Es wird eine Operandenliste mit Standardheader (SVC 144) erzeugt.
Folgende Operanden bzw. Operandenwerte werden nur ab VERSION=3 unterstützt:
AVAIL, CLOSE=KEEP-DATA-IN-CACHE, CODE=ISO7D, DATATTR, DISKWR, EXC32GB, LOCKENV, NFTYPE, POOLSIZ, STOCLAS, VOLSET, VOLUME= REMOVE-UNUSED, WORKFIL und bei einigen Operanden der Wert =*BY-PROG.
Dieses Format der Operandenliste bietet die beste Unterstützung bei der Programmierung; es sollte auch im Hinblick auf die Weiterentwicklung des FILE-Makros verwendet werden.
VOLSET
Nur ab VERSION=3 für Dateien auf SM-Pubsets:
legt fest, auf welchem Volume-Set die Datei angelegt werden soll. Die Angabe wird abgewiesen, wenn die Datei bereits Speicherplatz belegt, die Datei auf einem Net-Storage-Volume angelegt werden soll oder wenn SPACE mit nichtpositiver Primärzuweisung angegeben ist.
Die Angabe eines Volume-Sets mit permanenter Datenhaltung erfordert das Recht auf physikalische Allokierung.
= <c-string: catid 1..4>
Katalogkennung des Volume-Sets, auf dem die Datei angelegt werden soll.
= *CONTROL
Die Datei wird auf dem Control-Volume-Set des SM-Pubsets angelegt.
VOLUME
gibt an, welche Datenträger für die Dateiverarbeitung benötigt werden.
Sind beim Neueinrichten einer Datei weder DEVICE noch VOLUME angegeben, wird die Datei auf gemeinschaftlichen Datenträgern angelegt.
Net-Storage-Volumes gelten als Platten und können ohne das Recht auf physikalische Allokierung angegeben werden.
Falls die erste über den Operanden VOLUME erhaltene VSN ein Net-Storage-Volume bezeichnet, das dem Pubset zugeordnet ist, auf dem die Datei liegt bzw. angelegt werden soll, wird der VSN auch dann das Net-Storage-Volume zugeordnet, wenn die VSN gleichzeitig eine Privatplatte bezeichnet.
Für Dateien auf gemeinschaftlichen Platten, Net-Storage-Volumes oder auf Privatplatten:
Die Datenträgerliste enthält alle Platten, auf denen (ggf. nach Abschluss der Speicherplatzzuweisung) Extents der Datei liegen.
Das DVS versucht, den gesamten mit SPACE angeforderten Platz auf der ersten Platte zu reservieren. „Nicht verwendete“ Archivnummern werden für spätere Erweiterungen in die Datenträgerliste des Katalogeintrags übernommen.
Falls keine Speicherplatzzuweisung nötig ist, werden die angegebenen Archivnummern ignoriert.
Für Dateien auf einem Net-Storage-Volume:
Die Datenträgerliste besteht aus der VSN des Net-Storage-Volumes auf dem die Datei liegt bzw. angelegt wird. Durch diese VSN wird auch der Net-Storage-Volume-Typ (NETSTOR oder NETVOL) festgelegt auf dem die Datei angelegt wird. Die Volume-Table im Katalogeintrag und (bei Angabe des Operanden LINK) die Volume-Table im erzeugten TFT-Eintrag bestehen ebenfalls aus dieser einen VSN. Der Pubset, an dem die Datei katalogisiert ist bzw. katalogisiert wird, muss dem Net-Storage-Volume zugeordnet sein, auf dem die Datei liegt bzw. angelegt wird.
Für Banddateien:
Die Datenträgerliste setzt sich zusammen aus den Archivnummern des Katalogeintrags (sofern bereits vorhanden) und den sich logisch daran anschließenden Archivnummern des VOLUME-Operanden. Es wird standardmäßig der erste Datenträger aus der Datenträgerliste angefordert (sofern nicht MOUNT=0 angegeben wird). Fordert der Anwender die Bereitstellung mehrerer Datenträger, ist im MOUNT-Operanden anzugeben, wie viele Datenträger gleichzeitig bereitgestellt werden sollen.
Ist „Pfadname“ noch nicht katalogisiert, werden die Archivnummern des VOLUME-Operanden in den Katalogeintrag übernommen. Außerdem kann mit dem TSET-Operanden die Verbindung zu einem TST-Eintrag hergestellt werden.
Die Auswirkungen des Operanden VOLUME hängen davon ab, ob der Operand TSET angegeben wird. Ist er nicht angegeben, wird die Datenträgerliste unverändert in den Katalogeintrag übernommen. Ist TSET angegeben, wird zunächst die Datenträgerliste des TST-Eintrages aktualisiert bzw. erstellt und anschließend die Datenträgerliste des Katalogeintrages entsprechend dem TST-Eintrag erstellt. Nach Dateieröffnung wird dann der Katalogeintrag anhand der Datenträgerliste im TST-Eintrag aktualisiert.
Ist „Pfadname“ bereits katalogisiert, bilden die Archivnummern des VOLUME-Operanden eine Erweiterung der Volume-Table des Katalogeintrags. Der VOLUME-Operand darf also keine Archivnummern enthalten, die bereits im Katalogeintrag enthalten sind.
= @adr
Nur ab VERSION=2:
adr ist eine symbolische Adresse im Programm, an der mit dem Makroaufruf FILELST VOLUME=... eine VOLUME-Liste angelegt wurde.
Das Zeichen „@“ ist Bestandteil des Operandenwertes und muss mit angegeben werden.
= REMOVE-UNUSED
Nur für bereits katalogisierte Banddateien:
Es werden alle Bänder aus der Volume-Table des Katalogeintrags entfernt, auf denen keine Daten der Datei liegen.
LINK und TSET dürfen nicht zusammen mit REMOVE-UNUSED angegeben werden.
= PRIVATE
Für die Dateiverarbeitung wird ein privater Datenträger benötigt. Dazu wird der Operator durch eine Meldung an der Konsole aufgefordert, die Archivnummer des Datenträgers anzugeben.
In einem FILE-Aufruf für die Pseudodatei *DUMMY wird VOLUME=PRIVATE ignoriert.
= (PRIVATE,<integer 1..9>)
Für die Dateiverarbeitung werden mehrere private Datenträger benötigt. Dazu wird der Operator durch eine Meldung an der Konsole aufgefordert, die Archivnummern der Datenträger anzugeben.
Für die Pseudodatei *DUMMY wird VOLUME=(PRIVATE,<integer 1..9>) ignoriert.
= list-poss(255): <name 1..6>
Archivnummern (VSNs) der angeforderten Datenträger
VSEQ
Für katalogisierte Banddateien mit Standardkennsätzen:
Der VSEQ-Operand ermöglicht eine abschnittsweise Dateiverarbeitung. Ein Dateiabschnitt ist der Teil einer Mehrbanddatei, der sich auf einem Band befindet (für den Einfluss auf den Aufbau der TFT-Datenträgerliste siehe „Hinweise zur Programmierung").
Der VSEQ-Operand bezieht sich auf die Datenträgerliste (siehe Operand VOLUME).
Die Dateiabschnittsnummern entsprechen relativen Archivnummern, d.h. sie geben die Position der Archivnummer in der Datenträgerliste an.
Einzelangabe: | Wird im VSEQ-Operanden nur eine Dateiabschnittsnummer angegeben, so werden alle Datenträger ab dem so bezeichneten Eintrag in die Volume-Table des TFT-Eintrags übernommen. |
Listenangabe: | Wird im VSEQ-Operanden eine Liste von Dateiabschnittsnummern angegeben, so werden die so bezeichneten Einträge in die Volume-Table des TFT-Eintrags übernommen. |
VSEQ darf nicht zusammen mit TSET oder STATE=FOREIGN angegeben werden. Wurde die Datei bisher nicht bzw. nur mit CATAL katalogisiert, wird jede VSEQ-Angabe außer VSEQ=1 abgewiesen.
= @adr
Nur ab VERSION=2:
adr ist eine symbolische Adresse im Programm, an der mit dem Makroaufruf FILELST VSEQ=... eine VSEQ-Liste angelegt wurde.
Das Zeichen „@“ ist Bestandteil des Operandenwertes und muss mit angegeben werden.
= <integer 1..255>
Nummer des Abschnitts, an dem die Verarbeitung beginnen soll.
Ist „pfadname“ eine Ausgabedatei (OPEN=OUTPUT/OUTIN), muss VSEQ=1 angegeben werden.
Ist „pfadname“ eine Eingabedatei, bezeichnet VSEQ=zahl den Dateiabschnitt, an dem die Dateiverarbeitung beginnen soll.
Wird „pfadname“ mit OPEN EXTEND eröffnet/erweitert, gibt VSEQ den Dateiabschnitt an, an dem die Erweiterung beginnt.
Im Zusammenhang mit OPEN REVERSE können einzelne Bänder einer Datei verarbeitet werden, automatischer Bandwechsel ist jedoch nicht möglich.
= (L=list-poss (255): <integer 1..255>)
gibt an, in welcher Reihenfolge die Dateiabschnitte verarbeitet werden sollen. Diese Angabe ist nur zulässig für Eingabedateien, nicht für Ausgabedateien. Für Dateien, die mit OPEN REVERSE eröffnet werden, kann nur eine Dateiabschnittsnummer angegeben werden; automatischer Bandwechsel wird nicht unterstüzt.
WORKFIL
Nur ab VERSION=3, für Dateien auf SM-Pubsets:
legt fest, ob die Datei auf einem Volume-Set für Arbeitsdateien oder auf einem Volume-Set mit permanenter Datenhaltung angelegt wird. Volume-Sets für Arbeitsdateien werden zu einem von der Systemverwaltung festgelegten Zeitpunkt wieder gelöscht. Arbeitsdateien können nicht auf einem Net-Storage-Volume angelegt werden. Wird die Datei mittels nichtphysikalischer Allokierung auf einem SM-Pubset angelegt und ist WORKFIL nicht angegeben, so wird die Datei auf einem Volume-Set mit permanenter Datenhaltung abgelegt. Die Angabe von WORKFIL wird in folgenden Fällen abgewiesen:
für Generationen
wenn die Datei bereits Speicherplatz belegt
wenn SPACE mit nichtpositiver Primärzuweisung angegeben ist
wenn die Datei auf einer Privatplatte zu liegen kommt.
= NO
Die Datei wird auf einem Volume-Set mit permanenter Datenhaltung abgelegt.
= YES
Die Datei wird auf einem Volume-Set für Arbeitsdateien angelegt. Die Angabe ist nicht erlaubt für temporäre Dateien.
WRCHK
Für die Verarbeitung von Plattendateien:
gibt an, ob bei Schreiboperationen „Kontroll-Lesen“ erfolgt. „WRCHK“ wird nicht in den Katalogeintrag aufgenommen und muss daher vor jeder Verarbeitung oder Dateieröffnung wiederholt werden.
Ist weder im FILE-Makro noch im FCB-Makro ein Wert angegeben, so wird bei Dateieröffnung die Voreinstellung des FCB-Makros wirksam.
Kontroll-Lesen: Prüfung auf Aufzeichnungsfehler (->
Error-Recovery-Maßnahmen). Ist der Fehler nicht behebbar, wird der EXLST-Ausgang ERRADR angestoßen. Das Kontroll-Lesen geht zulasten der Performance.
= NO
Es erfolgt kein Kontroll-Lesen.
= YES
Es erfolgt Kontroll-Lesen.
WROUT
Für ISAM-Verarbeitung:
WROUT steuert das Zurückschreiben geänderter Blöcke auf die Platte. Bei Shared-Update-Verarbeitung, in taskübergreifenden ISAM-Pools und in tasklokalen ISAM-Pools, für die WRITE-IMMEDIATE eingestellt wurde, gilt implizit WROUT=YES: geänderte Blöcke werden stets sofort auf Platte zurückgeschrieben.
Ist weder im FILE-Makro noch im FCB-Makro ein Wert angegeben, so wird bei Dateieröffnung die Voreinstellung des FCB-Makros wirksam.
= NO
Der geänderte Block wird erst dann zurückgeschrieben, wenn der Inhalt des betreffenden Pufferbereichs ersetzt werden muss, spätestens beim Schließen der Datei.
= YES
Jeder geänderte Block wird sofort zurückgeschrieben, sodass die Konsistenz der Daten auf Platte und im virtuellen Speicher stets gewährleistet ist. Allerdings ist damit auch eine erhöhte Ein-/Ausgaberate verbunden.
Hinweise zur Programmierung
Aufbau der Operandenliste bei Angabe von VERSION=0 oder VERSION=1
Die Operandenliste des FILE-Makros besteht aus mehreren festen und variablen Bereichen:
|
|
|
: |
|
: |
|
|
|
: |
|
: |
Für die beiden festen Bereiche der Operandenliste werden mit MF=D im FILE-Makroaufruf zwei DSECTs erzeugt. Der Makroaufruf IDPFL erzeugt eine DSECT für den festen Bereich 1, der Makroaufruf IDPFX eine DSECT für die FILE-Erweiterung. Die DSECTS aus IDPFL und IDPFX unterstützen jedoch nur das bereits vor der BS2000-Version V9.5 vorhandene Makroaufrufformat.
Aufbau der Operandenliste ab VERSION=2
Dieses Format unterstützt alle ab BS2000 V10.0 neu eingeführten Operanden und Operandenwerte.
Im Unterschied zur Operandenliste bei VERSION=0/1 kann der Anwender ab VERSION=2 die variablen Teile für die VOLUME-, TVSN-, MOUNT-, DVOLUME- und VSEQ-Angaben in eigene Bereiche außerhalb der Operandenliste auslagern, indem er bei diesen Operanden jeweils mit der Angabe „@adr“ auf eine symbolische Adresse „adr“ im Programm verweist, an der er mit dem Makro FILELST eine Liste mit den zugehörigen Operandenwerten angelegt hat.
Die vom FILE-Makro erzeugte Operandenliste ist in diesem Fall ein Bereich fester Länge, der lediglich Adressverweise auf die ausgelagerten variablen Listen enthält. Sie hat folgenden Aufbau:
DSECTs für den festen Bereich und die ausgelagerten variablen Bereiche können mit der D-Form des FILE- und des FILELST-Makros erzeugt werden.
Beispiel
Das Programm TAPEFIL liest die Banddatei TAPE.FILE über den Dateikettungsnamen INTAPE. Die Liste der benötigten Datenträger wird mit dem Operanden TVSN im FILE-Makro spezifiziert:
TAPEFIL START . . FILE TAPE.FILE,LINK=INTAPE,TVSN=@TVSNLIST,VERSION=3,MF=L ————————— (1) . . TVSNLIST FILELST TVSN=(VOL003,VOL009,VOL017) —————————————————————— (2) . . END
(1) | Die Angabe @TVSNLIST im Operanden TVSN erzeugt in der Operandenliste des FILE-Makros einen Adressverweis auf die symbolische Adresse TVSNLIST. An dieser Stelle erwartet der FILE-Makro den (variablen) Bereich mit der Liste der TVSN-Werte. |
(2) | Der Makro FILELST erzeugt an der Adresse TVSNLIST eine Liste mit den Werten für den Operanden TVSN im FILE-Makro. |
Hinweise für die Verarbeitung von Banddateien
Operand STATE = FOREIGN
Im Katalogeintrag wird ein FOREIGN-Kennzeichen gesetzt, sodass die Eigenschaften der Datei nicht mit einem CATAL-Makroaufruf geändert werden können. Das FOREIGN-Kennzeichen wird bei der Dateieröffnung zurückgesetzt.
Gehören aufeinander folgende Dateigenerationen einer Gruppe zum gleichen MF/MV-Set, sollte auf keinen Fall im CATAL-Makroaufruf DISP=REUSE angegeben werden, da dies zur Zerstörung von Dateigenerationen führen kann.
Die Vorgehensweise bei der Übernahme einer FOREIGN-Banddatei entspricht nicht der bei privaten Plattendateien. Dies liegt daran, dass der Katalogeintrag einer FOREIGN-Plattendatei eindeutig ist. Für FOREIGN-Banddateien könnte diese Eindeutigkeit dann erzielt werden, wenn die Benutzerkennungen der Datei-Eigentümer in dem System existieren, in das die Datei übernommen werden soll. Ist jedoch die Benutzerkennung nicht vorhanden, ist es nicht möglich, die Eigentümerkennung auf dem Band zu ändern (HW-Einschränkung führt zur Zerstörung der Datei). Auch wenn der Systemverwalter eine Datei für eine schon bestehende Benutzerkennung übernimmt, ist das keine Garantie für die Einmaligkeit des Katalogeintrages, da er die Datei auch unter einer weiteren Benutzerkennung katalogisieren kann.
Dennoch sind Banddateien mit Standardkennsätzen genauso geschützt gegen Widersprüchlichkeiten zwischen Dateieigenschaften der Kennsätze und der des Katalogeintrages wie Plattendateien durch die Einschränkungen im CATAL-Makroaufruf. Lediglich die Möglichkeit des Dateieigentümers, die Dateieigenschaften mittels Angabe des SECLEV= LOW im FCB zu ändern, birgt in sich einen Unsicherheitsfaktor. Deshalb sollten für eine Datei in einem System dann nicht mehrere Katalogeinträge vorhanden sein, wenn auch der Eigentümer dieser Datei in dem gleichen System arbeitet.
Returncodes
Der Fehlercode wird ab Version 3 nur noch im Standardheader der Parameterliste und nicht mehr wie in Version 2 im Mehrzweckregister 15 zurückgeliefert. Der Standardheader darf nicht im Read-only-Bereich liegen, sonst erfolgt Programmterminierung.
Standardheader: ccbbaaaa
Über die Ausführung des Makros FILE wird im Standardheader folgender Returncode übergeben (cc = SUBCODE2, bb = SUBCODE1, aaaa = MAINCODE):
X'cc' | X'bb' | X'aaaa' | Erläuterung |
X'00' | X'0000' | Kein Fehler | |
X'40' | X'0501' | Angeforderter Katalog nicht verfügbar | |
X'82' | X'0502' | Angeforderter Katalog im Ruhezustand | |
X'40' | X'0503' | Falsche Information im MRSCAT | |
X'82' | X'0504' | Fehler beim Katalogzugriff | |
X'40' | X'0505' | Fehler bei der Rechner-Kommunikation (MRS) | |
X'80' | X'0506' | Operation wegen Masterwechsel abgebrochen | |
X'40' | X'0510' | Fehler beim Aufruf einer internen Funktion | |
X'40' | X'0511' | Keine Allokierung wegen MVDF-Inkonsistenz | |
X'40' | X'0512' | Katalogkennung ist nicht im MRSCAT eingetragen | |
X'40' | X'0515' | Aufruf wurde von System-Exit-Routine abgewiesen | |
X'40' | X'051B' | Benutzerkennung im angegebenen Pubset unbekannt | |
X'40' | X'051C' | Kein Zugriffsrecht auf angegebenen Pubset | |
X'40' | X'051D' | LOGON-Passwort auf angegebenem Pubset anders | |
X'02' | X'00' | X'051E' | Nur Teilallokierung wegen MVDF-Inkonsistenz |
X'20' | X'0531' | Unerwarteter Fehler beim Katalogzugriff | |
X'82' | X'0532' | Datei gesperrt weil in Gebrauch | |
X'40' | X'0533' | Datei nicht gefunden | |
X'82' | X'0534' | Privater Datenträger kann nicht zugewiesen werden | |
X'40' | X'0535' | Keine Zugriffsberechtigung auf den Katalogeintrag der Datei | |
X'20' | X'0536' | Fehler im Dateiverwaltungssystem | |
X'40' | X'053A' | Fehler beim Ändern des F1-Labels auf privater Platte | |
X'20' | X'053B' | Systemfehler beim Katalogzugriff | |
X'82' | X'053C' | Katalog-Datei des Pubsets ist voll | |
X'40' | X'053D' | Katalog oder F1-Etikett-Block ist zerstört | |
X'40' | X'053E' | Datei auf privatem Datenträger bereits katalogisiert | |
X'82' | X'053F' | Datei ist von einer anderen Task reserviert | |
X'40' | X'0540' | Pubset enthält kein passendes Volume-Set | |
X'82' | X'0541' | Kein Plattenspeicherplatz zugewiesen | |
X'82' | X'0542' | Gerät nicht verfügbar / Platte exklusiv | |
X'20' | X'0543' | Fehlerhafter Allokator-Parameterbereich | |
X'20' | X'0544' | Falsch formatierter Katalogeintrag | |
X'40' | X'0545' | Public Volume nicht angeschlossen | |
X'02' | X'00' | X'0546' | Katalogeintrag der Datei ist voll |
X'40' | X'0547' | Datenträger kann nicht montiert werden | |
X'82' | X'0548' | Speichermangel | |
X'20' | X'0549' | Systemfehler bei REQM- oder AQIR-Aufruf | |
X'02' | X'00' | X'054A' | Speicherplatz nur teilweise zugewiesen |
X'40' | X'054B' | Zur angegebenen Catid ist kein Volume-Set verfügbar | |
X'82' | X'054D' | Speicherplatz-Kontingent erschöpft | |
X'82' | X'0550' | Datei geöffnet und damit gesperrt | |
X'01' | X'0551' | VSN für Banddatei mehrfach angegeben | |
X'01' | X'0553' | Unzulässige absolute Speicherplatzanforderung | |
X'01' | X'0554' | Format des Dateinamens unzulässig | |
X'40' | X'0555' | STATE=FOREIGN: Datei bereits katalogisiert | |
X'01' | X'0556' | STATE=FOREIGN: Gerätetyp ungültig oder fehlend | |
X'40' | X'0557' | Fehlerhafte VSN-Angabe | |
X'01' | X'0558' | Public-VSN unzulässig | |
X'01' | X'0559' | Unzulässige Angabe bei MOUNT | |
X'82' | X'055A' | Bandgeräte zurzeit belegt | |
X'40' | X'055C' | F1-Label fehlt | |
X'40' | X'055D' | Benutzer hat kein Recht zur physikalischen Allokierung | |
X'40' | X'055E' | Fremde Benutzerkennung für nicht katalogisierte Datei | |
X'40' | X'055F' | Datenträger konnte nicht belegt werden | |
X'01' | X'0576' | Fehlerhafte Operandenkombination oder nicht gelöschte UNUSED-Felder | |
X'20' | X'0578' | Interner Fehler bei der Überprüfung der Zugriffsrechte | |
X'01' | X'0579' | Ungültiger Operand für temporäre Datei oder für Arbeitsdatei | |
X'40' | X'057A' | Storage-Klasse unverträglich mit Dateieigenschaften | |
X'40' | X'057B' | Unerlaubter Operand für migrierte Datei | |
X'40' | X'057C' | HSMS hat Recall abgewiesen | |
X'40' | X'057E' | HSMS nicht verfügbar | |
X'01' | X'0590' | Gerätetypangabe für privaten Datenträger fehlt | |
X'01' | X'0592' | Privatplattendatei hat Katalogeintrag ohne Extents oder Gerätetypbestimmung für Public-Platte abgewiesen | |
X'01' | X'0593' | Absolutzuweisung: Anzahl von Halbseiten unzulässig | |
X'82' | X'0594' | Nicht genug virtueller Speicher verfügbar | |
X'01' | X'0595' | Unzulässiger Mix von Public- und Private-VSNs | |
X'01' | X'0596' | Gerätetypangabe nicht gemäß Katalogeintrag | |
X'01' | X'0597' | Absolutzuweisung: erste Halbseite nicht auf Unitgrenze | |
X'01' | X'0599' | Operand wird in der Remote-Version nicht unterstützt | |
X'01' | X'05A3' | Fehlerhafte SPACE-Angabe | |
X'01' | X'05A4' | Fehlerhafte Verwendung von DSPACE/DVOLUME/DDEVICE | |
X'01' | X'05A8' | Gerätetyp im System nicht vorhanden | |
X'82' | X'05B0' | Kein passendes Bandgerät verfügbar | |
X'82' | X'05B1' | Für die Datei besteht eine Dateisperre | |
X'40' | X'05B4' | Datenträgeranforderung wurde abgewiesen | |
X'40' | X'05BD' | Unzulässige Kombination von Datei- und Volume-Set-Eigenschaften | |
X'01' | X'05C2' | Kettungsname = X'0000000000000000' | |
X'82' | X'05C3' | Zu löschende Dateigeneration gesperrt | |
X'40' | X'05C4' | Bei Operatormeldung trat ein Fehler auf | |
X'20' | X'05C7' | Interner Fehler im DMS | |
X'82' | X'05C8' | CE-Limit für Benutzerkennung überschritten | |
X'20' | X'05CA' | Interner Fehler bei Änderung des CE-Limits | |
X'40' | X'05D8' | Datei mit Kennwort geschützt | |
X'40' | X'05DA' | Speicherplatzfreigabe auf fremder Benutzerkennung | |
X'01' | X'05DF' | Unzulässige Angabe zu BLIM / CHKPT | |
X'20' | X'05E0' | Dateisperre wegen Systemfehler bei Speicherplatzverwaltung | |
X'01' | X'05E8' | Dateiname ungültig für Plattendatei | |
X'01' | X'05EE' | Pfadname nach Komplettierung zu lang | |
X'01' | X'05EF' | Dateischutz mit GUARD geht nur für Public-Dateien | |
X'01' | X'05FA' | Pubset nicht lokal zugreifbar | |
X'40' | X'05FC' | Benutzerkennung nicht eingetragen | |
X'40' | X'05FD' | Datei durch Freigabedatum oder Zugriffsart geschützt | |
X'40' | X'0606' | Datenträger-Anforderung von MAREN abgewiesen | |
X'40' | X'0609' | Speicherplatzfreigabe für Systemdatei nicht erlaubt | |
X'40' | X'060D' | Fehlerhafter Dateiname für Referenzdatei angegeben | |
X'40' | X'060E' | Referenzdatei nicht gefunden oder nicht zugreifbar | |
X'40' | X'0613' | Fehlerhafte Angabe einer Storage-Klasse | |
X'40' | X'0640' | Zugriff auf Net-Storage wird vom Subsystem ONETSTOR wegen Kommunikationsproblemen mit dem Net-Client abgewiesen | |
X'40' | X'0641' | Datei auf Net-Storage bereits vorhanden | |
X'40' | X'0642' | Große Dateien auf dem angegebenen Pubset nicht erlaubt | |
X'40' | X'0643' | Net-Client meldet Zugriffsfehler | |
X'40' | X'0644' | Net-Client meldet internen Fehler | |
X'40' | X'0645' | Datei auf Net-Storage nicht vorhanden | |
X'40' | X'0647' | Angegebener Dateityp stimmt nicht mit dem Katalog-Eintrag der Datei überein | |
X'40' | X'0648' | Angabe von Dateityp, Device und Volume passen nicht zusammen | |
X'40' | X'0649' | Net-Server meldet POSIX-ACL-Fehler | |
X'40' | X'064A' | Net-Client meldet, dass Zugriff auf Dateien auf dem Net-Storage-Volume verboten ist | |
X'40' | X'064B' | Zugriff auf Node-Files vom Net-Client nicht unterstützt | |
X'40' | X'0652' | Absolute Speicherplatz Anforderung auf Net-Storage nicht erlaubt | |
X'40' | X'0653' | Net-Storage-Volume vom Typ NETVOL kann nicht importiert werden | |
X'40' | X'0666' | Datei ist gegen geforderten Zugriff geschützt | |
X'40' | X'0683' | Datei existiert bereits | |
X'40' | X'0689' | Operand nur erlaubt für Datei ohne Speicher | |
X'40' | X'06B5' | Datei ist nicht ordnungsgemäß geschlossen | |
X'01' | X'06C7' | Ungültige Generationsnummer | |
X'01' | X'06C8' | Attribut unzulässig für Dateigenerationen | |
X'40' | X'06CD' | FGG gegen Erweitern geschützt | |
X'01' | X'06CF' | Angabe einer FGG unzulässig | |
X'40' | X'06D0' | STATE=FOREIGN für nicht existierende Dateigeneration | |
X'40' | X'06D1' | FGG-Index durch andere Task gesperrt | |
X'01' | X'06DA' | Unzulässiger Public-Private-Mix für FGG | |
X'01' | X'06DF' | Unzulässige Angabe zu FSEQ/VSEQ/TSET | |
X'01' | X'06FD' | Ungültige Adresse des Parameterbereiches | |
X'40' | X'06FF' | BCAM-Verbindung abgebrochen | |
X'01' | X'FFFF' | Falsche Funktionsnummer im Standardheader | |
X'03' | X'FFFF' | Falsche Versionsnummer im Standardheader |