DEFINE WORK FILE
work-file-number
|
|
|
[ATTRIBUTES
{operand3}...]
|
Anmerkung
Die in eckigen Klammern [...] gezeigten Elemente sind optional, aber mindestens eines
muss bei diesem Statement angegeben werden.
Dieser Abschnitt behandelt folgende Themen:
Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.
Verwandte Statements: CLOSE WORK FILE
| READ WORK FILE | WRITE WORK FILE
Gehört zur Funktionsgruppe: Verarbeitung von Arbeitsdateien/PC-Dateien
Das Statement DEFINE WORK FILE dient dazu, innerhalb einer Natural-Anwendung
einer Natural-Arbeitsdateinummer einen Dateinamen zuzuweisen.
Damit können Sie Arbeitsdatei-Zuweisungen innerhalb Ihrer Natural-Session dynamisch vornehmen bzw. ändern, sowie auf anderer Ebene gemachte Arbeitsdatei-Zuweisungen überschreiben.
Ist bei der Ausführung dieses Statements die angegebene Arbeitsdatei bereits offen, bewirkt dieses Statement implizit, dass die Arbeitsdatei geschlossen wird.
Alle während einer Session zu benutzenden Arbeitsdateien müssen mittels des Subparameters
AM des
Profilparameters WORK
oder automatisch durch Definition in der JCL im Voraus einer Zugriffsmethode zugewiesen
werden.
Anmerkung
Bezüglich Unicode- und Codepage-Support 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 | U | yes | no | |||||||||||||
| operand2 | C | S | A | U | yes | no | |||||||||||||
| operand3 | C | S | A | U | yes | no | |||||||||||||
Syntax-Element-Beschreibung:
| Syntax-Element | Beschreibung | |
|---|---|---|
work-file-number
|
Nummer der Arbeitsdatei:
Gibt die Nummer der Arbeitsdatei an. Die Nummer der Arbeitsdatei ist entweder
READ WORK FILE-, WRITE WORK FILE- oder CLOSE WORK FILE-Statement verwendet wird.
|
|
operand1
|
Name der Arbeitsdatei:
operand1 ist der Name der Arbeitsdatei. Als operand1 geben Sie den Namen des der
Arbeitsdateinummer zuzuweisenden Datasets an.
operand1 kann 1 bis 253 Stellen lang sein. Sie
können entweder einen logischen oder einen physischen Dateinamen angeben. Das
mögliche Format ist abhängig von der Betriebssystemumgebung und der vom
Subparameter Wenn Sie operand1 weglassen, wird der Wert von
operand1 bestimmt, indem für diese
Arbeitsdateinummer der aktuelle Name genommen wird, der bei dem zuvor
ausgeführten Anmerkung Informationen zu Betriebssystem- oder TP-Monitor-abhängigen Arbeitsdateinamen finden Sie in den folgenden Abschnitten: |
|
TYPE
operand2
|
TYPE-Klausel:
operand2 gibt den Arbeitsdateityp an. Beim Wert von operand2 wird nicht nach Groß- und
Kleinbuchstaben unterschieden. Der Wert muss in Anführungszeichen
( |
|
| UNFORMATTED |
Eine vollkommen unformatierte Datei. Es werden keine Formatier-Informationen geschrieben (weder für Felder noch für Sätze).
Format: |
|
| FORMATTED |
|
|
[ATTRIBUTES
{operand3}...]
|
ATTRIBUTES-Klausel:
Diese Klausel ist nur bei Natural for Windows oder Linux sinnvoll; bei Natural for z/OS wird sie ignoriert. |
|
Beispiele:
DEFINE WORK FILE 17 #FILE TYPE 'UNFORMATTED' #TYPE := 'FORMATTED' DEFINE WORK FILE 18 #FILE TYPE #TYPE
Folgende Themen werden behandelt:
Unter z/OS kann für eine Arbeitsdateinummer, die mit Zugriffsmethode AM=STD definiert
ist, operand1 folgendes sein:
ein logischer Dataset-Name (DD-Name, 1 bis 8 Stellen);
ein physischer Dataset-Name eines katalogisierten Datasets (1 bis 44 Stellen) oder ein physischer Dataset-Member-Name;
ein Pfad- und Member-Name einer HFS-Datei (1 bis 253 Stellen) in einer MVS-UNIX-Services-Umgebung;
eine JES-Spoolfile-Klasse;
NULLFILE.
| Logische Dataset-Namen |
Beispiel: DEFINE WORK FILE 21 'SYSOUT1' Das angegebene Dataset Die Zuweisung kann über JCL, CLIST (TCO) oder dynamische Zuweisung (SVC 99)
erfolgen. Für dynamische Zuweisung können Sie die Programmierschnittstelle
(API) Der im Optional kann dem Dataset-Namen DEFINE WORK FILE 22 'DDN=MYWORK' |
| Physische Dataset-Namen |
Beispiel: DEFINE WORK FILE 23 'TEST.WORK.FILE' Das angegebene Dataset muss in katalogisierter Form vorhanden sein. Wenn das
Wenn der Dataset-Name 8 Stellen oder kürzer ist und keinen Punkt (.) enthält,
könnte er fälschlich als DD-Name interpretiert werden. Um dies zu vermeiden,
stellen Sie ihm DEFINE WORK FILE 22 'DSN=WORKXYZ' Falls das Dataset ein PDS-Member ist, geben Sie den PDS-Member-Namen (1 bis 8 Stellen) in Klammern hinter dem Dataset-Namen (1 bis 44 Stellen) an. Zum Beispiel: DEFINE WORK FILE 4 'TEST.WORK.PDS(TEST1)' Falls das angegebene Member nicht existiert, wird ein neues Member unter diesem Namen angelegt. |
| HFS-Dateien |
Beispiel: DEFINE WORK FILE 14 '/u/nat/rec/test.txt' Der angegebene Pfadname muss existieren. Wenn das Bei der dynamischen Zuweisung des Datasets werden folgende z/OS-Pfadoptionen verwendet: PATHOPTS=(OCREAT,OTRUNC,ORDWR) PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP) FILEDATA=TEXT Wird eine HFS-Datei geschlossen, wird sie automatisch von z/OS freigegeben
(unabhängig vom Wert des Subparameters Um eine HFS-Datei zu lesen, müssen Sie statt des |
| JES-Spoolfile-Klasse |
Um ein JES-Spool-Dataset zu erzeugen, geben Sie
Beispiele: DEFINE WORK FILE 10 'SYSOUT=A' DEFINE WORK FILE 12 'SYSOUT=*' Um zusätzliche Parameter für die dynamische Zuweisung anzugeben, verwenden
Sie statt des |
| NULLFILE | Um ein Dummy-Dataset zuzuweisen. |
Wenn das DEFINE WORK FILE-Statement ausgeführt wird und ein physischer
Dataset-Name, eine HFS-Datei, eine Spoolfile-Klasse oder ein Dummy-Dataset angegeben
wurde, wird das entsprechende Dataset automatisch zugewiesen. Wenn die logische Datei
bereits geöffnet ist, wird sie automatisch geschlossen, außer wenn der Subparameter
CLOSE=FIN des
Profilparameters WORK angegeben wurde, wobei dann eine Fehlermeldung
ausgegeben wird. Außerdem wird ein bestehendes Dataset mit dem gleichen aktuellen
DD-Namen automatisch freigegeben, bevor das neue Dataset zugewiesen wird. Um Fehler
durch verfrühtes Öffnen von beim Programmstart noch nicht zugewiesenen Arbeitsdateien zu
vermeiden, sollten Arbeitsdateien mit dem Subparameter OPEN=ACC (Öffnen bei erstem
Zugriff) im Profilparameter WORK definiert werden.
Im Falle einer HFS-Datei oder einer im Profilparameter WORK mit Subparameter
FREE=ON
definierten Arbeitsdatei wird die Arbeitsdatei automatisch freigegeben, sobald sie
geschlossen worden ist. Als Alternative steht Ihnen für die dynamische Zuweisung und
Freigabe von Datasets die Programmierschnittstelle (API) USR2021N in
Library SYSEXT zur Verfügung. Dieses API ermöglicht auch die Angabe
zusätzlicher Parameter für die dynamische Zuweisung.
In Server-Umgebungen kann es zu Fehlern kommen, wenn mehrere Natural-Sessions
versuchen, ein Dataset mit dem gleichen DD-Namen zuzuweisen oder zu öffnen. Um dies zu
vermeiden, geben Sie entweder im Profilparameter WORK den Subparameter DEST=* an, oder Sie
programmieren DEFINE WORK FILE '*' vor dem eigentlichen DEFINE WORK
FILE-Statement; Natural generiert dann einen eindeutigen DD-Namen bei der
Zuweisung der physischen Datasets, wenn das erste DEFINE WORK
FILE-Statement für die betreffende Arbeitsdatei ausgeführt wird.
Alle Arbeitsdateien, deren DD-Namen mit CM anfangen, werden von allen
Sessions in einer Server-Umgebung gemeinsam benutzt. Eine gemeinsame benutzte
Arbeitsdatei, die für Ausgabe von der ersten Session geöffnet wird, wird bei Beendigung
des Servers physisch geschlossen. Eine gemeinsame benutzte Arbeitsdatei, die für Eingabe
geöffnet wird, wird physisch geschlossen, wenn die letzte Session sie schließt, d.h.
wenn sie eine Dateiende-Bedingung erhält. Beim gleichzeitigen Lesen einer gemeinsam
benutzten Arbeitsdatei wird einem READ WORK FILE-Statement nur ein
Datei-Datensatz geliefert.
Für eine mit der Zugriffsmethode AM=CICS definierte Arbeitsdateinummer kann
operand1 in Abhängigkeit vom Subparameter TYPE des
Profilparameters WORK
für die Arbeitsdatei ein Übergangsdaten- oder Zwischenspeicher-Warteschlangen-Name (1 bis
8 Zeichen) sein. Für TYPE=TD (Übergangsdaten) werden nur die ersten 4 Zeichen von
operand1 berücksichtigt und das Ausgabemedium für die
Übergangsdaten muss vorher für CICS definiert worden sein.
Weitere Informationen über Arbeitsdateien siehe auch den Abschnitt Natural Print and Work Files under CICS in der Natural CICS Interface-Dokumentation.
Unter Com-plete stehen PFS-Dateien mit der Zugriffsmethode AM=SMARTS zur
Verfügung. Es kann ein Arbeitsdateiname zugewiesen werden, auch wenn er für Natural nicht
definiert worden ist.
DEFINE WORK (14) '/nat/path/workfile' DEFINE WORK (14) 'workfile'
Es ist vom Parameter MOUNT_FS von SMARTS abhängig, ob die Datei
auf einem SMARTS Portable File System oder auf dem Native File System residiert. Das erste
Element des Pfads (/nat/) legt das Zieldatei-System fest.
Wenn die Zeichenkette nicht mit einem Schrägstrich (/) beginnt, wird der Pfad der Datei
von der Umgebungsvariablen $NAT_WORK_ROOT genommen.
Der angegebene Pfadname muss vorhanden sein. Wenn das Statement DEFINE WORK
FILE ausgeführt wird, wird die Datei dynamisch zugewiesen. Wenn das angegebene
Member nicht vorhanden ist, wird ein neues Member dieses Namens angelegt.