Sowohl der formatgebundene, als auch der formatfreie Datensatz enthalten - sofern sie nicht leer sind - Daten; Sie unterscheiden sich nur darin, in welcher Form die Daten abgelegt sind, wobei eine Datei immer nur entweder formatgebundene oder formatfreie Daten enthalten kann.
8.1.3.1 Formatgebundene Dateien
Formatgebundene Dateien enthalten Datensätze in Form von Zeichen aus dem
Zeichenvorrat des Systems (Fortran Zeichensatz und einige andere mehr).
Eine solche Datei ist i.a. auf Betriebssystemebene am Bildschirm darstellbar
und kann auch mit einem Editor bearbeitet werden.
Die Länge eines formatgebundenen Datensatzes entspricht der Anzahl seiner
Zeichen (auch Leerzeichen!), er wird i.a. von einem Steuerzeichen (zum
Zeilenumbruch) abgeschlossen.
8.1.3.2
Formatfreie Datensätze haben die Form von systemabhängigen Werten.
Solche Dateien können somit i.a. zwischen unterschiedlichen Systemen nicht
ausgetauscht werden.
Sie können auch nicht (sinnvoll) am Bildschirm angezeigt bzw. mit Editoren
bearbeitet werden.
Da derartige Dateien mit Datensätzen im internen Datenformat arbeiten, ist
ihre Verwendung schneller und genauer:
Die Länge eines formatfreien Datensatzes wird nicht in Zeichen sondern in Bytes angegeben: enthält ein Datensatz z.B. INTEGER-Zahlen der Länge 4 Byte, so werden pro Zahl genau 4 Byte gebraucht, auch wenn es sich z.B. nur um eine einstellige Zahl handelt, andererseits benötigt aber auch eine 10-stellige Zahl dann nur diese 4 Byte - je nach Wertebereich der verwendeten Zahlen kann die Verwendung des einen oder des anderen Datensatzes vorteilhaften Einfluß auf die Dateigröße haben.
8.1.3.3
Dateiendesätze bezeichnen - wie der Name schon sagt - das Ende einer Datei,
damit ist auch klar, daß es nur einen Dateiendesatz pro Datei geben kann.
Stößt eine READ-Anweisung auf einen Dateiendesatz, so wird die
Datei-Ende-Bedingung (EOF: end-of-file) als erfüllt betrachtet; das Programm
wird unterbrochen und u.U. an einer anderen Stelle (definiert mit dem
END-Parameter in der READ-Anweisung) fortgesetzt. Auf diese
EOF-Bedingung kann auch mit dem IOSTAT-Parameter Bezug genommen werden:
Die Variable, die IOSTAT zugewiesen wird, enthält den Wert -1
wenn ein Dateiendesatz eingelesen wird.