FILE SECTION 

Diese Section ist zur Dateibeschreibung gedacht. Jede Datei, die in einer SELECT-Klausel definiert wurde, muß in der FILE SECTION auf der Stufenbezeichnung FD (FILE DESCRIPTION) auftreten. Hier wird in der Datensatzbeschreibung der Aufbau eines Datensatzes der entsprechenden Datei beschrieben. Natürlich wird hierfür der Interne Name der Datei benutzt.

Beispiel:
FILE SECTION.
FD Datintern.
01 Datsatz.
   05 Name PIC X(40).
      10 Vorname PIC X(20).
      10 Nachname PIC X(20).


Die Definition des Datensatzes beginnt auf der Stufennummer 01.

Soll eine Druckdatei definiert werden, so bietet Cobol hierfür eine Aufbauhilfe für Druckseiten. Mit dieser Aufbauhilfe kann der Seitenrumpf (...das wo der eigentliche Text zu stehen kommt) sowie Kopf- und Fußzone definiert werden. Diese Definition wird mit folgenden Klauseln umgesetzt:

LINAGE-Klausel
Hinter dieser Klausel wird die Anzahl der Zeilen, die der Seitenrumpf umfassen soll, angegeben.
Um zur Laufzeit zu prüfen, wie weit er denn jetzt so ist, erzeugt der Compiler bei allen Definitionen, bei denen LINAGE verwendet wurde automatisch ein LINAGE-COUNTER-Feld. Wird LINAGE mehrfach in der FILE SECTION verwandt, so handelt es sich dann um 'LINAGE-COUNTER OF Ausdruck' oder 'LINAGE-COUNTER OF Liste' oder allgemein: 'LINAGE-COUNTER OF Dateiname'.

FOOTING-Klausel
Hier wird die Zeile angegeben, ab der innerhalb des Seitenrumpfes der Fußbereich der Seite beginnt. Wird diese Grenze überschritten, so ist die Seite beendet.

TOP-Klausel
Wird diese Klausel weggelassen, so werden 0 Zeilen für den Kopfbereich angenommen. Sonst gilt der, hinter TOP angegebene Wert für die Anzahl an Zeilen im Kopfbereich der Seite.

BOTTOM-Klausel
Wer hätte es geahnt - hier wird die Anzahl der Zeilen im Fußbereich festgelegt. Auch hier wird wieder 0 angenommen, sollte die Klausel weggelassen werden.

Beispiel:
Normalerweise umfasst eine DIN-A 4 Seite 72 Zeilen. Nehmen wir an, daß ein mehrseitiger Serienbrief vom Programm gedruckt werden soll. Natürlich wird der Brief auf Firmenbriefpapier gedruckt.
Das Papier soll erst ab Zeile 13 beschrieben werden, da sonst der bereits auf das Briefpapier gedruckte Firmenkopf überschrieben würde. Außerdem sind die letzten sieben der 72 Zeilen tabu, da hier Angaben wie Kontoverbindung u.ä. auf dem Papier stehen. Somit wären im Seitenrumpf 53 (72-(12+7)) bedruckbare Zeilen vorhanden. Mit Hilfe der LINAGE-Klausel sähe das 'Layout' in der FD dann folgendermaßen aus:

FD Brief.
   LINAGE IS 53 LINES.
   WITH FOOTING AT 53.
   LINES AT TOP 12.
   LINES AT BOTTOM 7.


Natürlich kann man anstelle von Werten (hier 53, 12 und 7) auch Variablen angegeben. Das Ganze macht natürlich nur Sinn, wenn es in der WRITE-Anweisung berücksichtigt wird.

...