4.8 WRITE
| | | | | |
Format 1
WRITE Recordname [FROM Datenfeld]
[INVALID [KEY] Befehlssequenz1]
[NOT INVALID [KEY] Befehlssequenz2]
[END-WRITE]
| |
| | | |
Der WRITE -Befehl schreibt einen neuen Datensatz in die zugehörigen Datei.
Wird die FROM -Klausel angegeben, wird vor dem WRITE ein interner MOVE von Datenfeld nach Recordname ausgeührt.
Bei sequentiellen Dateien wird der Datensatz an der aktuellen Position angefügt. Die Position wird um die Datensatzlänge erhöht.
Bei Random-Dateien wird der Datensatz an der durch den ACTUAL -Key spezifizierten Position geschrieben.
Bei IS-Dateien wird der Datensatz mit dem angegebenen Haupt- schlüssel, der noch nicht existieren darf, geschrieben (sonst REWRITE verwenden!).
Tritt beim WRITE ein Fehler auf, führt das Programm die Befehlssequenz1 aus und der Fehlercode wird im zugehörigen Statusfeld (falls spezifiziert) abgestellt.
Folgende Fehlercodes können bei IS-Dateien auftreten:
22012 Datei nicht eröffnet 22103 Schlüssel nicht definiert 22108 Eindeutiger Schlüssel existiert bereits 30107 Record gesperrt
| | | | | |
Format 2: Lineprinter
WRITE Recordname [FROM Datenfeld1]
{
AT {Datenfeld3 / TOP-OF-PAGE}
/
{ AFTER / BEFORE }
{
Datenfeld4 {LINE / LINES} / PAGE / TOP-OF-PAGE
}
}
}
[AT END-OF-PAGE Befehlssequenz1]
[NOT [AT] END-OF-PAGE Befehlssequenz2]
[END-WRITE]
| |
| | | |
Dieses Format dient zur Ausgabe in Druckdateien bzw. Lineprintern. Das Druckblatt ist hierbei entsprechend der FD -Anweisung aufgeteilt.
Ist Datenfeld1 angegeben, wird vor dem WRITE ein internerMOVE Datenfeld1 nach big !Recordname durchgeführt.
Wurde die AFTER -Klausel angegeben, wird vor dem WRITE eine entsprechende Positionierung durchgeführt.
Diese Positionierung kann relativ zur aktuellen Druckposition mit AFTER oder BEFORE , oder aber absolut mit AT durchgeführt werden.
Bei der AT -Angabe muß Datenfeld3 kleiner der Anzahl Zeilen des druckbaren Bereiches (LINES-PER-PAGE sein).
Bei relativen Angaben werden entsprechend viele Leerzeilen unter Berücksichtigung der Blatteinteilung LINES-AT-BOTTOM , LINES-AT-TOP eingefügt.
Nach jedem WRITE wird der LINAGE COUNTER aktualisiert.
Zurück zu Acc-Cobol Rewrite Statement
Hoch zu Datei Ein- und Ausgabe
Weiter zu WRITEFILE: Feld in eine Datei schreiben
| |