READ
|
WORK
[FILE ]
work-file-number
[ONCE ]
|
||||||||
RECORD
operand1
|
|||||||||
[AND ]
[SELECT ]
|
OFFSET
n
|
operand2 | |||||||
FILLER
nX
|
|||||||||
[GIVING
LENGTH operand3]
|
|||||||||
AT [END ] [OF ] [FILE ]
|
|||||||||
statement | |||||||||
END-ENDFILE
|
|||||||||
statement | |||||||||
END-WORK
|
READ
|
WORK [FILE ]
work-file-number
[ONCE ]
|
||||||||
RECORD {operand1
[FILLER
nX ]}
|
|||||||||
[AND ]
[SELECT ]
|
OFFSET
n
|
operand2 | |||||||
FILLER
nX
|
|||||||||
[GIVING LENGTH
operand3]
|
|||||||||
AT [END ] [OF ] [FILE ]
|
statement | ||||||||
DO
statement
DOEND
|
|||||||||
statement | |||||||||
[LOOP ]
|
Dieses Dokument behandelt folgende Themen:
Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.
Verwandte Statements: CLOSE WORK FILE | DEFINE WORK FILE | WRITE WORK FILE
Gehört zur Funktionsgruppe: Verarbeitung von Arbeitsdateien/PC-Dateien
Das Statement READ WORK FILE
dient dazu, Daten von einer
physisch-sequentiellen Nicht-Adabas-Arbeitsdatei zu lesen. Die Daten werden
sequentiell von der Arbeitdatei gelesen. Wie sie gelesen werden, ist unabhängig
davon, wie Sie auf die Arbeitsdatei geschrieben wurden.
Das READ WORK FILE
-Statement führt eine
Verarbeitungsschleife aus, um alle Datensätze der Arbeitsdatei zu lesen.
Innerhalb einer READ WORK FILE
-Schleife können automatische
Gruppenwechsel-Verarbeitungen durchgeführt werden.
Auf Großrechnern kann dieses Statement nur in einem Programm verwendet werden, das unter Com-plete, CICS, CMS, TSO, TIAM oder im Batch-Betrieb ausgeführt wird. Die entsprechende JCL muss mit der Ausführungs-JCL bereitgestellt werden, wenn eine Arbeitsdatei gelesen werden soll. Näheres hierzu siehe Operations-Dokumentation.
Informationen bezüglich Arbeitsdateien finden Sie auch in der
Beschreibung des Profilparameters WORK
in der
Parameter-Referenz.
Informationen zu Unicode- und Codepage-Support siehe Work Files and Print Files on Mainframe Platforms in der Unicode and Code Page Support-Dokumentation.
Anmerkungen:
READ WORK FILE
-Statements
eine End-of-File-Bedingung auftritt, schließt Natural die Arbeitsdatei
automatisch.
READ WORK
FILE
-Verarbeitungsschleife kein I/O-Statement stehen.
Operand | Mögliche Struktur | Mögliche Formate | Referenzierung erlaubt | Dynam. Definition | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 | S | A | G | A | U | N | P | I | F | B | D | T | L | C | G | ja | ja | |||
operand2 | S | A | G | A | U | N | P | I | F | B | D | T | L | C | ja | ja | ||||
operand3 | S | I | ja | ja |
Format C ist bei Natural Connection nicht gültig.
Siehe auch Feldlängen.
Syntax-Element-Beschreibung:
Die Länge der Felder in der Operanden-Definitionstabelle wird wie folgt bestimmt:
Format | Länge |
---|---|
A, B, I, F | Die Anzahl der Bytes im Eingabedatensatz entspricht der internen Längendefinition. |
N | Die Anzahl der Bytes im Eingabedatensatz ergibt sich aus der Summe der internen Stellen vor und nach dem Komma (Dezimalpunkt). Komma und Vorzeichen belegen im Eingabedatensatz kein Byte. |
P, D, T | Die Anzahl der Bytes im Eingabedatensatz ergibt sich aus der Summe der Stellen vor und nach dem Komma (Dezimalpunkt) plus einer Stelle für das Vorzeichen, geteilt durch 2 und aufgerundet. |
L | 1 Byte wird benutzt. Bei Feldern des Formats C werden 2 Bytes benutzt. |
Felddefinition | Eingabedatensatz |
---|---|
#FIELD1 (A10) | 10 Bytes |
#FIELD2 (B15) | 15 Bytes |
#FIELD3 (N1.3) | 4 Bytes |
#FIELD4 (N0.7) | 7 Bytes |
#FIELD5 (P1.2) | 2 Bytes |
#FIELD6 (P6.0) | 4 Bytes |
Siehe auch Format und Länge von Benutzervariablen im Leitfaden zur Programmierung.
Arbeitsdateityp | Verarbeitung |
---|---|
UNFORMATTED | Das Lesen einer dynamischen Variable von einer
UNFORMATTED -Arbeitsdatei bewirkt, dass der komplette Rest der
Datei in die Variable (von der aktuellen Position) gestellt wird. Wenn die
Datei mehr als 1073741824 Bytes umfasst, dann werden zumindestens 1073741824
Bytes in die Variable gestellt.
|
FORMATTED | Das Lesen einer dynamischen Variable von einer
FORMATTED -Arbeitsdatei bewirkt, dass die Variable in ihrer gerade
definierten Länge gefüllt wird (einschließlich Länge 0). Wenn die
End-of-File-Bedingung erreicht ist, wird der Rest des aktuellen Feldes mit
Leerzeichen aufgefüllt. Die nachfolgenden Felder bleiben unverändert.
|
** Example 'RWFEX1': READ WORK FILE ************************************************************************ DEFINE DATA LOCAL 1 EMPLOY-VIEW VIEW OF EMPLOYEES 2 PERSONNEL-ID 2 NAME * 1 #RECORD 2 #PERS-ID (A8) 2 #NAME (A20) END-DEFINE * FIND EMPLOY-VIEW WITH CITY = 'STUTTGART' WRITE WORK FILE 1 PERSONNEL-ID NAME END-FIND * * ... * READ WORK FILE 1 RECORD #RECORD DISPLAY NOTITLE #PERS-ID #NAME END-WORK * END
Ausgabe des Programms RWFEX1
:
#PERS-ID #NAME -------- -------------------- 11100328 BERGHAUS 11100329 BARTHEL 11300313 AECKERLE 11300316 KANTE 11500304 KLUGE 11500308 DIETRICH 11500318 GASSNER 11500343 ROEHM 11600303 BERGER 11600320 BLAETTEL 11500336 JASPER 11100330 BUSH 11500328 EGGERT