Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Standardwerte und zulässige Modifikationen der Dateiattribute

&pagelevel(5)&pagelevel

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-
FORM

BLKCTRL

BLKSIZE
(STD, n )

RECSIZE ( r byte)

Max. Anzahl
Datenbytes

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. SOURCE-PROPERTIES-Option in den Handbüchern „C-Compiler“ [3] und „C/C++-Compiler“ [4]) standardmäßig erstellt. Im ANSI-Modus werden standardmäßig ISAM-Dateien erstellt.

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-
TYPE

REC-
FORM

BLKCTRL

BLKSIZE
(STD, n )

RECSIZE
( r byte)

Max. Anzahl
Datenbytes

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-
TYPE

REC-
FORM

BLKCTRL

BLKSIZE
(STD, n )

RECSIZE
( r byte)

Max. Anzahl
Datenbytes

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 (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 geschrieben bzw. beim Lesen an das C-Programm geliefert werden.