WRITE
WORK [FILE ] work-file-number
[VARIABLE ]
operand1
|
Dieses Dokument behandelt folgende Themen:
Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.
Verwandte Statements: DEFINE WORK
FILE
| READ WORK
FILE
| CLOSE WORK
FILE
| DOWNLOAD PC FILE
Gehört zur Funktionsgruppe: Verarbeitung von Arbeitsdateien/PC-Dateien
Das Statement WRITE WORK FILE
dient dazu, Datensätze
auf eine physisch-sequentielle Arbeitsdatei (Work File) zu schreiben.
Auf Großrechnern kann dieses Statement nur im Batch-Betrieb
oder unter Com-plete und TSO verwendet werden. Entsprechend JCL- oder
Systemkommandos müssen ausgeführt werden, um die Arbeitsdatei zuzuweisen.
Weitere Informationen siehe Operations-Dokumentation.
Siehe auch Profilparameter WORK
in der
Parameter-Referenz.
Es ist möglich, in einem Programm oder einer Verarbeitungsschleife
eine Arbeitsdatei zu erstellen und diese dann in einem anderen Programm oder
einer anderen eigenständigen Verarbeitungsschleife mit einem
READ WORK FILE
-Statement
zu lesen.
Informationen zur Unicode- und Codepage-Unterstützung siehe Arbeitsdateien und Druckdateien in der Unicode- und Codepage-Unterstützung-Dokumentation.
Operanden-Definitionstabelle:
Operand | Mögliche Struktur | Mögliche Formate | Referenzierung erlaubt | Dynam. Definition | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 | C | S | A | G | N | A | U | N | P | I | F | B | D | T | L | C | G | ja | nein |
Anmerkung:
Bei Natural Connection gilt weder Format C noch Format
G.
Syntax-Element-Beschreibung:
Syntax-Element | Beschreibung |
---|---|
work-file-number
|
Arbeitsdateinummer:
Gibt die für Natural definierte Nummer der Arbeitsdatei an, die gelesen werden soll. Die Nummer der Arbeitsdatei ist entweder
|
VARIABLE
|
Variablen-Eintrag:
Es ist möglich, mittels verschiedener Wenn die Operanden-Liste eine dynamische Variable enthält
(die je nach Ausführungsart des Variabler
Indexbereich:
Wenn Sie ein Array auf eine Arbeitsdatei schreiben, können Sie für das Array einen variablen Indexbereich angeben. Zum Beispiel: WRITE WORK FILE work-file-number VARIABLE #ARRAY (I:J) |
operand1
|
In die Arbeitsdatei zu schreibende
Felder:
Als operand1 geben Sie die
Felder an, die in die Arbeitsdatei geschrieben werden sollen. Dies können
entweder Datenbankfelder, Benutzervariablen, Systemvariablen und/oder Felder
sein, die mit einem Aus einer Redefinition resultierende Felder werden nicht in die Arbeitsdatei geschrieben. Ein Array kann vollständig oder teilweise referenziert werden, um die Ausprägungen auszuwählen, die in die Arbeitsdatei geschrieben werden sollen. In die Arbeitsdatei zu schreibende
Gruppenoperanden:
Eine Gruppe von Feldern kann unter Angabe des Gruppennamens referenziert werden. Alle zu der referenzierten Gruppe gehörenden Felder werden in die Arbeitsdatei geschrieben; die Reihenfolge, in der dies geschieht, wird durch die Reihenfolge der Felder in der Gruppe bestimmt. Aus einer Redefinition der referenzierten Gruppe resultierende Felder werden nicht in die Arbeitsdatei geschrieben. Falls die referenzierte Gruppe als Array definiert ist, werden die einzelnen Felder der Gruppe als Arrays in der Reihenfolge der Definition in die Arbeitsdatei geschrieben. Für die Gruppendefinition 1 GROUP1 (1:3) 2 FIELD1 (A2) 2 FIELD2 (A3) 1 REDEFINE GROUP1 2 FIELD3 (A15) ist das Statement WRITE WORK FILE 1 GROUP1(*) gleichbedeutend mit WRITE WORK FILE 1 GROUP1.FIELD1(*) GROUP1.FIELD2(*) Das Statement WRITE WORK FILE 1 GROUP1.FIELD3 ist gleichbedeutend mit WRITE WORK FILE 1 GROUP1.FIELD1(1) GROUP1.FIELD2(1) GROUP1.FIELD1(2) GROUP1.FIELD2(2) GROUP1.FIELD1(3) GROUP1.FIELD2(3) |
Mit einem WRITE WORK FILE
-Statement auf eine
Arbeitsdatei geschriebene Felder werden auf der externen Datei entsprechend
ihrer internen Definition dargestellt. Die Feldwerte werden nicht
verändert.
Bei Feldern der Formate A oder B entspricht die Anzahl der Bytes auf der externen Datei der programminternen Längendefinition. Die Feldwerte werden nicht verändert; ein Komma (Dezimalpunkt) wird nicht wiedergegeben.
Bei Feldern des Formats N ergibt sich die Anzahl der Bytes auf der externen Datei aus der Summe der Stellen vor und nach dem Komma. Das Komma (Dezimalpunkt) wird auf der externen Datei nicht wiedergegeben.
Bei Feldern des Formats P ergibt sich die Anzahl der Bytes auf der externen Datei aus der Summe der Stellen vor und nach dem Komma plus einer Stelle für das Vorzeichen, geteilt durch 2, wobei auf ganze Bytes aufgerundet wird.
Anmerkung:
Beim Schreiben von Feldern auf eine Arbeitsdatei erfolgt keine
Umsetzung von Feldformaten.
Beispiele für Felddarstellung:
Felddefinition | Ausgabelänge |
---|---|
#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 |
Anmerkung:
Wenn die Systemfunktionen
AVER
,
NAVER
,
SUM
oder
TOTAL
für
numerische Felder (Format N oder P) auf eine Arbeitsdatei geschrieben werden,
vergrößert sich intern die Länge dieser Felder um eine Stelle (z.B.:
SUM
eines Feldes vom Format P3 wird auf P4 verlängert). Dies ist
beim Lesen der Arbeitsdatei zu berücksichtigen.
Arbeitsdateityp | Verarbeitung |
---|---|
UNFORMATTED
|
Auf Großrechnern kann der Arbeitsdateityp
UNFORMATTED zum Schreiben von Variablen benutzt werden, deren
Länge die maximale Datensatzlänge überschreitet. Siehe auch den Abschnitt
Zugriff auf
Arbeitsdateien mit großen und dynamischen
Variablen.
|
FORMATTED
|
Eine dynamische Variable wird in ihrer aktuell definierten Länge (einschließlich Länge 0) geschrieben. |
** Example 'WWFEX1': WRITE WORK FILE ************************************************************************ DEFINE DATA LOCAL 1 EMPLOY-VIEW VIEW OF EMPLOYEES 2 PERSONNEL-ID 2 NAME END-DEFINE * FIND EMPLOY-VIEW WITH CITY = 'LONDON' WRITE WORK FILE 1 PERSONNEL-ID NAME END-FIND * END