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(4)&pagelevel

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.

 

Tabelle 1: Dateiattribute von Textdateien bei Stromorientierter Ein-/Ausgabe

FCB-
TYPE

REC-
FORM

BLKCTRL

BLKSIZE
(STD,n)

RECSIZE
(r Byte)

Max. Anzahl
Datenbyte

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).
Bei ANSI-Funktionalität 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 vom C-Laufzeitsystem 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
Datenbyte

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

 

Tabelle 3: Dateiattribute von Binärdateien bei Satzorientierter Ein-/Ausgabe

FCB-
TYPE

REC-
FORM

BLKCTRL

BLKSIZE
(STD,n)

RECSIZE
(r Byte)

Max. Anzahl
Datenbyte

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.