Mit den Ein-/Ausgabe-Funktionen des C-Laufzeitsystems können Plattendateien mit den in den folgenden Tabellen 1 bis 3 aufgeführten Dateiattributen verarbeitet werden. Die Standardattribute, die das Laufzeitsystem einsetzt, wenn der Benutzer keine Angaben im ADD-FILE-LINK-Kommando bzw. bei den Eröffnungsfunktionen macht, sind jeweils unterstrichen.
Erläuterungen zu den Tabellen 1 bis 3
Die maximale Anzahl Datenbyte in den Tabellen gibt die Anzahl der Zeichen an, die vom C-Programm aus 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 (siehe auch "K- und NK-Blockformat").
K- und NK2-Platten: Standardblock (2048 Bytes) oder ein ganzzahliges Vielfaches eines Standardblocks (maximal 16 Standarblö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 Datenbyte beachten Sie bitte auch den 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 Datenbyte 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.
FCB- | REC- | BLKCTRL | BLKSIZE | RECSIZE | Max. Anzahl |
SAM1) | 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) | Bei KR-Funktionalität werden standardmäßig SAM-Dateien erstellt (KR-Funktionalität ist nur in C/C++ Versionen kleiner V3.0 vorhanden). |
2) | Der Standardwert für die Schlüsselposition ist 5, für die Schlüssellänge 8. Diese Werte können nicht modifiziert werden. |
FCB- | REC- | BLKCTRL | BLKSIZE | RECSIZE | Max. Anzahl |
SAM | F | PAMKEY | 1<= n <=16 | 1<= r <=n*2048 | 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 |
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 | 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 (DUP-KEY=Y). Standardmäßig gilt DUP-KEY=N. Im Gegensatz zur stromorientierten Ein-/Ausgabe, gehören die ISAM-Schlüssel zu den Satzdaten, die vom C-Programm aus geschrieben bzw. beim Lesen an das C-Programm geliefert werden. |