Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Ein-/Ausgabe-Zustand

&pagelevel(5)&pagelevel

Der Ein-/Ausgabe-Zustand ist ein Wert, mit dem in einem COBOL-Programm der Zustand einer Ein-/Ausgabe-Operation abgefragt werden kann. Dazu muss die FILE STATUS-Klausel im FILE-CONTROL-Paragrafen der ENVIRONMENT DIVISION angegeben werden. Der Wert wird dann in ein zwei Zeichen langes Datenfeld übertragen, und zwar

  • während der Ausführung einer CLOSE-, DELETE-, OPEN-, READ-, REWRITE-, START- oder WRITE-Anweisung,

  • vor Ausführung einer jeden damit zusammenhängenden unbedingten Anweisung,

  • vor jeder entsprechenden USE AFTER STANDARD EXCEPTION-Prozedur.

Nachfolgend sind die Werte des Ein-/Ausgabe-Zustands und deren Bedeutung aufgeführt:

Ein-
/Ausgabez-ustand

Bedeutung


Erfolgreiche Ausführung

00

Die Ein-/Ausgabe-Anweisung wurde erfolgreich ausgeführt. Es ist keine weitere Information bezüglich der Ein-/Ausgabe-Operation verfügbar.

04

Satzlängenkonflikt: Eine READ-Anweisung wurde erfolgreich ausgeführt. Die Länge des gelesenen Datensatzes liegt jedoch nicht in den Grenzen, die durch die Satzbeschreibungen der Datei festgelegt wurden.

Erfolgreicher OPEN INPUT/I-O/EXTEND auf eine Datei mit OPTIONAL-Angabe in der SELECT-Klausel, die zum Zeitpunkt der Ausführung der OPEN-Anweisung nicht vorhanden war


Erfolglose Ausführung: Endebedingung

10

Es wurde versucht, eine READ-Anweisung auszuführen. Es war jedoch kein nächster logischer Datensatz vorhanden, da das Dateiende erreicht war.

Es wurde zum ersten Mal versucht, eine READ-Anweisung für eine nicht vorhandene Datei mit OPTIONAL-Angabe auszuführen.

14

Es wurde versucht, eine READ-Anweisung auszuführen. Das durch RELATIVE KEY beschriebene Datenfeld ist aber zu klein, um die relative Satznummer aufzunehmen (sequenzielles READ).


Erfolglose Ausführung: Schlüsselfehlerbedingung

22

Doppelter Schlüssel:
Es wurde versucht, eine WRITE-Anweisung mit einem Schlüssel auszuführen, für den in der Datei bereits ein Satz vorhanden ist.

23

Datensatz nicht gefunden oder Satzschlüssel Null:
Es wurde versucht, anhand eines Schlüssels mit einer READ-, START-, DELETE- oder REWRITE-Anweisung auf einen Datensatz zuzugreifen, der in der Datei nicht vorhanden ist, oder der Zugriff erfolgte mit Satzschlüssel Null

24

Überschreiten der Bereichsgrenzen:
Es wurde versucht, eine WRITE-Anweisung außerhalb der vom System festgelegten Bereichsgrenzen einer relativen Datei auszuführen (unzureichende Sekundärzuweisung im FILE-Kommando) oder eine WRITE-Anweisung im sequenziellen Zugriffsmodus zu geben, bei der die relative Satznummer so groß ist, dass sie nicht in das mit der RELATIVE KEY-Klausel beschriebene Datenfeld passt.


Erfolglose Ausführung: Permanenter Fehler

30

Es ist keine weitere Information bezüglich der Ein-/Ausgabe-Operation verfügbar (der DVS-Code liefert weitere Informationen).

35

Es wurde versucht, eine OPEN-Anweisung mit INPUT-/I-O-/EXTEND-Angabe für eine nicht vorhandene Datei auszuführen.

37

OPEN-Anweisung auf eine Datei, die auf folgende Weise nicht eröffnet werden kann:

  1. OPEN OUTPUT/I-O/EXTEND auf eine schreibgeschützte Datei (Passwort, RETENTION-PERIOD, ACCESS=READ im Katalog)

  2. OPEN INPUT auf eine lesegeschützte Datei (Passwort)

38

Es wurde versucht, eine OPEN-Anweisung für eine Datei auszuführen, die vorher mit der LOCK-Angabe geschlossen wurde.

39

Die OPEN-Anweisung war aus einem der folgenden Gründe erfolglos:

  1. Im ADD-FILE-LINK-Kommando wurden einer oder mehrere der Operanden ACCESS-METHOD, RECORD-FORMAT bzw. RECORD-SIZE mit Werten angegeben, die von den entsprechenden expliziten oder impliziten Programmangaben abweichen.

  2. Für eine Eingabedatei stimmt der Katalogeintrag des Operanden FCBTYPE nicht mit der entsprechenden expliziten oder impliziten Programmangabe bzw. mit der entsprechenden Angabe im ADD-FILE-LINK-Kommando überein.

  3. Für eine Datei, die mit der DVS-Zugriffsmethode UPAM verarbeitet werden soll, wurde variable Satzlänge vereinbart.


Erfolglose Ausführung: Logischer Fehler

41

Es wurde versucht, eine OPEN-Anweisung für eine Datei auszuführen, die bereits eröffnet ist.

42

Es wurde versucht, eine CLOSE-Anweisung für eine Datei auszuführen, die nicht eröffnet ist.

43

Bei ACCESS MODE IS SEQUENTIAL:
Die letzte vor Ausführung einer DELETE- oder REWRITE-Anweisung ausgeführte Ein-/Ausgabe-Anweisung war keine erfolgreich ausgeführte READ-Anweisung.

44


Überschreiten der Satzlängengrenzen:
Es wurde versucht, eine WRITE- oder REWRITE-Anweisung auszuführen. Die Länge des Datensatzes liegt jedoch nicht in dem für diese Datei zulässigen Bereich.

46

Es wurde versucht, eine sequenzielle READ-Anweisung für eine Datei auszuführen, die sich im Eröffnungsmodus INPUT oder I-O befindet; ein nächster gültiger Datensatz steht aber nicht zur Verfügung. Grund:

  1. Die vorhergehende START-Anweisung war erfolglos, oder

  2. die vorhergehende READ-Anweisung war erfolglos, ohne eine Endebedingung zu verursachen, oder

  3. die vorhergehende READ-Anweisung hat eine Ende-Bedingung verursacht.

47

Es wurde versucht, eine READ-Anweisung für eine Datei auszuführen, die sich nicht im Eröffnungsmodus INPUT oder I-O befindet.

48

Es wurde versucht, eine WRITE-Anweisung für eine Datei auszuführen, die sich

  • bei sequenziellem Zugriff nicht im Eröffnungsmodus OUTPUT oder EXTEND,

  • bei wahlfreiem oder dynamischem Zugriff nicht im Eröffnungsmodus OUTPUT oder I-O befindet.

49

Es wurde versucht, eine DELETE- oder REWRITE-Anweisung für eine Datei auszuführen, die sich nicht im Modus I-O befindet.


Sonstige erfolglose Ausführungen

90

Systemfehler; es ist keine weitere Information über die Ursache vorhanden.

91

Systemfehler; OPEN-Fehler

93

Nur bei Simultanverarbeitung (siehe „Simultanverarbeitung“ im Handbuch „COBOL2000 Benutzerhandbuch“ [1]):
Die Ein-/Ausgabe-Anweisung konnte nicht erfolgreich durchgeführt werden, weil ein anderer Prozess auf dieselbe Datei zugreift und die Zugriffe nicht vereinbar sind.

94

Nur bei Simultanverarbeitung (siehe „Simultanverarbeitung“ im Handbuch „COBOL2000 Benutzerhandbuch“ [1]):
Die Aufruffolge READ - REWRITE/DELETE wurde nicht eingehalten.

95

Unverträglichkeit zwischen den Angaben im BLOCK-CONTROL-INFO- oder BUFFER-LENGTH-Operanden des ADD-FILE-LINK-Kommandos und dem Dateiformat, der Blockgröße oder dem Format des verwendeten Datenträgers

96

READ PREVIOUS wird nicht unterstützt für ein Modul, der mit COBRUN ENABLE-UFS-ACCESS=YES übersetzt wurde, oder die Datei soll mit der DVS-Zugriffsmethode UPAM bearbeitet werden.