Inhalt
Index
Support Über uns
Home

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:

 
StatusBedeutung
10110Datei Ende
10111Datei Anfang (READ BACKWARD)
11131Gruppenwechsel bei Duplicate Key
23012Datei nicht eröffnet
23103Schlüssel nicht definiert
23108Schlüssel existiert bereits
23111Schlüssel nicht vorhanden
23116Kein Speicherplatz mehr frei
30107Record gesperrt
91191FD-Beschreibung stimmt mit IS-Datei nicht
95xxxFehler bei Eröffnen von IS-Dateien
96xxxFehlerstatus bei sequentiellen Dateien
96047Dateiende bei sequentiellen Dateien


Siehe auch READLOCK

Zurück zu Acc-Cobol Perform Statement    Hoch zu Procedure Divison in COBOL    Weiter zu READLOCK
Entwickler Portal Impressum AGB Kontakt


© 1980-2017 Acc Computertechnik GmbH All rights reserved.