2.4.24 READ
| | | | | |
Sequentielle Dateien
READ Filename
[NEXT]
[RECORD]
[INTO Feldname]
[ [WITH] {KEPT / NO} LOCK ]
[ [AT] END Befehlssequenz1]
[ NOT [AT] END Befehlssequenz2]
[END-READ]
| |
| | | |
Für Random- und IS-Dateien gilt
| | | | | |
Format2
READ Filename
{
[NEXT] /
[{PREVIOUS / BACKWARD}]
}
[RECORD]
[INTO Feldname]
[KEY [IS] Keyname]
[ [WITH] {KEPT / NO / IGNORE / WAIT} LOCK ]
[ {END / INVALID [KEY] } Befehlssequenz1]
[ NOT {END / INVALID [KEY] } Befehlssequenz2]
[END-READ]
| |
| | | |
Die READ - Anweisung liest aus der Datei, die durch Filename angegeben wird und vorher eröffnet sein muß (siehe OPEN) den Datensatz in den zugehörigen Record-Bereich.
Wird INTO angegeben, wird der Datensatz zusätzlich in Feldname abgestellt, etwaige zusätzliche Stellen werden mit Leerzeichen aufgefüllt.
Bei sequentiellen Dateien wird immer der nächste Datensatz ge- lesen.
Bei RANDOM - Dateien immer der Datensatz, der durch den Inhalt des ACTUAL - Key spezifiziert wird.
Bei IS-Dateien kann zusätzlich mit der KEY - Angabe auf einen neuen Schlüsselwert positioniert und gelesen werden.
Mit NEXT wird der nächste Satz im aktuellen Schlüsselbereich (letzte KEY - Angabe), mit PREVIOUS (oder BACKWARD) der vorherige Satz im aktuellen Schlüsselbereich gelesen.
Wird nach dem OPEN - Befehl sofort ein READ ohne KEY - Anweisung ausgeführt, wird austeigend nach dem Masterkey (Hauptschlüssel) gelesen.
Wird weder KEY, NEXT noch PREVIOUS angegeben, wird ein READ mit NEXT durchgeführt.
Die INVALID oder END - Anweisung werden ausgeführt, falls der Lesebefehl nicht erfolgreich war. Der entsprechende Status wird im Statusfeld der Datei (falls spezifiziert) abgestellt.
Beim Lesen mit DUPLICATE - Keys wird der Status 11131 ausgegeben, wenn sich der Inhalt des Schlüssels ändert (Gruppenwechsel) und die END - Anweisung ausgeführt!
Mit dem Zusatz WITH LOCK wird der Satz (falls verfügbar) gesperrt. Ist der Satz bereits von einem anderen Programm gesperrt, wird ein der Status 30107 abgestellt, bei WAIT wird gewartet, bis der Satz wieder verfügbar ist.
Wurde die Klausel LOCK MODE AUTOMATIC angegeben, erfolgt mit WITH NO LOCK keine Satzsperre.
Siehe auch READLOCK.
Folgende Statuswerte können auftreten:
|
Status | Bedeutung | 10110 | Datei Ende | 10111 | Datei Anfang (READ BACKWARD) | 11131 | Gruppenwechsel bei Duplicate Key | 23012 | Datei nicht eröffnet | 23103 | Schlüssel nicht definiert | 23108 | Schlüssel existiert bereits | 23111 | Schlüssel nicht vorhanden | 23116 | Kein Speicherplatz mehr frei | 30107 | Record gesperrt | 91191 | FD-Beschreibung stimmt mit IS-Datei nicht | 95xxx | Fehler bei Eröffnen von IS-Dateien | 96xxx | Fehlerstatus bei sequentiellen Dateien | 96047 | Dateiende bei sequentiellen Dateien |
|
Siehe auch READLOCK
Zurück zu Acc-Cobol Perform Statement
Hoch zu Procedure Divison in COBOL
Weiter zu READLOCK
| |