TFT-Eintrag erzeugen und mit Werten versehen
Komponente: | BS2000 |
Funktionsbereich: | Dateiverarbeitung |
Anwendungsbereich: | FILE |
Privilegierung: | STD-PROCESSING |
Berechtigungsschlüssel: | $ (bei NBCONOPI=N) bzw. E (bei NBCONOPI=Y) |
Funktionsbeschreibung
Das Kommando ADD-FILE-LINK erzeugt zu dem im Operanden LINK-NAME angegebenen Kettungsnamen einen TFT-Eintrag (Task File Table). Mit dem Kommando wird der TFT-Eintrag gleichzeitig mit Werten versehen. Existiert zu dem im Operanden LINK-NAME angegebenen Kettungsnamen bereits ein TFT-Eintrag, so wird dieser durch den neuen TFT-Eintrag überschrieben.
Ein neuer Katalogeintrag kann durch das Kommando nicht erzeugt, der Katalogeintrag einer Plattendatei nicht verändert werden. Dagegen kann der Katalogeintrag einer Banddatei verändert werden (z.B über die Operanden ADD-CATALOG-VOLUME, TAPE-SET-NAME, FILE-SEQUENCE).
Die Speicherplatzbelegung einer Plattendatei lässt sich über das Kommando nicht ändern.
Ein vorhandener TST-Eintrag (Tape Set Table) kann durch das Kommando nicht verändert werden; hierfür ist das Kommando EXTEND-TAPE-SET vorgesehen.
Das Kommando wird in folgenden Fällen abgewiesen:
Im Operanden FILE-NAME wurde ein anderer Wert als *BY-PROGRAM, *DUMMY oder der Name einer bereits katalogisierten Datei angegeben.
Im Operanden FILE-NAME wurde eine Plattendatei angegeben, für die kein Speicherplatz reserviert ist (die Angabe einer katalogisierten Banddatei ist dagegen auch dann erlaubt, wenn im Katalogeintrag die Datenträgertabelle leer ist).
Funktionsübersicht
Funktion / Bedeutung | Operand 1. Stufe | Operand 2./3. Stufe |
---|---|---|
Dateikettungsnamen definieren, für den ein TFT-Eintrag erstellt wird | ||
Dateiname/Dateigeneration, auf den sich das Kommando ADD-FILE-LINK bezieht | ||
Zugriffsmethode (ISAM, SAM, BTAM ...) | ||
Datei-Eröffnungsart (OPEN-Mode) | ||
Datei-Schließungsart (CLOSE-Mode) | ||
Datei-Attribute einer Datei übernehmen | ||
Satzformat | ||
Satzformat Variabel | ||
| ||
Satzformat Fest | ||
| ||
Satzformat Undefiniert | ||
| ||
Satzlänge | ||
Blocklänge | ||
Blockkontrollinformation | ||
Anzahl anzufordernder Datenträger | ||
Schutzfrist | ||
Art des Datenträgers festlegen | ||
Datenträger: Platte | ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
Datenträger: Magnetband | ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
Meldungsausgabe nach Abschluss der CLOSE-Verarbeitung |
Tabelle 18: Funktionsübersicht ADD-FILE-LINK-Kommando
Format
ADD-FILE-LINK | Kurzname: ADFL | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Operandenbeschreibung
LINK-NAME = <filename 1..8 without-gen>
Kettungsname, unter dem Programme die Datei eröffnen können.
Über Dateikettungsname/TFT werden Programm und Datei miteinander verknüpft. Für den hier angegebenen Dateikettungsnamen wird ein TFT-Eintrag angelegt; die übrigen Operanden werden ausgewertet und die Werte in den TFT-Eintrag übernommen. Existiert unter dem angegebenen Kettungsnamen bereits ein Eintrag in der TFT, so wird dieser durch den neuen überschrieben.
Wurde der alte TFT-Eintrag mittels LOCK-FILE-LINK gesperrt, so bleibt auch der neue Eintrag gesperrt.
Die alten Datenträger- und Gerätereservierungen werden aufgehoben; Bandgeräte bleiben dem Auftrag verfügbar, können jedoch über das Kommando SECURE-RESOURCE-ALLOCATION freigegeben werden.
Ein TSET-Name kann nicht als Dateikettungsname verwendet werden.
FILE-NAME = *BY-PROGRAM / *DUMMY / <filename 1..54>
Bezeichnet die Datei, auf die sich das Kommando ADD-FILE-LINK bezieht; für FILE-NAME darf keine Dateigenerationsgruppe angegeben werden.
Die unter FILE-NAME angegebene Datei muss bereits katalogisiert sein. Sofern es sich nicht um eine Banddatei handelt, muss die Datei bereits Speicherplatz belegen.
Ansonsten wird das Kommando ADD-FILE-LINK abgewiesen.
FILE-NAME = *BY-PROGRAM
Der im Programm angegebene Dateiname wird verwendet.
FILE-NAME = *DUMMY
Unter dem angegebenen Kettungsnamen wird ein TFT-Eintrag für eine Pseudodatei (DUMMY-Datei) angelegt. Geräte, Datenträger und Speicherplatz werden nicht zugewiesen.
Mit DUMMY-Dateien können z.B. in Programm-Testphasen Ein-/Ausgabevorgänge simuliert oder bei Wiederanlauf mit dem Kommando RESTART-PROGRAM Dateien ersetzt werden, die für die Verarbeitung nicht mehr benötigt, aber vom Programm vorausgesetzt werden (siehe Kommando RESTART-PROGRAM).
DUMMY-Datei als Eingabedatei: Beim Leseversuch wird die Dateiende-Bearbeitung (EOF-Verarbeitung) angestoßen, d.h. es wird so verfahren, als ob die Datei bereits gelesen worden wäre.
DUMMY-Datei als Ausgabedatei:
Wird versucht in die Pseudodatei zu schreiben, so werden die Daten zwar in die Pufferbereiche des Programms übertragen, die Ausgabe auf einen Datenträger wird jedoch unterdrückt.
FILE-NAME = <filename 1..54>
Auf die hier angegebene Datei bezieht sich das Kommando ADD-FILE-LINK.
ACCESS-METHOD = *BY-DATA-ATTRIBUTES / *BY-PROGRAM / *BY-CATALOG / *SAM / *ISAM /
*BTAM / *UPAM
Bestimmt die Zugriffsmethode bei der Dateiverarbeitung.
Zu Zugriffsmethoden siehe Handbuch „Einführung in das DVS“ [13].
ACCESS-METHOD = *BY-DATA-ATTRIBUTES
Es wird die Zugriffsmethode der im Operanden DATA-ATTRIBUTES angegebenen Datei verwendet. Mit DATA-ATTRIBUTES=*STD gilt ACCESS-METHOD=*BY-PROGRAM.
ACCESS-METHOD = *BY-PROGRAM
Es wird die im Programm angegebene Zugriffsmethode verwendet.
ACCESS-METHOD = *BY-CATALOG
Es wird die im Katalog eingetragene Zugriffsmethode verwendet (siehe Kommando SHOW-FILE-ATTRIBUTES, Ausgabefeld FILE-STRUCT).
ACCESS-METHOD = *SAM
Die beim Operanden FILE-NAME angegebene Datei soll mit der Zugriffsmethode SAM verarbeitet werden. Es können sowohl Platten- als auch Banddateien verarbeitet werden.
ACCESS-METHOD = *ISAM
Die beim Operanden FILE-NAME angegebene Datei soll mit der Zugriffsmethode ISAM verarbeitet werden. Es können nur Plattendateien verarbeitet werden.
ACCESS-METHOD = *BTAM
Die beim Operanden FILE-NAME angegebene Datei soll mit der Zugriffsmethode BTAM verarbeitet werden. Es können nur Banddateien verarbeitet werden. Die BTAM-Verarbeitung wird nicht von allen Programmiersprachen unterstützt.
BTAM-spezifische Operanden: IO-CHAINING, OPEN-MODE=*SINOUT
ACCESS-METHOD = *UPAM
Die beim Operanden FILE-NAME angegebene Datei soll mit der Zugriffsmethode UPAM verarbeitet werden. Es können sowohl Platten- als auch Banddateien verarbeitet werden.
OPEN-MODE = *BY-PROGRAM / *INPUT / *OUTPUT / *EXTEND / *REVERSE / *UPDATE / *OUTIN /
*INOUT / *SINOUT
Gibt an, mit welchem Eröffnungsmodus (OPEN-Mode) die Datei eröffnet werden soll. Diese Angabe kann bei Dateieröffnung noch durch die Angabe in der OPEN-Anweisung im Programm überschrieben werden.
Die folgende Tabelle zeigt, welche Eröffnungsarten abhängig von der Zugriffsmethode (P, B, X) zulässig bzw. nicht zulässig (-) sind.
OPEN-MODE= | Zugriffsmethode | |||
---|---|---|---|---|
ISAM | BTAM | SAM | UPAM | |
*INPUT | P | B | X | X |
*EXTEND | P | - | X | - |
*INOUT | P | B | - | X |
*OUTIN | P | B | - | X |
*OUTPUT | P | B | X | - |
*REVERSE | - | B | X | - |
*SINOUT | - | B | - | - |
*UPDATE | - | - | P | - |
Dabei bedeuten: P: Plattendateien (SUPPORT=*DISK) B: Banddateien (SUPPORT=*TAPE) X: Platten- und Banddateien -: |
OPEN-MODE = *BY-PROGRAM
Es wird der im Programm angegebene OPEN-Modus verwendet.
OPEN-MODE = *INPUT
Die unter FILE-NAME angegebene Datei wird als Eingabedatei verwendet (Datei muss folglich existieren).
OPEN-MODE = *OUTPUT
Die Datei wird erstellt oder - falls bereits vorhanden - ab Dateianfang überschrieben. Für Banddateien werden Kennsätze erzeugt.
OPEN-MODE = *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 Angabe zu LABEL-TYPE, Kennsätze erzeugt.
OPEN-MODE = *REVERSE
Die Datei, die als Eingabedatei für sequenzielles Lesen eröffnet wird, muss bereits vorhanden sein; die Verarbeitung erfolgt vom Dateiende in Richtung Dateianfang.
Bei Banddateien ist kein automatischer Bandwechsel möglich. Nach Abschluss der OPEN-Verarbeitung ist das Band auf das Ende des Dateiabschnitts positioniert.
OPEN-MODE = *UPDATE
Nur für SAM-Plattendateien: Die Sätze der Datei lassen sich über den GET- und im Anschluss daran den PUTX-Makro verändern (nur im Übertagungsbetrieb möglich).
OPEN-MODE = *OUTIN
Die Datei wird erstellt oder - falls bereits vorhanden - ab Dateianfang überschrieben. Es sind sowohl (nichtsequenzielle) Schreib- als auch Leseoperationen zulässig.
Für Banddateien werden Kennsätze geschrieben.
OPEN-MODE = *INOUT
Eine vorhandene Datei wird für nichtsequenzielle Verarbeitung eröffnet; es sind Schreib- und Leseoperationen zulässig.
Bänder sind nach Abschluss der OPEN-Verarbeitung auf Bandanfang positioniert; es werden keine Kennsätze geschrieben.
OPEN-MODE = *SINOUT
Nur für Banddateien: Die Datei muss vorhanden sein, das Band darf nicht auf Bandanfang positioniert sein; Datenblöcke können gelesen oder geschrieben werden, es erfolgt keine Kennsatzverarbeitung. Im Gegensatz zu *INOUT wird das Band nicht positioniert.
CLOSE-MODE = *BY-PROGRAM / *REWIND / *REPOS / *UNLOAD / *LEAVE / *INVALIDATE /
*KEEP-DATA-IN-CACHE
Gibt an, mit welchem CLOSE-Modus die Datei geschlossen werden soll. Bei Schließen der Datei kann diese Angabe durch den CLOSE-Makroaufruf überschrieben werden.
Vergleiche Makro CLOSE, Handbuch „DVS-Makros“ [12]).
CLOSE-MODE = *BY-PROGRAM
Der CLOSE-Modus wird über den CLOSE-Makroaufruf im Programm festgelegt.
CLOSE-MODE = *REWIND
Nur für Banddateien: Unabhängig von der Angabe zu LABEL-TYPE wird nach dem Schließen der Datei das Band auf den Bandanfang positioniert.
CLOSE-MODE = *REPOS
Nur für Banddateien: Nach dem Schließen der Datei wird das Band auf den Anfang des aktuellen Dateiabschnitts positioniert.
CLOSE-MODE = *UNLOAD
Nur für Banddateien: Nach dem Schließen der Datei wird das Band zurückgespult, entladen und freigegeben.
CLOSE-MODE = *LEAVE
Nur für Banddateien: Abhängig von der Angabe zu LABEL-TYPE wird nach dem Schließen der Datei das Band auf das logische Dateiende positioniert.
CLOSE-MODE = *INVALIDATE
Im Cache stehende Schreibdaten der Datei werden nicht auf Platte zurückgeschrieben. Alle im Cache befindlichen Daten werden als ungültig gekennzeichnet.
Die Angabe ist sinnvoll für Dateien, deren (zwischengepufferte) Schreibdaten nach dem Schließen nicht mehr benötigt werden. Das evtl. zeitaufwändige Zurückschreiben ungesicherter Cache-Daten auf Platte wird vermieden.
Die Schreibdaten der Datei sind nach dem Schließen mit CLOSE-MODE=*INVALIDATE verloren. Die Datei ist danach keinesfalls mit OPEN-MODE=*INPUT bzw. *OUTPUT zu eröffnen.
CLOSE-MODE = *KEEP-DATA-IN-CACHE
Im Cache stehende Schreibdaten der Datei werden nicht auf Platte zurückgeschrieben. Alle im Cache befindlichen Daten bleiben dort erhalten.
Die Angabe ist sinnvoll für die Folgeverarbeitung der Datei, da beim Schließen der Datei das evtl. zeitaufwändige Zurückschreiben Cache-Daten auf Platte entfällt. Die Cache-Daten werden nicht validiert und beim nächsten Eröffnen der Datei können Lesezugriffe ohne erneute Einlagerung der Daten sofort wieder aus dem Cache bedient werden.
DATA-ATTRIBUTES = *STD / *FROM-FILE(...) / *BY-CATALOG
Gibt an, ob die Default-Werte *BY-DATA-ATTRIBUTES der folgenden Operanden den entsprechenden Datei-Attributen einer katalogisierten Datei entsprechen sollen.
Die Übernahme von Datei-Attributen ist möglich bei den Operanden ACCESS-METHOD, RECORD-FORMAT, RECORD-SIZE, BUFFER-LENGTH, BLOCK-CONTROL-INFO, KEY-POSITION, KEY-LENGTH, LOGICAL-FLAG-LENGTH, VALUE-FLAG-LENGTH, PROPAGATE-VALUE-FLAG, BLOCK-OFFSET, LABEL-TYPE und CODE.
DATA-ATTRIBUTES = *STD
Die Default-Werte *BY-DATA-ATTRIBUTES entsprechen jeweils dem Operandenwert *BY-PROGRAM.
DATA-ATTRIBUTES = *FROM-FILE(...)
Operanden, bei denen *BY-DATA-ATTRIBUTES angegeben wird, erhalten den Operandenwert, der dem entsprechenden Datei-Attribut der nachfolgend angegebenen Datei entspricht. Leitet der somit übernommene Operandenwert eine Struktur ein, werden auch die Werte der untergeordneten Operanden entsprechend den Datei-Attributen gesetzt. Betroffen sind die Operanden PRINT-CONTROL, SIZE und DIN-REVISION-NUMBER.
FILE-NAME = <filename 1..54>
Name der Datei, von der die entsprechenden Datei-Attribute übernommen werden sollen. Der Aufrufer muss die Berechtigung haben, den Katalogeintrag der Datei mit SHOW-FILE-ATTRIBUTES zu lesen. Die Datei muss auf demselben Pubset katalogisiert sein wie die Datei, auf die sich das ADD-FILE-LINK-Kommando bezieht.
DATA-ATTRIBUTES = *BY-CATALOG
Die Operandenwerte werden wie bei DATA-ATTRIBUTES=*FROM-FILE(...) übernommen, und zwar von der Datei, auf die sich das ADD-FILE-LINK-Kommando bezieht.
RECORD-FORMAT = *BY-DATA-ATTRIBUTES / *BY-PROGRAM / *BY-CATALOG / *VARIABLE(...) /
*FIXED(...) / *UNDEFINED(...)
Gibt das Satzformat der unter FILE-NAME angegebenen Datei an.
Die blockorientierte Zugriffsmethode UPAM ignoriert die Angabe zu RECORD-FORMAT. BTAM als ebenfalls blockorientierte Zugriffsmethode akzeptiert jedoch beim Operanden RECORD-FORMAT gemachte Angaben. *UNDEFINED wird wie *VARIABLE behandelt .Bei den Zugriffsmethoden SAM und ISAM wird das Satzformat berücksichtigt, für ISAM ist allerdings *UNDEFINED unzulässig.
Die Satzformate sind im Handbuch „Einführung in das DVS“ [13] detailliert beschrieben.
Für den Zusammenhang zwischen RECORD-FORMAT- und RECORD-SIZE-Angabe siehe Beschreibung des Operanden RECORD-SIZE.
RECORD-FORMAT = *BY-DATA-ATTRIBUTES
Es wird das Satzformat der im Operanden DATA-ATTRIBUTES angegebenen Datei verwendet. Ebenfalls wird die Einstellung für das Drucksteuerbyte (PRINT-CONTROL) übernommen.
Mit DATA-ATTRIBUTES=*STD gilt RECORD-FORMAT=*BY-PROGRAM.
RECORD-FORMAT = *BY-PROGRAM
Es wird das im Programm gewählte Satzformat verwendet.
RECORD-FORMAT = *BY-CATALOG
Es wird der im Katalog eingestellte Wert verwendet.
RECORD-FORMAT = *VARIABLE(...)
Die unter FILE-NAME angegebene Datei 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 es vom Anwender versorgt werden.
PRINT-CONTROL = *NONE / *ASA / *EBCDIC
Bezeichnet das Druckvorschubsteuerzeichen (siehe Kommando PRINT-DOCUMENT, Operand DOCUMENT-FORMAT=*TEXT(LINE-SPACING=...)).
PRINT-CONTROL = *NONE
Die unter FILE-NAME angegebene Datei ist keine Druckdatei, enthält also keine Drucksteuerzeichen und sollte nicht mit Steuerzeichenauswertung ausgedruckt werden.
PRINT-CONTROL = *ASA
Das jeweils erste Datenbyte eines jeden Datensatzes wird als ASA-Vorschubsteuerzeichen für den Drucker interpretiert (Ausdrucken mit LINE-SPACING=*BY-ASA-CONTROL im Kommando PRINT-DOCUMENT).
PRINT-CONTROL = *EBCDIC
Das jeweils erste Datenbyte eines jeden Datensatzes wird als EBCDIC-Vorschubsteuerzeichen interpretiert (Ausdrucken mit LINE-SPACING=*BY-EBCDIC-CONTROL im Kommando PRINT-DOCUMENT). Bei ISAM-Dateien wird der ISAM-Index berücksichtigt.
RECORD-FORMAT = *FIXED(...)
Die unter FILE-NAME angegebene Datei 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 RECORD-SIZE festgelegt wird.
PRINT-CONTROL = *NONE / *ASA / *EBCDIC
Bezeichnet das Druckvorschubsteuerzeichen (siehe Kommando PRINT-DOCUMENT, Operand DOCUMENT-FORMAT=*TEXT(LINE-SPACING=...)).
PRINT-CONTROL = *NONE
Die unter FILE-NAME angegebene Datei ist keine Druckdatei, enthält also keine Drucksteuerzeichen und sollte nicht mit Steuerzeichenauswertung ausgedruckt werden.
PRINT-CONTROL = *ASA
Das jeweils erste Datenbyte eines jeden Datensatzes wird als ASA-Vorschubsteuerzeichen für den Drucker interpretiert (Ausdrucken mit LINE-SPACING=*BY-ASA-CONTROL im Kommando PRINT-DOCUMENT).
PRINT-CONTROL = *EBCDIC
Das jeweils erste Datenbyte eines jeden Datensatzes wird als EBCDIC-Vorschubsteuerzeichen interpretiert (Ausdrucken mit LINE-SPACING=*BY-EBCDIC-CONTROL im Kommando PRINT-DOCUMENT). Bei ISAM-Dateien wird der ISAM-Index berücksichtigt.
RECORD-FORMAT = *UNDEFINED(...)
Die unter FILE-NAME angegebene Datei 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 RECORD-SIZE).
RECORD-FORMAT=*UNDEFINED wandelt die Angabe LABEL-TYPE=*STD(DIN-REVISION-NUMBER=3) um in LABEL-TYPE=*STD(DIN-REVISION-NUMBER=2).
PRINT-CONTROL = *NONE / *ASA / *EBCDIC
Bezeichnet das Druckvorschubsteuerzeichen (siehe Kommando PRINT-DOCUMENT, Operand DOCUMENT-FORMAT=*TEXT(LINE-SPACING=...)).
PRINT-CONTROL = *NONE
Die unter FILE-NAME angegebene Datei ist keine Druckdatei, enthält also keine Drucksteuerzeichen und sollte nicht mit Steuerzeichenauswertung ausgedruckt werden.
PRINT-CONTROL = *ASA
Das jeweils erste Datenbyte eines jeden Datensatzes wird als ASA-Vorschubsteuerzeichen für den Drucker interpretiert (Ausdrucken mit LINE-SPACING=*BY-ASA-CONTROL im Kommando PRINT-DOCUMENT).
PRINT-CONTROL = *EBCDIC
Das jeweils erste Datenbyte eines jeden Datensatzes wird als EBCDIC-Vorschubsteuerzeichen interpretiert (Ausdrucken mit LINE-SPACING=*BY-EBCDIC-CONTROL im Kommando PRINT-DOCUMENT). Bei ISAM-Dateien wird der ISAM-Index berücksichtigt.
RECORD-SIZE = *BY-DATA-ATTRIBUTES / *BY-PROGRAM / *BY-CATALOG / <integer 0..32768>
Bei RECORD-FORMAT=*FIXED gibt der Operand RECORD-SIZE die gemeinsame Länge aller Sätze in Bytes an.
Bei RECORD-FORMAT=*VARIABLE wird der Wert von RECORD-SIZE ignoriert. Ausnahme: Beim Lesen einer ISAM-Datei im Übertragungsbetrieb wird der Wert bei RECORD-SIZE als maximale Satzlänge (in Bytes) interpretiert; bei RECORD-SIZE=0 wird die Länge eines logischen Blocks als maximale Satzlänge übernommen. Überschreitet die Länge des gelesenen Satzes diese maximale Satzlänge, so wird der Satz nur in der durch RECORD-SIZE festgelegten maximalen Länge übertragen und die Fehlerbehandlung eingeleitet.
Bei RECORD-FORMAT=*UNDEFINED wird der Wert von RECORD-SIZE als die Nummer eines Mehrzweckregisters (2 <= register <= 12) interpretiert, das die aktuelle Satzlänge enthält. Bei der Eingabe wird das Register vom System mit der Satzlänge versorgt, bei der Ausgabe muss es der Anwender mit der Satzlänge versorgen.
Für Banddateien ist die Wechselwirkung mit den Operanden CODE und LABEL-PROCESSING zu beachten: zusammen mit CODE=*EBCDIC oder LABEL-PROCESSING =*PARAMETERS LABEL=*STD (DIN-REVISION-NUMBER > 1) muss der Wert bei Operand RECORD-SIZE <= 9999 sein (internationale Norm).
RECORD-SIZE = *BY-DATA-ATTRIBUTES
Es wird der Wert der im Operanden DATA-ATTRIBUTES angegebenen Datei verwendet. Mit DATA-ATTRIBUTES=*STD gilt RECORD-SIZE=*BY-PROGRAM.
RECORD-SIZE = *BY-PROGRAM
Es wird der Wert eingestellt, der im Programm angegeben ist.
RECORD-SIZE = *BY-CATALOG
Es wird der im Katalog eingestellte Wert verwendet.
RECORD-SIZE = <integer 0..32768>
Gibt die maximale Satzlänge in Bytes an. Für NK-ISAM-Dateien ist zu beachten, dass bei Ausnutzen der maximalen Satzlänge Überlaufblöcke entstehen.
BUFFER-LENGTH = *BY-DATA-ATTRIBUTES / *BY-PROGRAM / *BY-CATALOG / <integer 1..32768> /
*STD(...)
Legt die Länge des logischen Blocks fest. Ein logischer Block ist die Übertragungseinheit von und zu den Ein-/Ausgabegeräten aus der Sicht des Aufrufers der Zugriffsmethoden. Für Plattendateien ergeben sich Wechselwirkungen mit der Speicherplatzzuweisung (Operand SPACE, Kommando CREATE-FILE/MODIFY-FILE-ATTRIBUTES), mit der Satzlänge (Operand RECORD-SIZE, Kommando ADD-FILE-LINK) sowie für Banddateien mit den Kennsatzeigenschaften (Operand LABEL-TYPE, Kommando ADD-FILE-LINK); siehe auch Tabelle "Banddateien: Blocklänge / Satzformat" und Tabelle bei LABEL-TYPE = *STD(...). Plattendateien/Banddateien mit Standardblockung: Datenblöcke können aus mehreren PAM-Seiten bestehen. Das System verknüpft die zu einer Übertragungseinheit zusammengefassten PAM-Seiten automatisch.
BUFFER-LENGTH = *BY-DATA-ATTRIBUTES
Es wird die logische Blocklänge der im Operanden DATA-ATTRIBUTES angegebenen Datei verwendet. Mit DATA-ATTRIBUTES=*STD gilt BUFFER-LENGTH=*BY-PROGRAM. Besteht die Datei aus Standardblöcken (BUFFER-LENGTH=*STD) wird auch die Anzahl der PAM-Seiten (Operand SIZE) von der Datei übernommen.
BUFFER-LENGTH = *BY-PROGRAM
Es wird der Wert aus dem Programm verwendet.
BUFFER-LENGTH = *BY-CATALOG
Es wird der Wert aus dem Katalogeintrag verwendet.
BUFFER-LENGTH = <integer 1..32768>
Nur für Banddateien: Gibt die Blocklänge in Byte an und legt gleichzeitig fest, dass die Datei aus Nichtstandardblöcken besteht (also nicht aus PAM-Blöcken). Jeder Nichtstandardblock ist zugleich ein logischer Block.
Bei RECORD-FORMAT=*FIXED haben alle Nichtstandardblöcke der Datei die hier angegebene Länge (die Pufferverschiebung ist hierbei mit eingerechnet; siehe Operand BLOCK-OFFSET).
Bei RECORD-FORMAT=*VARIABLE/*UNDEFINED können die Nichtstandardblöcke der Datei unterschiedlich lang sein, wobei die angegebene Blocklänge die Obergrenze darstellt (Pufferverschiebung mit eingerechnet).
Die Operanden ACCESS-METHOD und IO-CHAINING sind ebenfalls zu berücksichtigen.
BUFFER-LENGTH = *STD(...)
Die Datei besteht aus Standard-PAM-Seiten.
SIZE = 1 / <integer 1..16>
Für K-Dateien gilt: Jeder logische Block besteht aus der hier angegebenen Anzahl von PAM-Blöcken.
Für NK-Dateien gilt: Jeder logische Block besteht aus der hier angegebenen Anzahl von Datenfeldern zu je 2048 Bytes. Für NK4-Datenträger (NK4-Dateien) muss diese Anzahl gerade sein, d.h. die Länge eines logischen Blockes ist ein Vielfaches 4KByte. Für Banddateien gilt: Ist CODE ungleich EBCDIC angegeben oder gilt BLOCK-CONTROL-INFO=*WITHIN-DATA-BLOCK oder *NO, so werden STD-Blockangaben in Nichtstandard-Blockangaben konvertiert.
Operand RECORD-FORMAT | Auswirkung |
---|---|
RECORD-FORMAT=*FIXED | BUFFER-LENGTH gibt die Blocklänge einschließlich Länge der Pufferverschiebung an (siehe Operand BLOCK-OFFSET); alle Blöcke haben dieselbe Länge |
RECORD-FORMAT= | BUFFER-LENGTH gibt die maximale Blocklänge einschließlich der Länge der Pufferverschiebung (siehe Operand BLOCK-OFFSET) an, d.h. die Blocklänge ist (wie die Satzlänge) variabel |
gilt RECORD-FORMAT=VARIABLE zusammen mit CODE=*EBCDIC oder LABEL=*STD(DIN-REV-NUM=n) (mit n > 1), muss der Wert von BUFFER-LENGTH < 10000 sein (interne Umwandlung in Satzformat D) |
Operand ACCESS-METHOD | zulässige Angabe für BUFFER-LENGTH |
---|---|
SAM / BTAM | 1 <= n <= 32768 |
UPAM |
BLOCK-CONTROL-INFO = *BY-DATA-ATTRIBUTES / *BY-PROGRAM / *BY-CATALOG / *NO /
*WITHIN-DATA-BLOCK / *WITHIN-DATA-2K-BLOCK / *WITHIN-DATA-4K-BLOCK / *PAMKEY
Gibt die Lage des Blockkontrollfeldes an, das die Blockkontrollinformation zur Verwaltung eines logischen Blocks enthält.
K-Dateien besitzen das Blockformat PAMKEY und können nur auf K-Datenträgern gespeichert werden.
NK-Dateien besitzen eines der Blockformate NO, WITHIN-DATA-BLOCK, WITHIN-DATA-2K-BLOCK oder WITHIN-DATA-4K-BLOCK. Sie können auf K- oder NK-Datenträgern gespeichert werden. NK-Dateien sind untergliedert in:
NK2-Dateien, die folgende Struktureigenschaften im Katalogeintrag besitzen können:
FILE-STRUCT = ISAM und BLK-CONTR = DATA (2K)
FILE-STRUCT = SAM und BLK-CONTR = DATA und BUF-LEN = STD(n) wobei n ungerade ist
FILE-STRUCT = PAM und BLK-CONTR = DATA bzw. NO und BUF-LEN = STD(n) wobei n ungerade ist
NK2-Dateien können nicht auf NK4-Pubsets gespeichert werden.
NK4-Dateien, die folgende Struktureigenschaften im Katalogeintrag besitzen können:
FILE-STRUCT = ISAM und BLK-CONTR = DATA (4K)
FILE-STRUCT = SAM und BLK-CONTR = DATA und BUF-LEN = STD(n) wobei n gerade ist
FILE-STRUCT = PAM und BLK-CONTR = DATA bzw. NO und BUF-LEN = STD(n) wobei n gerade ist
Wenn der Benutzer kein Blockformat angibt, bestimmt beim Erstellen einer ISAM-Datei der Systemparameter ISBLKCTL das Blockformat. Standardmäßig ist *NONKEY eingestellt, d.h. auch auf K-Datenträgern wird eine NK-ISAM-Datei angelegt (entspricht der Angabe BLOCK-CONTROL-INFO=*WITHIN-DATA-BLOCK). Falls *PAMKEY im System eingestellt ist, wird eine K-ISAM-Datei angelegt (entspricht BLOCK-CONTROL-INFO=*PAMKEY).
BLOCK-CONTROL-INFO = *BY-DATA-ATTRIBUTES
Es wird der Wert der im Operanden DATA-ATTRIBUTES angegebenen Datei verwendet. Mit DATA-ATTRIBUTES=*STD gilt BLOCK-CONTROL-INFO=*BY-PROGRAM.
BLOCK-CONTROL-INFO = *BY-PROGRAM
Es wird der im Programm angegebene Wert verwendet.
BLOCK-CONTROL-INFO = *BY-CATALOG
Es wird der im Katalog eingetragene Wert verwendet.
BLOCK-CONTROL-INFO = *NO
Das Blockformat ist ohne PAM-Schlüssel, d.h. das System hinterlegt keine Blockkontrollinformationen im PAM-Schlüssel.
Dieses Blockformat ist nur für NK-Dateien zulässig. Es existiert hierbei nur für PAM-Dateien und SAM-Banddateien. Für SAM-Plattendateien und ISAM-Dateien wird die Angabe *NO wie *WITHIN-DATA-BLOCK behandelt.
Funktionen, die an Informationen aus dem PAMKEY gekoppelt waren, werden nicht mehr unterstützt (insbesondere partielle Sicherung bei ARCHIVE).
BLOCK-CONTROL-INFO = *WITHIN-DATA-BLOCK
Das Blockformat ist ohne PAM-Schlüssel, d.h. das System hinterlegt keine Informationen im PAM-Schlüssel.
Dieses Blockformat ist nur für NK-Dateien zulässig. Die Blockkontroll-Informationen stehen, NK-ISAM-Dateien ausgenommen, in den ersten zwölf Bytes eines jeden logischen Blockes. Wird die maximale Satzlänge (16 PAM-Blöcke = 32 KBytes) ausgeschöpft, kommt es zu Inkompatibilitäten, da kein Platz mehr für die Blockkontroll-Informationen zur Verfügung steht.
Besonderheit für NK-ISAM-Dateien
Es existieren zwei Blockformate:
2K-Format: Die Blockkontroll-Information ist zu Beginn eines jeden 2KByte-Blockes (PAM-Seite) hinterlegt. Das 2K-Format kann mit BLOCK-CONTROL-INFO=*WITHIN-DATA-2K-BLOCK explizit angegeben werden.
4K-Format: Die Blockkontroll-Information ist zu Beginn eines jeden 4KByte-Blockes (2 PAM-Seiten) hinterlegt. Das 4K-Format kann mit BLOCK-CONTROL-INFO=*WITHIN-DATA-4K-BLOCK explizit angegeben werden.
Das Blockformat beim Erstellen einer NK-ISAM-Datei (OPEN=*OUTPUT/*OUTIN) ist abhängig vom Format des Datenträgers, auf dem die Datei gespeichert wird:
|
Die NK-ISAM-Datei kann jedoch nur im 4K-Format erstellt werden, wenn die Länge eines logischen Blockes ein Vielfaches von 4KByte ist. Anderenfalls wird das Eröffnen der Datei als fehlerhaft abgewiesen.
Eine bereits bestehende NK-ISAM-Datei kann unabhängig von dem Blockformat eröffnet werden.
BLOCK-CONTROL-INFO = *WITHIN-DATA-2K-BLOCK
Diese Angabe ist ein für NK-ISAM-Dateien spezialisierter *WITHIN-DATA-BLOCK-Wert.
Beim Erstellen einer NK-ISAM-Datei (OPEN=*OUTPUT/*OUTIN) wird das 2K-Format erzeugt. Für NK4-Datenträger wird die Eröffnung mit einer Fehlermeldung abgewiesen. Eine bereits bestehende NK-ISAM-Datei kann nur eröffnet werden, wenn sie im 2K-Format erstellt wurde.
BLOCK-CONTROL-INFO = *WITHIN-DATA-4K-BLOCK
Diese Angabe ist ein für NK-ISAM-Dateien spezialisierter *WITHIN-DATA-BLOCK-Wert.
Beim Erstellen einer NK-ISAM-Datei (OPEN=*OUTPUT/*OUTIN) wird das 4K-Format erzeugt. Die Länge eines logischen Blockes muss ein Vielfaches von 4KByte sein. Anderenfalls wird das Eröffnen der Datei als fehlerhaft abgewiesen.
Eine bereits bestehende NK-ISAM-Datei kann nur eröffnet werden, wenn sie im 4K-Format erstellt wurde.
BLOCK-CONTROL-INFO = *PAMKEY
Diese Angabe ist nur für K-Dateien möglich.
Von allen Zugriffsmethoden unterstütztes Blockformat mit PAM-Schlüssel. Die Blockkontrollinformation wird im PAM-Schlüssel abgelegt.
Eine Datei kann mit PAMKEY-Format erstellt werden, sofern der Datenträger die Aufzeichnung des PAMKEYS erlaubt (K-Pubset bzw. K-Privatplatte).
NUMBER-OF-PREMOUNTS = *STD / <integer 0..255>
Anzahl der anzufordernden Datenträger.
NUMBER-OF-PREMOUNTS = *STD
Anzahl der anzufordernden Datenträger ist abhängig vom Datenträgertyp:
Plattendateien: Es werden alle Platten angefordert, auf denen ein Extent der Datei liegt.
Banddateien: Es wird genau ein Magnetband angefordert.
NUMBER-OF-PREMOUNTS = <integer 0..255>
Gibt die Anzahl der anzufordernden Datenträger an.
RETENTION-PERIOD = *BY-PROGRAM / <integer 0..32767 days >
Der Benutzer kann mit diesem Operanden für Dateien eine bestimmte Schutzfrist vereinbaren.
Beim Schließen der Ausgabedatei wird aus dem aktuellen Datum und der Dauer der Schutzfrist das Datum errechnet, an dem die Schutzfrist endet. Dieses Datum wird als Freigabedatum (expiration date) in den Katalogeintrag übernommen. Bis zum Erreichen dieses Zeitpunktes kann auf die Datei kein Schreibzugriff (Ändern, Löschen) durchgeführt werden.
RETENTION-PERIOD = *BY-PROGRAM
Es wird der im Programm angegebene Wert verwendet.
RETENTION-PERIOD = <integer 0..32767 days >
Der Operand RETENTION-PERIOD ist nur wirksam, wenn über den Operanden LINK-NAME ein TFT-Eintrag erstellt und die unter FILE-NAME angegebene Datei anschließend eröffnet wird.
Der bei RETENTION-PERIOD angegebene Wert bezeichnet die Dauer der Schutzfrist in Tagen.
Ist die Schutzfrist abgelaufen, wird die Datei nicht automatisch gelöscht, es werden lediglich Schreibzugriffe wieder zugelassen.
Die Angabe RETENTION-PERIOD=0 bedeutet, dass keine Schutzfrist besteht und die Datei jederzeit geändert bzw. gelöscht werden kann.
Die Schutzfrist kann auch über das Kommando MODIFY-FILE-ATTRIBUTES eingestellt werden; eine Angabe beim Operanden RETENTION-PERIOD in diesem Kommando wird sofort in den Katalogeintrag übernommen; für Banddateien ist dabei zu beachten, dass die Schutzfrist noch vor der ersten Dateieröffnung festgelegt werden muss.
SUPPORT = *NONE / list-poss(2): *DISK(...) / *TAPE(...)
Art des Datenträgers, auf dem sich die Datei befindet.
SUPPORT = *NONE
Keine platten- bzw. bandspezifische Angaben.
SUPPORT = *DISK(...)
Die zu verarbeitende Datei ist eine Plattendatei.
SHARED-UPDATE = *BY-PROGRAM / *NO / *YES / *WEAK
Nur für ISAM- oder UPAM-Plattendateien: Legt fest, ob Schreibzugriff auf die Datei bei gleichzeitiger Eröffnung der Datei durch andere Aufträge möglich sein soll (Shared-Update-Verarbeitung).
SHARED-UPDATE = *BY-PROGRAM
Es wird der im Programm angegebene Wert verwendet.
SHARED-UPDATE = *NO
Sobald die Datei von einem Auftrag mit OPEN ungleich INPUT eröffnet wird, wird sie für andere Aufträge gesperrt. Eine Shared-Update-Verarbeitung ist damit nicht möglich. Der Dateiinhalt bleibt für die Dauer der Dateiverarbeitung konstant.
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 jeder Versuch abgewiesen, sie anders zu eröffnen.
SHARED-UPDATE = *YES
Nur für ISAM- oder PAM-Dateien: die Datei kann gleichzeitig von mehreren Aufträgen bearbeitet werden; es muss jedoch in allen Aufträgen SHARED-UPDATE=*YES gelten. Bei UPAM kann der Anwender Datenblöcke, solange er sie verarbeitet, vor Zugriff durch andere Aufträge schützen.
Bei ISAM werden diese Sperren – wenn nötig – vom System automatisch gesetzt. Bei NK-ISAM müssen Dateien, die für Shared-Update-Verarbeitung eröffnet werden, in taskübergreifenden Benutzer-ISAM-Pools verarbeitet werden. Für ISAM-Dateien ist gleichzeitig die WRITE-IMMEDIATE-Funktion eingeschaltet (Operand WRITE-IMMEDIATE=*YES).
SHARED-UPDATE = *WEAK
Nur für UPAM-Verarbeitung: garantiert Schreib-, aber nicht Lesesicherheit.
Die Datei kann nur von einem Auftrag zum Schreiben eröffnet werden. Andere Aufträge können die Datei aber gleichzeitig als Eingabedatei verwenden, wobei zu berücksichtigen ist, dass sich der Inhalt der Datei ändern kann.
LOCK-ENVIRONMENT = *BY-PROGRAM / *HOST-SYSTEM / *XCS
Gibt an, ob die Datei bei der Verarbeitung abhängig vom Eröffnungsmodus (OPEN-MODE) und der Einstellung für Shared-Update-Verarbeitung (SHARED-UPDATE) von Aufträgen aus verschiedenen Systemen zum Schreiben geöffnet sein kann.
LOCK-ENVIRONMENT = *BY-PROGRAM
Es wird die im Programm angegebene Einstellung verwendet.
LOCK-ENVIRONMENT = *HOST-SYSTEM
Die Datei kann nicht gleichzeitig von Aufträgen aus verschiedenen Systemen zum Schreiben mit SHARED-UPDATE=*YES geöffnet sein.
LOCK-ENVIRONMENT = *XCS
Die Datei kann gleichzeitig von Aufträgen aus verschiedenen Systemen eines XCS-Verbundes zum Schreiben mit SHARED-UPDATE=*YES geöffnet sein.
EXCEED-32GB = *BY-PROGRAM / *FORBIDDEN / *ALLOWED
Gibt an, ob die Dateigröße bei der Bearbeitung 32 GB überschreiten darf.
EXCEED-32GB = *FORBIDDEN
Die Datei darf maximal 32 GB groß werden.
EXCEED-32GB = *ALLOWED
Die Datei darf größer als 32 GB werden.
WRITE-CHECK = *BY-PROGRAM / *NO / *YES
Gibt an, ob das Zurückschreiben von Sätzen auf die Platte sofort zu kontrollieren ist (Kontroll-Lesen), damit Aufzeichnungsfehler frühzeitig erkannt werden. Die Angabe bei WRITE-CHECK wird nicht in den Katalogeintrag aufgenommen und muss daher vor jeder Verarbeitung/vor jedem Öffnen der Datei wiederholt werden.
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 wegen der zusätzlichen Plattenumdrehungen stark zulasten der Performance.
WRITE-CHECK = *BY-PROGRAM
Es wird die im Programm angegebene Einstellung verwendet.
WRITE-CHECK = *NO
Es erfolgt kein Kontroll-Lesen.
WRITE-CHECK = *YES
Es erfolgt Kontroll-Lesen.
IO-ATTRIBUTES = *BY-PROGRAM / *PARAMETERS(...)
Gibt an, welche Performance-Anforderungen der Benutzer für Ein-/Ausgabe-Operationen an das System stellt. Die höchste zulässige Performance-Eigenschaft ist im Benutzereintrag festgelegt.
Ob und in welchem Maße Performance-Anforderungen erfüllt werden, hängt von dem Cache-Medium ab, das für den zugehörigen Pubset definiert ist (siehe Ausgabe des Kommandos SHOW-MASTER-CATALOG-ENTRY).
Schreib- und Lesezugriffe erfolgen über schnelle Zwischenspeicher. Die Anzahl der Plattenzugriffe und die Zugriffszeiten verringern sich.
IO-ATTRIBUTES = *BY-PROGRAM
Es wird der Wert aus dem Programm verwendet (siehe FCB-Makro, Handbuch „DVS-Makros“ [12].
IO-ATTRIBUTES = *PARAMETERS(...)
Die Performance-Anforderung ergibt sich aus den Angaben zu den Operanden PERFORMANCE und USAGE.
PERFORMANCE = *BY-PROGRAM / *BY-CATALOG / *STD / *HIGH / *VERY-HIGH /
*USER-MAXIMUM
Gibt das Performance-Attribut der Datei an. Es bestimmt, welche Priorität für die im Operanden USAGE bezeichneten Ein-/Ausgabe-Operationen gewünscht wird. Das höchste zulässige Performance-Attribut ist im Benutzereintrag festgelegt (siehe Ausgabe des Kommandos SHOW-USER-ATTRIBUTES).
PERFORMANCE = *BY-PROGRAM
Es wird der Wert aus dem Programm verwendet.
PERFORMANCE = *BY-CATALOG
Es wird der Wert aus dem Katalogeintrag übernommen.
PERFORMANCE = *STD
Die Datei besitzt keine besonderen Performance-Eigenschaften und soll deshalb nicht über einen Cache bearbeitet werden.
PERFORMANCE = *HIGH
Die Datei soll über einen Cache bearbeitet werden (hohe Performance-Priorität). Die Angabe ist nur möglich für Benutzer, die das DMS-Tuning-Privileg CONCURRENT-USE bzw. EXCLUSIVE-USE für den Pubset besitzen (siehe Ausgabe des Kommandos SHOW-USER-ATTRIBUTES, Ausgabefeld DMS-TUNING-RESOURCES).
PERFORMANCE = *VERY-HIGH
Die Datei soll über einen Cache bearbeitet werden. Die referenzierten Daten der Datei sollen dabei permanent im Cache gehalten werden (höchste Performance-Priorität). Die Cache-Daten werden erst beim Schließen der Datei aus dem Cache verdrängt. Die Angabe ist nur möglich für Benutzer, die das DMS-Tuning-Privileg EXCLUSIVE-USE für den Pubset besitzen (siehe Ausgabe des Kommandos SHOW-USER-ATTRIBUTES, Ausgabefeld DMS-TUNING-RESOURCES).
Hinweis
Alle für diese Datei belegten Cache-Segmente werden bis zum Schließen der Datei gesperrt. Sind viele Dateien gleichzeitig mit diesem Attribut geöffnet, kann dadurch der für normal gecachte Dateien verfügbare Cache-Speicher so erheblich eingeschränkt werden, dass Datenzugriffe auf diese Dateien nicht mehr performant ausgeführt werden können.
PERFORMANCE = *USER-MAXIMUM
Die Datei erhält das Performance-Attribut, das für den Benutzer als höchstes zulässiges im Benutzerkatalog eingetragen ist.
USAGE = *BY-PROGRAM / *BY-CATALOG / *READ-WRITE / *WRITE / *READ
Gibt an, für welche Ein-/Ausgabe-Operationen die erhöhte Performance-Anforderung (Bearbeitung über einen Cache) gewünscht wird. Voreinstellung ist *READ-WRITE, d.h. die Anforderungen gelten für Lese- und Schreiboperationen. Besitzt die Datei kein besonderes Performance-Attribut (PERFORMANCE=*STD) und ist der Cache-Bereich für den Pubset nicht so definiert, dass alle vorhandenen Dateien bedient werden (siehe Operand CACHED-FILES=*ALL im Kommando MODIFY-PUBSET-CACHING-ATTRIBUTES), hat der Operand USAGE keine Auswirkung auf die Bearbeitung.
USAGE = *BY-PROGRAM
Es wird der Wert aus dem Programm verwendet (siehe FCB-Makro, Handbuch „DVS-Makros“ [12]).
USAGE = *BY-CATALOG
Es wird der Wert aus dem Katalogeintrag übernommen.
USAGE = *READ-WRITE
Die erhöhte Performance-Anforderung gilt sowohl für Lese- als auch Schreiboperationen.
USAGE = *WRITE
Die erhöhte Performance-Anforderung gilt nur für Schreiboperationen.
USAGE = *READ
Die erhöhte Performance-Anforderung gilt nur für Leseoperationen.
Hinweis
Bei USAGE=*READ-WRITE bzw. *WRITE erfolgt nur dann ein Schreib-Caching, wenn die Bedingungen für das Datei-Attribute DISK-WRITE erfüllt sind (siehe CREATE-FILE bzw. MODIFY-FILE-ATTRIBUTES). Bei DISK-WRITE=*IMMEDIATE muss für Schreib-Caching das genutzte Cache-Medium ausfallsicher sein (siehe Ausgabe des Kommandos SHOW-MASTER-CATALOG-ENTRY mit INFORMATION=*USER, Ausgabefeld CACHE-MEDIUM).
ISAM-ATTRIBUTES = *BY-PROGRAM / *PARAMETERS(...)
Angaben zur ISAM-Verarbeitung.
ISAM-ATTRIBUTES = *BY-PROGRAM
Die Information über ISAM-spezifische Merkmale wird aus dem Programm bzw. ggf von der im Operanden DATA-ATTRIBUTES angegebenen Datei übernommen.
ISAM-ATTRIBUTES = *PARAMETERS(...)
Die Information über ISAM-spezifische Merkmale ergeben sich aus den Angaben zu den nachfolgend Operanden.
KEY-POSITION = *BY-DATA-ATTRIBUTES / *BY-PROGRAM / *BY-CATALOG / <integer 1..32767>
Gibt die Position des ISAM-Schlüssels im Datensatz an. Bei Sätzen variabler Länge müssen 4 Bytes für Satzlängen- und Steuerfeld berücksichtigt werden. Der ISAM-Schlüssel kann an beliebiger Stelle im Datensatz stehen, jedoch innerhalb einer Datei immer an derselben Position.
KEY-POSITION = *BY-DATA-ATTRIBUTES
Es wird der Wert der im Operanden DATA-ATTRIBUTES angegebenen Datei verwendet. Mit DATA-ATTRIBUTES=*STD gilt KEY-POSITION=*BY-PROGRAM.
KEY-POSITION = *BY-PROGRAM
Es wird die Angabe aus dem Programm verwendet (siehe FCB-Makro, Handbuch „DVS-Makros“ [12]).
KEY-POSITION = *BY-CATALOG
Es wird der Wert aus dem Katalogeintrag verwendet.
KEY-POSITION = <integer 1..32767>
Gibt die Position des ISAM-Schlüssels im Datensatz an.
KEY-LENGTH = *BY-DATA-ATTRIBUTES / *BY-PROGRAM / *BY-CATALOG / <integer 1..255>
Länge des ISAM-Schlüssels in Bytes. Jeder Satz der Datei muss die angegebene Schlüssellänge aufweisen.
Die Summe aus den Längenangaben in KEY-LENGTH, LOGICAL-FLAG-LENGTH und VALUE-FLAG-LENGTH darf bei der Verarbeitung höchstens 255 betragen.
KEY-LENGTH = *BY-DATA-ATTRIBUTES
Es wird der Wert der im Operanden DATA-ATTRIBUTES angegebenen Datei verwendet. Mit DATA-ATTRIBUTES=*STD gilt KEY-LENGTH=*BY-PROGRAM.
KEY-LENGTH = *BY-PROGRAM
Es wird die Angabe aus dem Programm verwendet
KEY-LENGTH = *BY-CATALOG
Es wird der Wert aus dem Katalogeintrag verwendet.
KEY-LENGTH = <integer 1..255>
Gibt die Byte-Länge des ISAM-Schlüssels an.
VALUE-FLAG-LENGTH = *BY-DATA-ATTRIBUTES / *BY-PROGRAM / *BY-CATALOG /
<integer 0..255>
Nur für K-ISAM-Dateien: Legt die Länge der Wertmarkierung (in Bytes) im ISAM-Index fest. Diese Wertmarkierung (Value-Flag) kann neben ISAM-Schlüssel und logischer Markierung ein Teil des ISAM-Satzindex sein. Die Summe aus den Längenangaben in KEY-LENGTH, LOGICAL-FLAG-LENGTH und VALUE-FLAG-LENGTH darf bei der Verarbeitung höchstens 255 betragen.
VALUE-FLAG-LENGTH = *BY-DATA-ATTRIBUTES
Es wird der Wert der im Operanden DATA-ATTRIBUTES angegebenen Datei verwendet.
Mit DATA-ATTRIBUTES=*STD gilt VALUE-FLAG-LENGTH=*BY-PROGRAM.
VALUE-FLAG-LENGTH = *BY-PROGRAM
Es wird der Wert aus dem Programm verwendet.
VALUE-FLAG-LENGTH = *BY-CATALOG
Es wird der Wert aus dem Katalogeintrag verwendet.
VALUE-FLAG-LENGTH = <integer 0..255>
VALUE-FLAG-LENGTH = 0: Der ISAM-Index enthält keine Wertmarkierung
Wertmarkierungen werden bei NK-ISAM (BLOCK-CONTROL-INFO=*WITHIN-DATA-BLOCK) und K-ISAM (BLOCK-CONTROL-INFO=*PAMKEY) unterschiedlich behandelt.
Bei K-ISAM werden sie blockweise ausgewertet und entsprechend der Angabe im Operanden PROPAGATE-VALUE-FLAG in den nächsthöheren Indexeintrag übernommen.
Bei NK-ISAM werden keine Markierungen für den Indexeintrag ausgewertet.
Hinweis
Bei Verwendung der Funktion „Sekundärschlüssel“ darf der ISAM-Schlüssel keine Wertmarkierung enthalten.
PROPAGATE-VALUE-FLAG = *BY-DATA-ATTRIBUTES / *BY-PROGRAM / *MINIMUM /
*MAXIMUM / *BY-CATALOG
Nur für K-ISAM-Dateien (BLOCK-CONTROL-INFO=PAMKEY): Legt fest, wie die Wertmarkierung in die Indexeinträge zu übernehmen ist.
(NK-ISAM ignoriert eine PROPAGATE-VALUE-FLAG-Angabe)
PROPAGATE-VALUE-FLAG = *BY-DATA-ATTRIBUTES
Es wird der Wert der im Operanden DATA-ATTRIBUTES angegebenen Datei verwendet.
Mit DATA-ATTRIBUTES=*STD gilt PROPAGATE-VALUE-FLAG=*BY-PROGRAM.
PROPAGATE-VALUE-FLAG = *BY-PROGRAM
Es wird der im Programm eingestellte Wert übernommen (siehe FCB-Makro, Handbuch „DVS-Makros“ [12]).
PROPAGATE-VALUE-FLAG = *MINIMUM
Der niedrigste Wert für die Wertmarkierung innerhalb eines Daten- oder Indexblocks wird in den Indexeintrag der nächsthöheren Stufe übernommen.
PROPAGATE-VALUE-FLAG = *MAXIMUM
Der höchste Wert der Markierung im Daten-/Indexblock wird übernommen.
PROPAGATE-VALUE-FLAG = *BY-CATALOG
Es wird der im Katalog eingetragene Wert übernommen.
LOGICAL-FLAG-LENGTH = *BY-DATA-ATTRIBUTES / *BY-PROGRAM / *BY-CATALOG /
<integer 0..255>
Nur für K-ISAM-Dateien: Bestimmt die Länge einer logischen Markierung im ISAM-Index in Bytes; die maximale Länge ergibt sich aus der Länge des ISAM-Schlüssels, d.h. die Summe aus den Längenangaben in KEY-LENGTH, LOGICAL-FLAG-LENGTH und VALUE-FLAG-LENGTH darf bei der Verarbeitung höchstens 255 betragen.
LOGICAL-FLAG-LENGTH = *BY-DATA-ATTRIBUTES
Es wird der Wert der im Operanden DATA-ATTRIBUTES angegebenen Datei verwendet.
Mit DATA-ATTRIBUTES=*STD gilt LOGICAL-FLAG-LENGTH=*BY-PROGRAM.
LOGICAL-FLAG-LENGTH = *BY-PROGRAM
Es wird der im Programm eingestellte Wert übernommen (siehe FCB-Makro, Handbuch „DVS-Makros“ [12]).
LOGICAL-FLAG-LENGTH = *BY-CATALOG
Es wird der im Katalog eingetragene Wert übernommen.
LOGICAL-FLAG-LENGTH = <integer 0..255>
LOGICAL-FLAG-LENGTH=0: Der ISAM-Index enthält keine logische Markierung Der ISAM-Index kann im Anschluss an den ISAM-Schlüssel eine logische Markierung (Logical Flag) enthalten, mit der Selektionskriterien 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.
Bei NK-ISAM werden keine logischen Markierungen ausgewertet.
Hinweis
Bei Verwendung der Funktion „Sekundärschlüssel“ darf der ISAM-Schlüssel keine logische Markierung enthalten.
PADDING-FACTOR = *BY-PROGRAM / <integer 0..99>
Nur für sequenziell erstellte ISAM-Dateien: Der „Blockfüllungsfaktor“ PADDING-FACTOR gibt an, wie viel Platz im Datenblock für spätere Erweiterungen frei gehalten werden soll (in Prozent der mit BUFFER-LENGTH definierten Blocklänge). Die Angabe bei PADDING-FACTOR wirkt sich somit auf die Blocksplittingrate bei nichtsequenzieller Dateierweiterung aus.
K-ISAM fordert für den aktuellen Satz einen neuen logischen Block an, wenn andernfalls der Padding-Faktor unterschritten würde.
NK-ISAM fordert dagegen einen neuen logischen Block erst dann an, wenn der Padding-Faktor bereits unterschritten ist.
PADDING-FACTOR = *BY-PROGRAM
Es wird der im Programm eingestellte Wert übernommen.
PADDING-FACTOR = <integer 0..99>
Eine Angabe beim Operanden PADDING-FACTOR wirkt sich unterschiedlich aus bei NK-ISAM und K-ISAM.
Bei NK-ISAM wird der Block mindestens bis zur angegebenen PADDING-Grenze gefüllt, bei K-ISAM höchstens bis zur PADDING-Grenze
POOL-LINK = *BY-PROGRAM / <name 1..8>
Nur für ISAM-Dateien, die in ISAM-Pools verarbeitet werden (NK-ISAM): Gibt den Poolkettungsnamen an, der in die TFT eingetragen wird.
Die für die Verarbeitung erforderlichen Blöcke der Datei werden von der Platte in den ISAM-Pool übertragen und dort zwischengespeichert.
POOL-LINK = *BY-PROGRAM
Es wird der im Programm angegebene Poolkettungsname verwendet.
POOL-LINK = <name 1..8>
Zum OPEN-Zeitpunkt wird der Poolkettungsname an NK-ISAM übergeben. Dieser Poolkettungsname muss mit dem Kommando ADD-ISAM-POOL-LINK einem ISAM-Pool zugewiesen worden sein, der mit dem Kommando CREATE-ISAM-POOL erzeugt wurde.
POOL-SIZE = *BY-PROGRAM / <integer 128..1048576 2Kbyte >
Für NK-ISAM-Dateien:
Bestimmt die Größe des dateispezifischen ISAM-Pools in Einheiten zu 2048 Byte. Die Angabe bezieht sich nicht auf den mit POOL-LINK angesprochenen ISAM-Pool.
WRITE-IMMEDIATE = *BY-PROGRAM / *NO / *YES
Steuert das Zurückschreiben geänderter Blöcke auf die Platte.
Bei Shared-Update-Verarbeitung oder in taskübergreifenden ISAM-Pools gilt implizit WRITE-IMMEDIATE=*YES, d.h. geänderte Blöcke werden stets sofort auf Platte zurückgeschrieben.
WRITE-IMMEDIATE = *BY-PROGRAM
Der im Programm eingestellte Wert wird verwendet.
WRITE-IMMEDIATE = *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.
WRITE-IMMEDIATE = *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.
READ-IN-ADVANCE = *BY-PROGRAM / *YES / *NO
Gibt an, ob die Ein-/Ausgabe überlappt erfolgen soll.
READ-IN-ADVANCE = *BY-PROGRAM
Es wird die Einstellung aus dem Programm verwendet.
READ-IN-ADVANCE = *YES
Bei der Definition eines zweiten Ein-/Ausgabebereichs im Programm können Leseoperationen überlappend durchgeführt werden.
Bei NK-ISAM bedeutet „überlappende Verarbeitung“, dass benachbarte Blöcke ebenfalls in den ISAM-Pool eingelesen werden. READ-IN-ADVANCE =*YES sollte nur bei vorwiegend sequenziellem Lesen genutzt werden.
„Überlappende Verarbeitung“ bei K-ISAM: Sind im FCB zwei E/A-Puffer
angegeben, so kann während des Lesens aus dem einen Puffer ein Block in den anderen Puffer eingelesen werden.
READ-IN-ADVANCE = *NO
Leseoperationen werden nicht überlappend durchgeführt.
DUPLICATE-KEY = *BY-PROGRAM / *YES / *NO
Gibt an, ob beim Eintragen von Sätzen mit Makro PUT oder STORE gleiche ISAM-Schlüssel mehrfach auftreten dürfen.
DUPLICATE-KEY = *BY-PROGRAM
Es wird der im Programm festgelegte Wert verwendet.
DUPLICATE-KEY = *YES
Haben mehrere Sätze den gleichen ISAM-Schlüssel, überschreiben sie sich nicht gegenseitig, sondern werden in der Reihenfolge ihrer Erstellung hintereinander geschrieben.
Bei NK-ISAM wird den Sätzen mit gleichen Schlüsseln intern ein 8-Byte-Zeitstempel angehängt, was bei der Definition der Satzlänge berücksichtigt werden sollte.
Siehe „Überlaufblöcke“ im Handbuch „Einführung in das DVS“ [13].
DUPLICATE-KEY = *NO
Hat der einzutragende Satz einen ISAM-Schlüssel, der bereits aufgetreten ist, so wird im Programm bei PUT zum EXLST-Ausgang „DUPEKY“ verzweigt, bei STORE wird der bereits existierende Satz überschrieben.
SUPPORT = *TAPE(...)
Die zu verarbeitende Datei ist eine Banddatei.
VOLUME-LIST = *CATALOG(...) / *TEMPORARY (...) / *TAPE-SET (...)
Legt die Datenträgerkennzeichen (VSNs) der Bänder fest, die bearbeitet werden sollen.Für Arbeitsdateien (DEVICE-TYPE=*WORK) wird der Operand ADD-CATALOG-VOLUME ignoriert und der Operand TAPE-SET-NAME abgewiesen.
VOLUME-LIST = *CATALOG(...)
Es werden die Datenträgerkennzeichen aus der Datenträgertabelle des Katalogeintrags in die Datenträgerliste übernommen.
ADD-CATALOG-VOLUME = *NONE / *ANY (...) / list-poss(255): <alphanum-name 1..6>
Der Operand wird für Arbeitsdateien (DEVICE-TYPE=*WORK) ignoriert.
Zusätzlich zu den Datenträgerkennzeichen (VSNs) aus der Datenträgertabelle des Katalogeintrags werden weitere Datenträgerkennzeichen in die Datenträgerliste aufgenommen. Die Datenträger-Tabelle des Katalogeintrags wird um diese Datenträgerkennzeichen erweitert.
ADD-CATALOG-VOLUME = *NONE
In die Datenträgerliste werden keine weiteren Datenträgerkennzeichen aufgenommen.
ADD-CATALOG-VOLUME = *ANY (...)
Die Auswahl der Datenträgerkennzeichen trifft entweder das Operating (auf Grund einer entspechenden Konsolmeldung) oder, sofern verfügbar, das Dienstprogramm MAREN.
Für die Pseudodatei *DUMMY wird die Angabe ignoriert.
NUMBER-OF-DEVICES = 1 / <integer 1..9>
Anzahl der Datenträgerkennzeichen, die zusätzlich in die Datenträgerliste aufgenommen werden.
ADD-CATALOG-VOLUME = list-poss (255): <alphanum-name 1..6>
Datenträgerkennzeichen (VSNs), die zusätzlich in die Datenträgerliste aufgenommen werden sollen.
VOL-SEQUENCE-NUMBER = *NONE / *FROM-START-POSITION (...) /
list-poss (255): <integer 1..255>
Legt fest, welche Datenträgerkennzeichen (VSNs) aus der Datenträgerliste in die Datenträger-Tabelle des TFT-Eintrags aufgenommen werden und in welcher Reihenfolge dies geschehen soll. Die Reihenfolge ist für die anschließende Dateiverarbeitung maßgeblich.
VOL-SEQUENCE-NUMBER = *NONE
Es werden alle Datenträgerkennzeichen aus der Datenträgerliste in die Datenträger-Tabelle des TFT-Eintrags aufgenommen.
VOL-SEQUENCE-NUMBER = *FROM-START-POSITION (...)
Legt fest, ab welchem Datenträgerkennzeichen aus der Datenträgerliste Datenträger in die Datenträger-Tabelle des TFT-Eintrags aufgenommen werden sollen.
START-POSITION = <integer 1..255>
Ab der angegebenen Position werden alle Datenträgerkennzeichen in die Datenträger-Tabelle des TFT-Eintrags übernommen.
VOL-SEQUENCE-NUMBER = list-poss (255): <integer 1..255>
Positionen der Datenträgerkennzeichen (VSNs) aus der Datenträgerliste, die in die Datenträger-Tabelle des TFT-Eintrags aufgenommen werden sollen. Eine hier angegebene Nummer (z.B. 12) bezeichnet die Position eines Datenträgerkennzeichens (hier das zwölfte Datenträgerkennzeichen) in der Datenträgerliste. Die eingegebene Nummer ist also die Dateiabschnittsnummer.
VOLUME-LIST = *TEMPORARY(...)
Die Datenträger-Tabelle des bestehenden Katalogeintrags bleibt unverändert und wird bei der Dateiverarbeitung ignoriert.
PROCESS-VOLUME = list-poss (255): <alphanum-name 1..6>
Gibt eine temporäre Liste von Datenträgerkennzeichen für die Verarbeitung an. Diese Liste bildet die Datenträgerliste und die Datenträgertabelle des erzeugten TFT-Eintrags.
VOLUME-LIST = *TAPE-SET(...)
Der Operand wird für Arbeitsdateien (DEVICE-TYPE=*WORK) abgewiesen.
Legt die Menge der Datenträgerkennzeichen für Banddateien fest, die mithilfe von CREATE- bzw. EXTEND-TAPE-SET erstellt bzw. erweitert wurde.
Der Katalogeintrag darf noch keine Datenträgerkennzeichen in seiner Datenträgertabelle haben. Die Datenträgerliste wird aus den Datenträgerkennzeichen eines TST-Eintrags gebildet. Alle Datenträgerkennzeichen der Datenträgerliste werden in die Datenträgertabelle des Katalogeintrags und in die Datenträgertabelle des TFT-Eintrags übernommen.
TAPE-SET-NAME = <alphanum-name 1..4>
Aus dem angegebenen TST-Eintrag werden ab dem aktuellen Datenträgerkennzeichen maximal 255 Datenträgerkennzeichen in die Datenträgerliste übernommen. Der erzeugte TFT-Eintrag wird mit dem angegebenen TST-Eintrag verknüpft. Existiert der TST-Eintrag noch nicht, so wird ein TST-Eintrag mit dem angegebenen Namen und mit leerer Datenträgerliste erzeugt. Die endgültige Bandfolge für die (Ausgabe-) Datei wird erst bei der OPEN-Verarbeitung festgelegt.
Der Bezug auf einen Tape-Set ist nur für Ausgabedateien mit Standardkennsätzen zulässig.
FILE-SET-IDENTIFIER = *BY-TAPE-SET / <alphanum-name 1..6>
File-Set-Identifier des TST-Eintrags.
Das hier angegebene Datenträgerkennzeichen muss mit dem File-Set-Identifier im TST-Eintrag übereinstimmen.
FILE-SET-IDENTIFIER = *BY-TAPE-SET
Der File-Set-Identifier wird durch den TST-Eintrag festgelegt.
FILE-SET-IDENTIFIER = <alphanum-name 1..6>
Das hier angegebene Datenträgerkennzeichen muss mit dem File-Set-Identifier im TST-Eintrag übereinstimmen.
DEVICE-TYPE = *ANY / <device>
Gerätetyp des benötigten Bandes.
Es werden nur Geräte- oder Volumetypen akzeptiert, die im System bekannt sind. Im Dialog werden mit DEVICE-TYPE=? die möglichen Geräte- und Volumetypen angezeigt.
Ist der Volumetyp WORK angegeben, so wird bei der Dateieröffnung ein Arbeitsband bereitgestellt.
LABEL-PROCESSING = *BY-PROGRAM / *PARAMETERS(...)
Angaben zur Verarbeitung der Kennsätze.
LABEL-PROCESSING = *BY-PROGRAM
Es werden die im Programm angegebenen Einstellungen verwendet.
LABEL-PROCESSING = *PARAMETERS(...)
Es werden die in den nachfolgenden Operanden angegebenen Werte verwendet.
LABEL-TYPE = *BY-DATA-ATTRIBUTES / *BY-PROGRAM / *NO / *NON-STD / *STD(...)
Art der Dateikennsätze.
Für bereits bestehende Banddateien gilt immer der im VOL1-Kennsatz angegebene Normvermerk. Für Ausgabedateien (OPEN OUTIN/OUTPUT) wird der Operand LABEL-TAPE ausgewertet und der Normvermerk im VOL1-Kennsatz entsprechend versorgt/geändert.
LABEL-TYPE = *BY-DATA-ATTRIBUTES
Es wird der Wert der im Operanden DATA-ATTRIBUTES angegebenen Datei verwendet. Mit DATA-ATTRIBUTES=*STD gilt LABEL-TYPE=*BY-PROGRAM.
LABEL-TYPE = *BY-PROGRAM(...)
Es werden die im Programm festgelegten Werte verwendet.
LABEL-TYPE = *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.
LABEL-TYPE = *NON-STD
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.
LABEL-TYPE = *STD(...)
Vereinbart Standardkennsätze für die Datei. Die Datenträger, die die zu bearbeitende Datei enthalten, müssen mit Standardkennsätzen versehen sein.
DIN-REVISION-NUMBER = *BY-PROGRAM / <integer 0..3>
Datei und Datenträger erhalten/haben Standardkennsätze entsprechend der hier bezeichneten Austauschstufe der DIN-Norm 66029.
0: nur 2 HDR-Kennsätze werden erzeugt (ältester Standardkennsatzaufbau; altes BS2000 oder BS1000 bzw. IBM)
1: DIN-Norm 66029 vom August 1972
2: DIN-Norm 66029 vom Juni 1976
3: DIN-Norm 66029 vom Mai 1979
Enthält das Band bereits Dateien oder Dateiabschnitte, so muss die Angabe mit dem im VOL1-Kennsatz enthaltenen Normvermerk verträglich sein.
LABEL=*STD(DIN-REVISION-NUMBER=...) | ||||
---|---|---|---|---|
DIN 66029 | 0 | 1 | 2 | 3 |
Austauschstufe | - | 1 8/1972 | 2 6/1976 | 3 3/1978 |
Normvermerk im | ' ' | 1 | 2 | 3 |
CODE= *ISO-7/ *OWN | nicht zulässig | STD-Blöcke in Nicht-Standardblöcke umgewandelt | STD-Blöcke in Nicht-Standardblöcke umgewandelt | STD-Blöcke in Nicht-Standardblöcke umgewandelt |
REC-FORM=V: | REC-FORM=V: | REC-FORM=V: | ||
REC-SIZE > 9999 | REC-SIZE > 9999 | REC-SIZE > 9999 | ||
CODE= *EBCDIC | STD-Blöcke in Nicht-Standardblöcke umgewandelt | STD-Blöcke in Nicht-Standardblöcke umgewandelt | ||
Zugriffsmethode | nur SAM | nur SAM | ||
RECORD-FORMAT= *UNDEFINED | unzulässig für Ausgabedateien; |
Einschränkungen zur Tabelle
DIN-REVISION-NUMBER=1 wird angenommen bei:
RECORD-FORMAT=*VARIABLE und CODE=*EBCDIC
BUFFER-LENGTH=*STD(...)
ACCESS-METHOD=*UPAM oder ACCESS-METHOD=*BTAM
Bei DIN-REVISION-NUMBER=0 muss CODE=*EBCDIC gelten.
Ist die im Normvermerk (VOL1-Kennsatz) angegebenene Nummer kleiner als die beim Operanden DIN-REV-NUM angegebene, wird die Nummer aus dem Normvermerk übernommen.
In allen sonstigen Fällen gilt: DIN-REVISION-NUMBER=3 (z.B. bei CODE=*ISO7 und RECORD-FORMAT=*VARIABLE).
Für eine Datei, die im Modus INPUT, INOUT, EXTEND oder REVERSE eröffnet wird, ignoriert das System die hier angegebene Nummer und bezieht sich auf die im Datenträgerkennsatz (VOL1) angegebene Nummer (Normvermerk).Für eine Ausgabedatei ist die hier angegebene Nummer bzw., wenn nur *STD angegeben wurde, die aktuellste Nummer maßgebend, wobei Folgendes zu beachten ist:
Enthält der zugewiesene Datenträger schon eine oder mehrere Dateien bzw. Dateiabschnitte, muss die Nummer mit dem Normvermerk im ersten Datenträgerkennsatz übereinstimmen. Ansonsten wird entsprechend der angegebenen Nummer der Normvermerk versorgt.
Enthält also ein Datenträger schon eine bzw. mehrere Dateien/Dateiabschnitte, und der Normvermerk im ersten Datenträgerkennsatz liegt unterhalb der implizit angenommen Norm-Version(Nummer), wird die Versionsnummer dem Datenträgerkennsatz entnommen.
BYPASS-LABEL-CHECK = *BY-PROGRAM / *NO-POSITIONING / *ABSOLUTE-POSITIONING(...) /
*FORWARD-POSITIONING(...) / *BACKWARD-POSITIONING(...)
Ermöglicht bei entsprechender Berechtigung im Benutzer-Eintrag (siehe Ausgabefeld TPIGNORE des Kommandos SHOW-USER-ATTRIBUTES) die Umgehung von Kennsatzprüfungen und damit die Verarbeitung von Bändern, die unter fremden Betriebssystemen erstellt wurden oder deren Aufbau und Kennsatzformat dem System nicht bekannt sind. Zusätzlich entfällt auch dieCodeprüfung. Ist das Band in einem anderen Code als EBCDI- oder ISO-Code beschrieben, muss der Anwender mit einer eigenen Code-Tabelle (CODE=*OWN) arbeiten.
Die BYPASS-LABEL-CHECK-Angabe gilt nur während der Dateiverarbeitung, sie wird nicht in den Katalog aufgenommen.
BYPASS-LABEL-CHECK = *BY-PROGRAM
Es wird die im Programm gewählte Einstellung verwendet.
BYPASS-LABEL-CHECK = *NO-POSITIONING
Es erfolgt keine Kennsatzbehandlung; Anfangskennsätze werden weder geprüft noch gelesen; die Bandposition wird nicht verändert.
BYPASS-LABEL-CHECK = *ABSOLUTE-POSITIONING(...)
Absolutes Positionieren. Das Band wird auf die nachfolgend genannte Abschnittsmarke positioniert. Gerechnet wird ab Bandanfang.
TAPE-MARK-NUMBER = <integer 0..32767>
Nummer der Abschnittsmarke, auf die positioniert werden soll.TAPE-MARK-NUMBER = 0: Positionieren auf Bandanfang
BYPASS-LABEL-CHECK = *FORWARD-POSITIONING(...)
Relatives Positionieren vorwärts. Das Band wird um die nachfolgend genannte Anzahl Abschnittsmarken vorgesetzt. Gerechnet wird ab der jeweils aktuellen Bandposition.
Es erfolgt keine Kennsatzprüfung.
NUMBER-OF-TAPE-MARKS = <integer 0..127>
Anzahl der Abschnittsmarken, um die das Band bei der Dateieröffnung vorgesetzt werden soll.
NUMBER-OF-TAPE-MARKS = 0: Das Band wird nicht neu positioniert
BYPASS-LABEL-CHECK = *BACKWARD-POSITIONING(...)
Relatives Positionieren rückwärts. Das Band wird um die nachfolgend genannte Anzahl Abschnittsmarken zurückgesetzt. Gerechnet wird ab der jeweils aktuellen Bandposition.
Es erfolgt keine Kennsatzprüfung.
NUMBER-OF-TAPE-MARKS = <integer 0..127>
Anzahl der Abschnittsmarken, um die das Band bei der Dateieröffnung zurückgesetzt werden soll.
NUMBER-OF-TAPE-MARKS=0: das Band wird nicht neu positioniert
PROTECTION-LEVEL = *BY-PROGRAM / *LOW(...) / *HIGH(...)
Sicherheitsgrad, der durch die Kennsatzprüfung gewährleistet sein soll. Wirkt sich nur im Batchbetrieb auf die Dateiverarbeitung aus.
Dieser Operand ist nur für Bänder oder Dateien mit Standardkennsätzen zulässig.
PROTECTION-LEVEL = *BY-PROGRAM
Die im Programm gewählte Einstellung wird verwendet.
PROTECTION-LEVEL = *LOW(...)
Läuft die Dateiverarbeitung im Batchbetrieb unter der Kennung der Systembetreuung oder des Band- bzw. Dateieigentümers, so werden bei entsprechender Berechtigung im Benutzer-Eintrag (siehe Ausgabefeld TPIGNORE des Kommandos SHOW-USER-ATTRIBUTES) bestimmte Fehlermeldungen der Kennsatzverarbeitung unterdrückt.
OVERWRITE-PROTECTION = *NO / *YES
Gibt an, ob zum Schreibschutz zusätzliche Kennsatzprüfungen durchzuführen sind.
OVERWRITE-PROTECTION = *NO
Zusätzlich zum Schreibschutz werden keine weiteren Kennsatzprüfungen durchgeführt.
OVERWRITE-PROTECTION = *YES
Das System führt zusätzliche Prüfungen durch:
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.
die neue Datei darf nicht mit ACCESS=READ vereinbart sein, wenn die vorhergehende Datei mit ACCESS=WRITE vereinbart wurde.
PROTECTION-LEVEL = *HIGH(...)
Fehlermeldungen werden im Batchbetrieb an der Konsole ausgegeben. Läuft der Auftrag unter einer Benutzerkennung mit der Berechtigung TPIGNORE=YES im Benutzerkatalog, kann das Operating die Fehlermeldung ignorieren.
OVERWRITE-PROTECTION = *NO / *YES
Siehe Operand PROTECTION-LEVEL=*LOW.
TAPE-MARK-WRITE = *BY-PROGRAM / *YES
Nur für Banddateien ohne Standardkennsätze: Legt fest, ob Abschnittsmarken erzeugt werden, d.h. der Operand TAPE-MARK wird bei Dateieröffnung nur für Banddateien mit LABEL=*NO/*NON-STD ausgewertet. Dateien mit LABEL=*STD(DIN-REV-NUM=n) erhalten standardmäßig Abschnittsmarken nach den Kennsätzen.
TAPE-MARK-WRITE = *BY-PROGRAM
Es wird der im Programm eingestellte Wert verwendet.
TAPE-MARK-WRITE = *YES
Die Abschnittsmarke folgt dem Kennsatz.
Banddateien ohne Kennsätze: die Abschnittsmarke wird an den Beginn des Bandes geschrieben.
CODE = *BY-DATA-ATTRIBUTES / *BY-PROGRAM / *BY-CATALOG / *EBCDIC / *ISO7 / *ISO7D / *OWN
Für SAM- oder BTAM-Banddateien: Code, in dem die Daten und Kennsätze der Datei bearbeitet werden. Codeumsetzung ist nur für Dateien mit Nichtstandardblöcken möglich und kann bei Ausgabe im Ortungsbetrieb das Satzlängenfeld verändern.
Der Operand EBCDIC-TRANSLATION muss berücksichtigt werden.
CODE = *BY-DATA-ATTRIBUTES
Es wird der Wert der im Operanden DATA-ATTRIBUTES angegebenen Datei verwendet. Mit DATA-ATTRIBUTES=*STD gilt CODE=*BY-PROGRAM.
CODE = *BY-PROGRAM
Es wird die im Programm gewählte Einstellung verwendet.
CODE = *BY-CATALOG
Die im Katalogeintrag festgelegte Einstellung wird verwendet.
CODE = *EBCDIC
Bei der Verarbeitung ist keine Code-Umsetzung erforderlich.
Hinweis
Deutscher und internationaler Zeichensatz werden mit dem gleichen Code verschlüsselt. Unterschiede in der Darstellung können z.B. durch verschiedene Zeichensatzeinstellungen der Terminal-Emulation entstehen. Dies gilt auch für CODE=*ISO7.
CODE = *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. Zur Code-Umsetzung wird die internationale ISO-Tabelle verwendet.
Hinweise
die Blocklänge muss in der Form BUFFER-LENGTH=<integer 1..32767> angegeben werden, da andernfalls ein (sedezimaler) PAM-Schlüssel vor die ausgegebenen Blöcke geschrieben wird. Dies gilt auch für CODE=*OWN.
bei Ausgaben, die im „locate mode“ (Ortungsbetrieb) erfolgen, ändert sich bei variablem Satzformat (RECORD FORMAT=*VARIABLE) der Inhalt des Satzlängenfeldes (d.h. die ersten 4 Byte). Im „move-mode“ (Übertragungsbetrieb) wird das Satzlängenfeld jedoch nicht verändert. Dies gilt auch für CODE=*OWN.
Deutscher und internationaler Zeichensatz werden mit dem gleichen Code verschlüsselt. Unterschiede in der Darstellung können z.B. durch verschiedene Zeichensatzeinstellungen der Terminal-Emulation entstehen. Dies gilt auch für CODE= *EBCDIC.
CODE = *ISO7D
Die Code-Umsetzung erfolgt wie bei CODE=*ISO7. Es wird jedoch die deutsche ISO-Tabelle verwendet.
CODE = *OWN
Alle Ein-/Ausgaben auf Band erfolgen über vom Benutzer erstellte Code-Umsetzungstabellen, deren Adressen im Dateisteuerblock (FCB) des Programms enthalten sein müssen (Verwendung der Parameter TRTADR und TRTADW im FCB-Makroaufruf).
Hinweise
- die Blocklänge muss in der Form BUFFER-LENGTH=<integer 1..32767> angegeben werden, da andernfalls ein (sedezimaler) PAM-Schlüssel vor die ausgegebenen Blöcke geschrieben wird. Dies gilt auch für CODE=*ISO7.
bei Ausgaben, die im „locate mode“ (Ortungsbetrieb) erfolgen, ändert sich bei variablem Satzformat (RECORD FORMAT=*VARIABLE) der Inhalt des Satzlängenfeldes (d.h. die ersten 4 Byte).Im „move-mode“ (Übertragungsbetrieb) wird das Satzlängenfeld jedoch nicht verändert. Dies gilt auch für CODE=*ISO7.
EBCDIC-TRANSLATION = *BY-PROGRAM / *YES / *NO
Nur 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.
EBCDIC-TRANSLATION = *BY-PROGRAM
Die im Programm gewählte Einstellung wird übernommen.
EBCDIC-TRANSLATION = *YES
ISO-7-Bit-Code oder OWN-Code werden in EBCDI-Code umgesetzt.
EBCDIC-TRANSLATION = *NO
Keine Umsetzung in EBCDI-Code.
ISO-7-Bit-Code wird mit einer führenden Null in ein 8-Bit-Format umgesetzt.
FILE-SEQUENCE = *BY-PROGRAM / *BY-CATALOG / *UNKNOWN / *NEW / <integer 0..9999>
Gibt die laufende Nummer (Dateifolgenummer) einer Banddatei innerhalb einer Dateimenge (File Set) an.
Sind auf einem Band mehrere Dateien gleichen Namens gespeichert, wird der Zugriff über FILE-SEQUENCE gesteuert. Dies gilt auch für MF/MV-Sets. Bei gleichzeitiger Angabe des Operanden VOLUME-LIST=*TAPE-SET(...) darf nur FILE-SEQUENCE= *NEW oder FILE-SEQUENCE=1 angegeben werden.
FILE-SEQUENCE = *BY-PROGRAM
Es wird der im Programm eingestellte Wert verwendet.
FILE-SEQUENCE = *BY-CATALOG
Ist im Katalogeintrag eine Dateifolgenummer eingetragen, so wird diese in den TFT-Eintrag übernommen. Andernfalls wird im Katalogeintrag keine Dateifolgenummer und im TFT-Eintrag *BY-CATALOG eingetragen.
FILE-SEQUENCE = *UNKNOWN
Ist im Katalogeintrag eine Dateifolgenummer eingetragen, so wird diese in den TFT-Eintrag übernommen. Andernfalls wird im Katalogeintrag keine Dateifolgenummer und im TFT-Eintrag *UNKNOWN eingetragen.
Für eine Foreign-Banddatei mit Standardkennsätzen bedeutet dies: Bei der Dateieröffnung wird das Band nach der Datei durchsucht und entsprechend positioniert.
FILE-SEQUENCE = *NEW
Nur zulässig für noch nicht erstellte, d.h. eröffnete (OPEN OUTPUT) Dateien. Eine bereits existierende Dateimenge wird um eine neue Datei erweitert. Dabei wird auf das Ende der Dateimenge (File Set) positioniert, und die neue Datei hinter die bisher letzte Datei der Dateimenge geschrieben. Wird das Ende nicht gefunden, meldet das System OPEN-Error. Die Dateifolgenummer der neuen Datei ist die Dateifolgenummer der letzten Datei einer Dateimenge (File Set) um „1“ erhöht. Existiert zum Zeitpunkt der Dateieröffnung noch keine Datei auf dem Band, wird die Datei die Erste der Dateimenge (File Set) und erhält dementsprechend die Dateifolgenummer „1“.
FILE-SEQUENCE = <integer 0..9999>
Gibt die Dateifolgenummer einer Datei innerhalb einer Dateimenge an; FILE-SEQUENCE=0 bezeichnet wie FILE-SEQUENCE=1 die erste Datei der Dateimenge. Falls die Datei bereits mit einem Erstellungsdatum katalogisiert ist, muss die vom Anwender angegebene Dateifolgenummer mit der im Katalogeintrag enthaltenen übereinstimmen.
Soll eine neue Datei erstellt werden, wird sie am Ende der Dateimenge angefügt, d.h. die Dateifolgenummer muss um 1 höher sein als die der bisher letzten Datei der Dateimenge.
Hinweis
Wird eine Dateifolgenummer für eine schon bestehende Datei der Dateimenge angegeben, so wird diese schon bestehende Datei überschrieben.
CHECKPOINT-WRITE = *BY-PROGRAM / *PARAMETERS(...)
Steuert, ob und wann automatisch ein Fixpunkt an das Bandende geschrieben wird.
CHECKPOINT-WRITE = *BY-PROGRAM
Die im Programm gewählte Einstellung wird übernommen.
CHECKPOINT-WRITE = *PARAMETERS(...)
CHKPT-AT-BLOCK-LIMIT = *BY-PROGRAM
Die im Programm gewählte Einstellung wird übernommen.
CHKPT-AT-BLOCK-LIMIT = *YES
Beim Erreichen der im Operanden BLOCK-LIMIT angegebenen Maximalzahl von logischen Blöcken pro Band wird automatisch ein Fixpunkt geschrieben.
CHKPT-AT-FORCED-EOV = *BY-PROGRAM
Die im Programm gewählte Einstellung wird übernommen.
CHKPT-AT-FORCED-EOV = *YES
Fixpunkt bei erzwungenem Bandende. Bei jedem FEOV-Makroaufruf im Assembler-Programm wird automatisch ein Fixpunkt geschrieben.
RESTART-USAGE = *BY-PROGRAM / *DUMMY
Gibt an, ob die beim Operanden FILE-NAME angegebene Datei bei Wiederanlauf (Kommando RESTART-PROGRAM) weiterverarbeitet oder wie eine DUMMY-Datei behandelt werden soll.
RESTART-USAGE = *BY-PROGRAM
Die im Programm gewählte Einstellung wird übernommen.
RESTART-USAGE = *DUMMY
Die Datei wird bei einem Wiederanlauf wie eine DUMMY-Datei behandelt.
BLOCK-LIMIT = *BY-PROGRAM / <integer 1..999999>
Nur zum Erstellen von SAM-Banddateien mit Standardkennsätzen: Maximale Anzahl logischer Blöcke der Datei pro Band.
BLOCK-LIMIT = *BY-PROGRAM
Die im Programm gewählte Einstellung wird übernommen.
BLOCK-LIMIT = <integer 1..999999>
Legt fest, wie viele logische Datenblöcke auf ein Band geschrieben werden dürfen. Bei Erreichen des Grenzwertes wird Bandwechsel veranlasst (EOV-Verarbeitung). Ist das Bandende erreicht, bevor die mit BLOCK-LIMIT festgelegte Anzahl Blöcke geschrieben wurde, erhält der Benutzer eine Fehlermeldung.
BLOCK-OFFSET = *BY-DATA-ATTRIBUTES / *BY-PROGRAM / *BY-CATALOG / *BY-HDR2 /
<integer 0..99 byte >
Nur für SAM-Banddateien mit BLOCK-CONTROL-INFO=*WITHIN-DATA-BLOCK oder SAM-Banddateien ohne Standardblockung:
legt die Pufferverschiebung (Buffer Offset) fest, d.h. die Länge eines Feldes (in Bytes), das am Anfang eines jeden logischen Datenblocks eingefügt wird. Dieses Feld enthält, falls vorhanden, die Blockkontrollinformation bzw. das Blocklängenfeld.
BLOCK-OFFSET = *BY-DATA-ATTRIBUTES
Es wird der Wert der im Operanden DATA-ATTRIBUTES angegebenen Datei verwendet. Mit DATA-ATTRIBUTES=*STD gilt BLOCK-OFFSET=*BY-PROGRAM.
BLOCK-OFFSET = *BY-PROGRAM
Es wird der im Programm eingestellte Wert verwendet.
Ist im Programm kein Wert vorgegeben, gilt folgende Voreinstellung:
Banddatei mit BLOCK-CONTROL-INFO=*WITHIN-DATA-BLOCK:
bei ACCESS-METHOD=*SAM gilt BLOCK-OFFSET=16
bei ACCESS-METHOD=*UPAM gilt BLOCK-OFFSET=12
Banddatei mit BLOCK-CONTROL-INFO=*NO:
bei RECORD-FORMAT=*VARIABLE gilt BLOCK-OFFSET=4
bei RECORD-FORMAT=*FIXED/*UNDEFINED gilt BLOCK-OFFSET=0
BLOCK-OFFSET = *BY-CATALOG
Es wird der im Katalog eingetragene Wert verwendet.
BLOCK-OFFSET = *BY-HDR2
Der BLOCK-OFFSET-Wert wird dem HDR2-Kennsatz der Datei entnommen. Ist kein HDR2-Kennsatz vorhanden oder enthält das Feld „Pufferverschiebung“ im HDR2-Kennsatz Leerzeichen (X'4040'), tritt die Voreinstellung in Kraft (siehe *BY-
PROGRAM).
BLOCK-OFFSET = <integer 0..99 byte >
Gibt die Länge der Pufferverschiebung an.
Bei Sätzen variabler Länge (RECORD-FORMAT=*VARIABLE) darf die Pufferverschiebung eine Länge zwischen 0 und 4 Byte annehmen. Ist BLOCK-OFFSET=4, so enthält dieses Feld die aktuelle Blocklänge.
TAPE-WRITE = *BY-PROGRAM / *DEVICE-BUFFER / *IMMEDIATE
Nur für Dateien auf Magnetbandkasetten (Kommando CREATE-FILE/MODIFY-FILE-ATTRIBUTES, Operand DEVICE-TYPE): Legt fest, ob die Ausgabe der Dateien gepuffert erfolgen soll.
TAPE-WRITE = *BY-PROGRAM
Der im Programm eingestellte Wert wird verwendet.
TAPE-WRITE = *DEVICE-BUFFER
Die Ausgabe wird über die Gerätesteuerung gepuffert, wodurch sich eine hohe Datenübertragungsrate erzielen lässt.
TAPE-WRITE = *IMMEDIATE
Die Ausgabe wird nicht gepuffert.
DESTROY-OLD-CONTENTS = *BY-CATALOG / *NO / *YES
Der Anwender kann bestimmen, ob im Anschluss an die EOF-/EOV-Verarbeitung weitere auf dem Band stehende Daten durch Überschreiben physikalisch gelöscht werden sollen.
Der Operand hat die gleiche Funktion wie der Wert DESTROY im Katalogeintrag, hat jedoch Vorrang vor dem Katalogeintrag, der mit dem Kommando CREATE-FILE bzw. MODIFY-FILE-ATTRIBUTES, Operand DESTROY-BY-DELETE erstellt wird.
Angaben bei diesem Operanden werden nicht in den FCB bzw. den Katalogeintrag übernommen.
DESTROY-OLD-CONTENTS = *BY-CATALOG
Bei der Dateiverarbeitung wird der im Katalogeintrag bei DESTROY-BY-DELETE festgelegte Wert wirksam.
DESTROY-OLD-CONTENTS = *NO
Das Löschen bis zum Bandende unterbleibt.
DESTROY-OLD-CONTENTS = *YES
Nach Schreiben der EOF-/EOV-Kennsätze wird der Rest der Daten bis zum Bandende gelöscht.
IO-CHAINING = *BY-PROGRAM / <integer 1..16>
Nur für BTAM-Dateien bei geketteter Ein-/Ausgabe: Bestimmt die Anzahl logischer Blöcke pro Transporteinheit (Kettungsfaktor, der die Länge der Transporteinheit/Übertragungseinheit bei der Ein-/Ausgabe festlegt).
IO-CHAINING = *BY-PROGRAM
Der im Programm eingestellte Wert wird verwendet.
IO-CHAINING = <integer 1..16>
Bezeichnet eine Anzahl logischer Blöcke, sodass sich die Länge der Transporteinheit berechnet aus: (IO-CHAINING ✕ BUFFER-LENGTH). Obwohl bei der Verarbeitung von BTAM-Dateien Angaben im Programm (BTAM-Makroaufruf, Operand LEN) gegenüber dem Produkt (IO-CHAINING ✕ BUFFER-LENGTH) überwiegen, muss IO-CHAINING im Kommando ADD-FILE-LINK angegeben werden, wenn mit geketteter Ein-/Ausgabe gearbeitet wird.
FILE-CLOSE-MSG = *STD / *NO / *YES
Für sequenziell zu verarbeitende Dateien (SAM) kann der Anwender bestimmen, ob nach der CLOSE-Verarbeitung die Abschlussmeldung DMS0DE7 nach SYSOUT ausgegeben werden soll. Wenn der Systemparameter CONSDDE7=Y gesetzt ist, wird die Meldung zusätzlich auch an der Konsole ausgegeben.
FILE-CLOSE-MSG = *STD
Es gilt folgende Voreinstellung:
- für Plattendateien: FILE-CLOSE-MSG = *NO
- für Banddateien: FILE-CLOSE-MSG = *YES
FILE-CLOSE-MSG = *NO
Die Abschlussmeldung wird unterdrückt.
FILE-CLOSE-MSG = *YES
Die Abschlussmeldung wird ausgegeben.
Kommando-Returncode
(SC2) | SC1 | Maincode | Bedeutung / garantierte Meldungen |
---|---|---|---|
0 | CMD0001 | Kommando erfolgreich ausgeführt | |
1 | CMD0202 | Syntax- oder Semantikfehler | |
1 | DMS0576 | Fehlerhafte Operanden-Kombination | |
32 | DMS0584 | Während der Verarbeitung wurde ein Zustand gemeldet, der die Fortführung der Funktion nicht zulässt. | |
32 | DMS05C7 | Unerwarteter interner Fehler im DVS | |
64 | CMD0216 | Erforderliche Berechtigung nicht vorhanden | |
64 | DMS0501 | Angeforderter Katalog nicht verfügbar | |
64 | DMS0512 | Angeforderter Katalog nicht gefunden | |
64 | DMS051B | Gewünschte Benutzerkennung nicht im Pubset | |
64 | DMS051C | Benutzer hat auf Pubset kein Zugriffsrecht | |
64 | DMS0535 | Angegebene Datei nicht mehrfach benutzbar | |
64 | DMS0585 | Während der Katalogverarbeitung bzw. während der Mehrrechnerverarbeitung wurde ein Fehler festgestellt. | |
64 | DMS0586 | Der Zugriff bzw. die Belegung eines Datenträgers ist derzeit nicht möglich | |
64 | DMS0587 | Die Benutzung des angegebenen Kommandos wurde von der Systembetreuung eingeschränkt | |
64 | DMS05FC | Angegebene Benutzerkennung nicht im HOME-Pubset | |
64 | DMS060D | Ungültiger Dateiname für die Referenzdatei | |
64 | DMS0616 | Volume-Set in SM-Pubset nicht zugreifbar | |
64 | DMS0684 | Datei existiert nicht; garantierte Meldung: DMS0684 | |
64 | DMS0685 | Datei belegt noch keinen Speicherplatz | |
64 | DMS06FF | BCAM Verbindung unterbrochen | |
130 | DMS0524 | Systemadressraum erschöpft | |
130 | DMS053C | In der Katalog-Datei des Pubsets kein Platz | |
130 | DMS0582 | Die Datei ist derzeit gesperrt oder in Gebrauch und kann nicht bearbeitet werden | |
130 | DMS0585 | Während der Katalogverarbeitung bzw. während der Mehrrechnerverarbeitung wurde ein Fehler festgestellt. | |
130 | DMS0586 | Der Zugriff bzw. die Belegung eines Datenträgers ist derzeit nicht möglich | |
130 | DMS0594 | Nicht genügend virtueller Speicherplatz vorhanden | |
130 | DMS05C8 | CE-Limit erreicht |
Beispiele
Beispiel 1: TFT-Eintrag mit Werten aus dem Katalogeintrag erzeugen
/show-file-attr savlst.hsmsmac,inf=(org=yes)
%0000000027 :2OSG:$USER1.SAVLST.HSMSMAC % ------------------------------- ORGANIZATION ------------------------------- % FILE-STRUC = SAM BUF-LEN = STD(1) BLK-CONTR = PAMKEY % IO(USAGE) = READ-WRITE IO(PERF) = STD DISK-WRITE = IMMEDIATE % REC-FORM = (V,N) REC-SIZE = 0 % AVAIL = *STD % WORK-FILE = *NO F-PREFORM = *K S0-MIGR = *ALLOWED %:2OSG: PUBLIC: 1 FILE RES= 27 FRE= 4 REL= 3 PAGES
/add-file-link link=edtsam,file-name=avlst.hsmsmac,
access-method=*by-cat,
rec-form=*by-cat,buffer-length=*by-cat,block-contr-info=*by-cat
/show-file-link link=edtsam,inf=*all
%-- LINK-NAME --------- FILE-NAME --------------------------------------------- % EDTSAM :2OSG:$USER1.SAVLST.HSMSMAC % -------------------- STATUS ---------------------------------------------- % STATE = INACTIVE ORIGIN = FILE % -------------------- PROTECTION ------------------------------------------ % RET-PER = *BY-PROG PROT-LEV = *BY-PROG % BYPASS = *BY-PROG DESTROY = *BY-CAT % -------------------- FILE-CONTROL-BLOCK - GENERAL ATTRIBUTES ------------- % ACC-METH = *BY-CAT OPEN-MODE = *BY-PROG REC-FORM = *BY-CAT % REC-SIZE = *BY-PROG BUF-LEN = *BY-CAT BLK-CONTR = *BY-CAT % F-CL-MSG = STD CLOSE-MODE = *BY-PROG % -------------------- FILE-CONTROL-BLOCK - DISK FILE ATTRIBUTES ----------- % SHARED-UPD = *BY-PROG WR-CHECK = *BY-PROG IO(PERF) = *BY-PROG % IO(USAGE) = *BY-PROG LOCK-ENV = *BY-PROG % -------------------- FILE-CONTROL-BLOCK - TAPE FILE ATTRIBUTES ----------- % LABEL = *BY-PROG (DIN-R-NUM = *BY-PROG, TAPE-MARK = *BY-PROG) % CODE = *BY-PROG EBCDIC-TR = *BY-PROG F-SEQ = *BY-PROG % CP-AT-BLIM = *BY-PROG CP-AT-FEOV = *BY-PROG BLOCK-LIM = *BY-PROG % REST-USAGE = *BY-PROG BLOCK-OFF = *BY-PROG TAPE-WRITE = *BY-PROG % STREAM = *BY-PROG % -------------------- FILE-CONTROL-BLOCK - ISAM FILE ATTRIBUTES ----------- % KEY-POS = *BY-PROG KEY-LEN = *BY-PROG POOL-LINK = *BY-PROG % LOGIC-FLAG = *BY-PROG VAL-FLAG = *BY-PROG PROPA-VAL = *BY-PROG % DUP-KEY = *BY-PROG PAD-FACT = *BY-PROG READ-I-ADV = *BY-PROG % WR-IMMED = *BY-PROG POOL-SIZE = *BY-PROG % -------------------- VOLUME ---------------------------------------------- % DEV-TYPE = *NONE T-SET-NAME = *NONE % VSN/DEV = GVS2.2/D3435
Alle Dateieigenschaften, für die im ADD-FILE-LINK-Kommando *BY-CATALOG angegeben wurde, werden im TFT-Eintrag mit *BY-CAT angezeigt. Diese Eigenschaften sollen bei der Verarbeitung über den Kettungnamen EDTSAM aus dem Katalogeintrag der Datei SAVLST.HSMSMAC übernommen werden.
Beispiel 2: Dateieigenschaften explizit im Kommando angeben
/create-file max.file.1
/show-file-attr max.file.1,org=*yes
%0000000003 :2OSG:$USER1.MAX.FILE.1 % ------------------------------- ORGANIZATION ------------------------------- % FILE-STRUC = NONE BUF-LEN = NONE BLK-CONTR = NONE % IO(USAGE) = READ-WRITE IO(PERF) = STD DISK-WRITE = IMMEDIATE % REC-FORM = NONE REC-SIZE = 0 % AVAIL = *STD % WORK-FILE = *NO F-PREFORM = *K S0-MIGR = *ALLOWED %:2OSG: PUBLIC: 1 FILE RES= 3 FRE= 3 REL= 3 PAGES
/add-file-link link=output1,file-name=max.file.1,acc-method=*isam,
support=*disk(isam-attr=*par(key-pos=5,key-length=10))
/show-file-link link=output1,inf=*par(file=*yes)
%-- LINK-NAME --------- FILE-NAME --------------------------------------------- % OUTPUT1 :2OSG:$USER1.MAX.FILE.1 % -------------------- FILE-CONTROL-BLOCK - GENERAL ATTRIBUTES ------------- % ACC-METH = ISAM OPEN-MODE = *BY-PROG REC-FORM = *BY-PROG % REC-SIZE = *BY-PROG BUF-LEN = *BY-PROG BLK-CONTR = *BY-PROG % F-CL-MSG = STD CLOSE-MODE = *BY-PROG % -------------------- FILE-CONTROL-BLOCK - DISK FILE ATTRIBUTES ----------- % SHARED-UPD = *BY-PROG WR-CHECK = *BY-PROG IO(PERF) = *BY-PROG % IO(USAGE) = *BY-PROG LOCK-ENV = *BY-PROG % -------------------- FILE-CONTROL-BLOCK - TAPE FILE ATTRIBUTES ----------- % LABEL = *BY-PROG (DIN-R-NUM = *BY-PROG, TAPE-MARK = *BY-PROG) % CODE = *BY-PROG EBCDIC-TR = *BY-PROG F-SEQ = *BY-PROG % CP-AT-BLIM = *BY-PROG CP-AT-FEOV = *BY-PROG BLOCK-LIM = *BY-PROG % REST-USAGE = *BY-PROG BLOCK-OFF = *BY-PROG TAPE-WRITE = *BY-PROG % STREAM = *BY-PROG % -------------------- FILE-CONTROL-BLOCK - ISAM FILE ATTRIBUTES ----------- % KEY-POS = 5 KEY-LEN = 10 POOL-LINK = *BY-PROG % LOGIC-FLAG = *BY-PROG VAL-FLAG = *BY-PROG PROPA-VAL = *BY-PROG % DUP-KEY = *BY-PROG PAD-FACT = *BY-PROG READ-I-ADV = *BY-PROG % WR-IMMED = *BY-PROG POOL-SIZE = *BY-PROG
Die Datei MAX.FILE.1 wurde mit dem Kommando CREATE-FILE neu angelegt. Die angegebenen Dateieigenschaften aus dem ADD-FILE-LINK-Kommando wurden in den TFT-Eintrag übernommen. Bei der Verarbeitung über den Kettungsnamen OUTPUT1 werden diese Eigenschaften in den Dateisteuerblock übernommen.
Beispiel 3: Dateieigenschaften von einer Referenzdatei übernehmen
/cre-file abk.neu
/show-file-attr abk.isam,inf=(org=*yes)
%0000000126 :2OSG:$USER1.ABK.ISAM % ------------------------------- ORGANIZATION ------------------------------- % FILE-STRUC = ISAM BUF-LEN = STD(1) BLK-CONTR = PAMKEY % IO(USAGE) = READ-WRITE IO(PERF) = STD DISK-WRITE = IMMEDIATE % REC-FORM = (V,N) REC-SIZE = 0 % KEY-LEN = 30 KEY-POS = 8 % AVAIL = *STD % WORK-FILE = *NO F-PREFORM = *K S0-MIGR = *ALLOWED %:2OSG: PUBLIC: 1 FILE RES= 126 FRE= 5 REL= 3 PAGES
/add-file-link link=output2,file-name=abk.neu,
data-attr=*from-file(abk.isam)
/show-file-link link=output2,inf=*all
%-- LINK-NAME --------- FILE-NAME --------------------------------------------- % OUTPUT2 :2OSG:$USER1.ABK.NEU % -------------------- STATUS ---------------------------------------------- % STATE = INACTIVE ORIGIN = FILE % -------------------- PROTECTION ------------------------------------------ % RET-PER = *BY-PROG PROT-LEV = *BY-PROG % BYPASS = *BY-PROG DESTROY = *BY-CAT % -------------------- FILE-CONTROL-BLOCK - GENERAL ATTRIBUTES ------------- % ACC-METH = ISAM OPEN-MODE = *BY-PROG REC-FORM = VARIABLE % REC-SIZE = 0 BUF-LEN = (STD,1) BLK-CONTR = PAMKEY % F-CL-MSG = STD CLOSE-MODE = *BY-PROG % -------------------- FILE-CONTROL-BLOCK - DISK FILE ATTRIBUTES ----------- % SHARED-UPD = *BY-PROG WR-CHECK = *BY-PROG IO(PERF) = *BY-PROG % IO(USAGE) = *BY-PROG LOCK-ENV = *BY-PROG % -------------------- FILE-CONTROL-BLOCK - TAPE FILE ATTRIBUTES ----------- % LABEL = *BY-PROG (DIN-R-NUM = *BY-PROG, TAPE-MARK = *BY-PROG) % CODE = *BY-PROG EBCDIC-TR = *BY-PROG F-SEQ = *BY-PROG % CP-AT-BLIM = *BY-PROG CP-AT-FEOV = *BY-PROG BLOCK-LIM = *BY-PROG % REST-USAGE = *BY-PROG BLOCK-OFF = 0 TAPE-WRITE = *BY-PROG % STREAM = *BY-PROG % -------------------- FILE-CONTROL-BLOCK - ISAM FILE ATTRIBUTES ----------- % KEY-POS = 8 KEY-LEN = 30 POOL-LINK = *BY-PROG % LOGIC-FLAG = 0 VAL-FLAG = 0 PROPA-VAL = MINIMUM % DUP-KEY = *BY-PROG PAD-FACT = *BY-PROG READ-I-ADV = *BY-PROG % WR-IMMED = *BY-PROG POOL-SIZE = *BY-PROG % -------------------- VOLUME ---------------------------------------------- % DEV-TYPE = *NONE T-SET-NAME = *NONE % VSN/DEV = GVS2.3/D3435
Die Datei ABK.NEU wurde mit dem Kommando CREATE-FILE neu angelegt. Die Datei soll bei der Verarbeitung dieselben Dateieigenschaften wie die Datei ABK.ISAM erhalten. Dazu wird die Datei ABK.ISAM im ADD-FILE-LINK-Kommando als Referenzdatei angegeben (siehe Operand DATA-ATTRIBUTES). Die Dateieigenschaften der im Kommando ADD-FILE-LINK angegebenen Referenzdatei wurden in den TFT-Eintrag übernommen. Bei der Verarbeitung über den Kettungsnamen OUTPUT2 werden diese Eigenschaften in den Dateisteuerblock übernommen.