Mit den Ein-/Ausgabe-Funktionen der C-Laufzeitbibiliothek können Plattendateien mit den in den folgenden Tabellen aufgeführten Dateiattributen verarbeitet werden. Die Standardattribute, die das Laufzeitsystem einsetzt, wenn der Benutzer keine Angaben im ADD-FILE-LINK
-Kommando bzw. bei den Öffnungsfunktionen macht, sind jeweils unterstrichen.
Erläuterungen zu den folgenden Tabellen
Die maximale Anzahl Datenbytes in den Tabellen gibt die Anzahl der Zeichen an, die vom C-Programm in einen Satz bzw. Block abgelegt werden (feste Satzlänge) oder maximal abgelegt werden können (variable Satzlänge).
Die Größe des logischen Blocks (BLKSIZE) ist abhängig von Art und Format des Datenträgers:
K- und NK2-Platten: Standardblock (2048 Bytes) oder ein ganzzahliges Vielfaches eines Standardblocks (maximal 16 Standardblöcke).
NK4-Platten: Mindestens zwei Standardblöcke (4096 Bytes) oder ein ganzzahliges Vielfaches davon (2, 4, 6, 8 Standardblöcke).Zum Blockformat (BLKCTRL) und zur maximalen Anzahl Datenbytes beachten Sie auch Abschnitt "K- und NK-Blockformat“. Insbesondere finden Sie dort Hinweise, wie bei NK-ISAM-Dateien Überlaufblöcke vermieden werden können, die dann entstehen, wenn beim Schreiben der Sätze die volle Länge einer Übertragungseinheit (RECSIZE=BLKSIZE) ausgenutzt wird.
Bei Dateien mit variabler Satzlänge (RECFORM=V) zählt in C generell das 4 Byte lange Satzlängenfeld nicht zu den Satzdaten. Die maximale Anzahl Datenbytes reduziert sich deshalb um 4 Bytes.
Bei Dateien mit RECFORM=U legt RECSIZE (RECORD-SIZE-Parameter im
ADD-FILE-LINK
-Kommando) das Register fest, in dem die Länge eines Satzes übergeben wird. Dieses Register ist fest vorgegeben (R4) und darf nicht geändert werden.
Tabelle 1: Dateiattribute von Textdateien bei Stromorientierter Ein-/Ausgabe
FCB-TYPE | REC- | BLKCTRL | BLKSIZE | RECSIZE ( r byte) | Max. Anzahl |
SAM 1) | V | PAMKEY | 1 <= n <= 16 | 4 <= r <= n *2048-4 | RECSIZE - 4 |
DATA(2K) | 1 <= n <= 16 | 4 <= r <= n *2048-16 | RECSIZE - 4 | ||
DATA(4K) | 2 <= n <= 16 | ||||
U | PAMKEY | 1 <= n <= 16 | BLKSIZE | ||
DATA(2K) | 1 <= n <= 16 | BLKSIZE - 16 | |||
DATA(4K) | 2 <= n <= 16 | ||||
ISAM2) | V | PAMKEY | 1 <= n <= 16 | 12 <= r <= n *2048 | RECSIZE - 12 |
DATA(2K) | 1 <= n <= 16 | 12 <= r <= n *2048 | RECSIZE - 12 | ||
DATA(4K) | 2 <= n <= 16 |
1) | SAM-Dateien werden nur im KR-Modus (vgl. |
2) | Der Standardwert für die Schlüsselposition ist 5, für die Schlüssellänge 8. Diese Werte können nicht modifiziert werden. Auf die Schlüssel kann der Benutzer nicht zugreifen; sie werden von der C-Laufzeitbibiliothek erzeugt und verwaltet: Beim Neuerstellen einer ISAM-Datei erhält der erste Satz den Schlüssel "00010000", bei jedem weiteren Satz wird der Schlüssel um die Schrittweite 100 erhöht. |
Tabelle 2: Dateiattribute von Binärdateien bei Stromorientierter Ein-/Ausgabe
FCB- | REC- | BLKCTRL | BLKSIZE | RECSIZE | Max. Anzahl |
SAM | F | PAMKEY | 1 <= n <= 16 | 1 <= r <= n *2048-4 | RECSIZE |
DATA(2K) | 1 <= n <= 16 | 1 <= r <= n *2048-16 | RECSIZE | ||
DATA(4K) | 2 <= n <= 16 | ||||
V | PAMKEY | 1 <= n <= 16 | 4 <= r <= n *2048-4 | RECSIZE - 4 | |
DATA(2K) | 1 <= n <= 16 | 4 <= r <= n *2048-16 | RECSIZE - 4 | ||
DATA(4K) | 2 <= n <= 16 | ||||
U | PAMKEY | 1 <= n <= 16 | BLKSIZE | ||
DATA(2K) | 1 <= n <= 16 | BLKSIZE - 16 | |||
DATA(4K) | 2 <= n <= 16 | ||||
PAM | PAMKEY | 1 <= n <= 16 | BLKSIZE | ||
DATA(2K) | 1 <= n <= 16 | BLKSIZE - 12 | |||
DATA(4K) | 2 <= n <= 16 | ||||
NO(2K) | 1 <= n <= 16 | BLKSIZE | |||
NO(4K) | 2 <= n <= 16 |
Tabelle 3: Dateiattribute von Binärdateien bei Satzorientierter Ein-/Ausgabe
FCB- | REC- | BLKCTRL | BLKSIZE | RECSIZE | Max. Anzahl |
SAM | V | PAMKEY | 1 <= n <= 16 | 4 <= r <= n *2048-4 | RECSIZE - 4 |
DATA(2K) | 1 <= n <= 16 | 4 <= r <= n *2048-16 | RECSIZE - 4 | ||
DATA(4K) | 2 <= n <= 16 | ||||
F | PAMKEY | 1 <= n <= 16 | 1 <= r <= n *2048-4 | RECSIZE | |
DATA(2K) | 1 <= n <= 16 | 1 <= r <= n *2048-16 | RECSIZE | ||
DATA(4K) | 2 <= n <= 16 | ||||
U | PAMKEY | 1 <= n <= 16 | BLKSIZE | ||
DATA(2K) | 1 <= n <= 16 | BLKSIZE - 16 | |||
DATA(4K) | 2 <= n <= 16 | ||||
PAM | PAMKEY | 1 <= n <= 16 | BLKSIZE | ||
DATA(2K) | 1 <= n <= 16 | BLKSIZE - 12 | |||
DATA(4K) | 2 <= n <= 16 | ||||
NO(2K) | 1 <= n <= 16 | BLKSIZE | |||
NO(4K) | 2 <= n <= 16 | ||||
ISAM1) | V | PAMKEY | 1 <= n <= 16 | 5 <= r <= n *2048 | RECSIZE - 4 |
DATA(2K) | 1 <= n <= 16 | 5 <= r <= n *2048 | RECSIZE - 4 | ||
DATA(4K) | 2 <= n <= 16 | ||||
F | PAMKEY | 1 <= n <= 16 | 1 <= r <= n *2048-4 | RECSIZE | |
DATA(2K) | 1 <= n <= 16 | 1 <= r <= n *2048-4 | RECSIZE | ||
DATA(4K) | 2 <= n <= 16 |
1) | Die Standardattribute für Schlüsselposition (bei Satzformat V = 5, bei F = 1) und Schlüssellänge (8) können modifiziert werden, und zwar die Schlüsselposition bis auf maximal 32767 und die Schlüssellänge bis auf maximal 255. Außerdem können Mehrfachschlüssel vereinbart werden ( Im Gegensatz zur stromorientierten Ein-/Ausgabe gehören die ISAM-Schlüssel zu den Satzdaten, die vom C-Programm geschrieben bzw. beim Lesen an das C-Programm geliefert werden. |