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-, OPEN-, READ-, REWRITE- 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-
/Ausgabe
Zustand

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.

05

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

07

  1. Erfolgreiche OPEN-Anweisung mit NO REWIND-Klausel auf eine Datei auf UNIT-RECORD-Datenträger

  2. Erfolgreiche CLOSE-Anweisung mit NO REWIND-, REEL/UNIT- oder FOR REMOVAL-Klausel auf eine Datei auf UNIT-RECORD-Datenträger


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.


Erfolglose Ausführung: Permanenter Fehler

30
  1. Es ist keine weitere Information bezüglich der Ein-/Ausgabe-Operation verfügbar (der erweiterte Ein-/Ausgabezustand liefert weitere Informationen).

  2. Bei zeilensequenzieller Verarbeitung: erfolgloser Zugriff auf PLAM-Element

34

Es wurde versucht, außerhalb der vom System festgelegten Bereichsgrenzen einer sequenziellen Datei zu schreiben.

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 I-O auf eine Banddatei

  3. 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. Bei Eingabedateien traten Satzlängenfehler auf (Katalogüberprüfung, falls RECFORM=F).

  3. Die Satzlänge ist größer als die BLKSIZE im Katalog bei Eingabedateien

  4. Für eine Eingabedatei stimmt der Katalogeintrag eines der Operanden FCBTYPE, RECFORM oder RECSIZE (falls RECFORM=F) nicht mit den entsprechenden expliziten oder impliziten Programmangaben bzw. mit denentsprechenden Angaben im ADD-FILE-LINK-Kommando überein.


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 Zugriff auf eine Plattenspeicherdatei, die mit OPEN I-O eröffnet wurde: Die letzte vor Ausführung einer REWRITE-Anweisung ausgeführte Ein-/Ausgabe- Anweisung war keine erfolgreich ausgeführte READ-Anweisung.

44

Überschreiten der Bereichsgrenzen:

  1. Es wurde versucht, eine WRITE-Anweisung auszuführen. Die Länge des Datensatzes liegt jedoch nicht in dem für diese Datei zulässigen Bereich.

  2. Es wurde versucht, eine REWRITE-Anweisung auszuführen. Der zurückzuschreibende Datensatz hat jedoch nicht die gleiche Länge wie der zu ersetzende Datensatz.

46

Es wurde versucht, eine 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 READ-Anweisung war erfolglos, ohne eine Ende-Bedingung zu verursachen, oder

  2. 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 nicht im Eröffnungsmodus OUTPUT oder EXTEND befindet.

49

Es wurde versucht, eine 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; ein Systemaufruf war nicht erfolgreich; entweder OPEN-Fehler oder kein freies Gerät; die eigentliche Ursache ist aus dem DVS-Code ersichtlich (siehe „FILE STATUS-Klausel" ).

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