Zum Forum
Passwort vergessen?
Noch keinen Account?
lexikon
Hauptseite
Zufälliger Artikel
Diskussion
Diskussion : DD-Statement
Links
Forum
Portale
Reisen
Versicherung
Inhaltsverzeichnis
Hauptmenü
Home
Editorial
Bildung
E-Learning
Fremdsprachen
Magazin
Wissen
Wörterbücher
Enzyklopädien
Expertendienste
Wissenswertes
Praktische Ratgeber
--------------------------
Biologie
Chemie
Computer
Film/ Theater
Geografie
Geschichte
Jura
Kunst
Literatur
Mathematik
Medizin
Musik
Philosophie
Physik/ Astronomie
Politik
Psychologie
Religionen
Sport
Umwelt
Wirtschaft
Reisen
Lexikon
Versicherung
Suchen
Schnellsuche
Suchmaschinen
Metasuchmaschinen
Webkataloge
News
Treffpunkt
Chat
Forum
Suche
Schnellsuche
Sitemap
Kontakt
Impressum
DD-Statement
Stichpunkte
Allgemein
Inhaltsverzeichnis showTocToggle("Anzeigen"
"Verbergen") 1 Übersicht 2 Argumente 2.1 DSN 2.2 SYSOUT 2.3 COPIES 2.4 DISP 2.5 VOL 2.6 UNIT 2.7 SPACE 2.8 RECFM 2.9 LRECL 2.10 BLKSIZE 3 Standard-DD-Namen 4 Beispiel [Bearbeiten]
Übersicht
durch die einem logischen Dateinamen (DD-Name) ein physikalischer Datenbestand zugewiesen wird
Ein DD-Statement (auch "DD-Anweisung" oder "DD-Record" genannt) ist eine JCL-Anweisung
Die Vorteile liegen auf der Hand: Muss der phsysikalische Dateiname später geändert werden
muss nur noch die Steuerkarte geändert werden
zu übergeben
dem Rechenzentrum Programme mit den Informationen
Dies ermöglicht es
welche Dateien benötigt werden
die benötigten Dateien zu allokieren
Es ist dann die Aufgabe des Rechenzentrums
DISP=disp Mit diesem DD-Record wird das Data Set mit dem Namen dsn allokiert und auf den DD-Namen ddname allokiert. //ddname DD SYSOUT=outclass
COPIES=copies Dieser Record weist einem DD-Namen die Ouput-Klasse outclass zu
etwa einem Drucker
Es gibt drei grundsätzliche Arten von DD-Statements: //ddname DD DSN=dsn
Mit copies kann die Anzahl der Kopien angegeben werden. //ddname DD * Dieser Record gibt an
die diesem Record folgen
dass alle Zeilen
unter dem DD-Namen ddname verfügbar gemacht werden sollen. [Bearbeiten]
Argumente
[Bearbeiten]
DSN
Gibt den Namen des physikalischen Data Sets an
etwa DSN=FOO.BAR.BAZ
Der Name folgt den üblichen MVS-Namenskonventionen. [Bearbeiten]
SYSOUT
Die Output-Klasse
welche man verwenden kann. [Bearbeiten]
Man sollte im Rechenzentrum nachfragen
COPIES
etwa bei der Ausgabe auf einen Drucker. [Bearbeiten]
Die Anzahl der Kopien
DISP
DISP gibt an
wie die Datei die mit DSN angegeben wurde
zu behandeln ist
aber allein für diesen Job reserviert werden soll
dass das Data Set bereits existiert
Hierbei gibt es drei Möglichkeiten: DISP=OLD Gibt an
Schreibt das Programm Daten in die Datei
werden diese überschrieben. DISP=MOD Äquivalent zu DISP=OLD
nur werden neue Records hier hinten an das File angehängt statt alte überschrieben. DISP=SHR Öffnet das Data Set "shared"; es können also mehrere Jobs gleichzeitig auf das Data Set zugreifen
Die Dateien sind hier allerdings im Nur-Lese-Zugriff geöffnet. DISP=(NEW
CATLG) oder DISP=(
CATLG) Das Data Set wird hier neu erstellt und katalogisiert
UNIT=
RECFM=
Dabei müssen die Informationen (VOL=
SPACE=
LRECL=
BLKSIZE=) für den VTOC mit angegeben werden. [Bearbeiten]
VOL
Mit VOL=SER=foo gibt man an
dass die Daten auf der Platte mit der Seriennummer foo' gespeichert werden sollen. [Bearbeiten]
UNIT
Gibt den Speicherort an
dass die Daten auf einer Platte des Typs 3390 gespeichert werden sollen. [Bearbeiten]
UNIT=3390 etwa gibt an
SPACE
Gibt an
wie viel Speicher zu reservieren ist
Die Syntax lautet
directory))
SPACE=(einheit
(primär
sekundär
TRK oder CYL
Tracks
sekundär für die Anzahl der Secondary Extents und directory für die Anzahl der Directory Blocks. [Bearbeiten]
also Blocks
Dabei steht einheit für BLK
primär für die Anzahl der Primary Extents
oder Zylinder
RECFM
Gibt das Format der Records an
Möglich sind hierbei: F oder FB für Fixed bzw
Fixed Blocked Feste Länge eines Records. V oder VB für Variable bzw
Variable Blocked Variable Länge
sodass die maximale Größe für solch einen Record 32756 sind
Hierfür wird am Anfang des Records die Länge gespeichert
wird der Record auf mehrere gespanned
wie VBA sind möglich
ohne dass das Programm davon etwas mitbekommt. U für undefined. Wird etwa für Lademodule verwendet. Auch Variationen
Wird VBS angegeben
dass sich in der ersten Spalte Drucksteuerzeichen befinden. [Bearbeiten]
Das A deutet hierbei an
LRECL
Die Länge eines Records
etwa "80" für JCL-Steuerkarten. [Bearbeiten]
BLKSIZE
Die Größe eines Blocks
der Record-Länge und anderen Parametern ab. RECFM
LRECL und BLKSIZE werden zu einem DCB (Data Control Block) zusammengefasst
Hierdurch wird vor allem die Lese- und Schreib-Performance erhöht; allerdings hängt die Berechnung der idealen Blockgröße vom Plattentyp
(10
CATLG)
1))
SPACE=(CYL
VOL=SER=TSO001
LRECL=80) [Bearbeiten]
DISP=(NEW
Beispiel: //FOO DD DSN=FOO.BAR.BAZ
// DCB=(RECFM=FB
// UNIT=3390
Standard-DD-Namen
Es gibt einige Standard-DD-Namen
wird ein Speicherauszug (Dump) nach SYSDUMP geschrieben SYSUT1 - Temporäre Arbeitsdatei (vergleichbar mit /tmp unter UNIX) [Bearbeiten]
wie etwa STEPLIB - hier werden die Lademodule gesucht (vergleichbar mit $PATH unter UNIX) SYSIN - Standardeingabe (Äquivalent zu stdin unter UNIX) SYSPRINT - Standardausgabe (Äquivalent zu stdout unter UNIX) SYSDUMP - Bricht das Programm während des Ausführung ab
Beispiel
DISP=SHR Damit werden dem ausgeführtem Programm unter dem Dateinamen (DD-Namen) FOO die zwei Record "Das ist" und "ein Test" zur Verfügung gestellt; über BAR kann es den Inhalt des Data Sets FOO.BAR.BAZ lesen
Beispiel: //FOO DD * Das ist ein Test //BAR DD DSN=FOO.BAR.BAZ
bar) file input record; /* Schalter für EOF */ declare (eof_foo
eof_bar) char(1); /* Eingababuffer */ declare buffer char(80); /* Signal-Handler */ on endfile(foo) begin; close file(foo); eof_foo = 'J'; end; on endfile(bar) begin; close file(bar); eof_bar = 'J'; end; /* Programmbeginn */ eof_foo = 'N'; put skip list('Inhalt von FOO:') open file(foo); read file(foo) into(buffer); do while (eof_foo = 'N'); put skip list(buffer); read file(foo) into(buffer); end; eof_bar = 'N'; put skip list('Inhalt von BAR:') open file(bar); read file(bar) into(buffer); do while (eof_bar = 'N'); put skip list(buffer); read file(bar) into(buffer); end; end test;
In PL/I könnte man die Daten hiermit lesen: test: procedure options(main); /* Dateien deklarieren */ declare (foo
Dieser Artikel basiert auf dem Artikel
DD-Statement
aus der freien Enzyklopädie
wikipedia
und steht unter der
GNU Lizenz für freie Dokumentation
. In der wikipedia ist eine
Liste der Autoren
verfügbar.
Ziegelroter Schwefelkopf.jpg
Major Leagues
Ana Isabel de Palacio
Ivo von Chartres
Tauber
Bäckerjungensage
Wolgabulgaren
World Series
Ragdance.mid
[ Zurück ]
Inhalt Lexikon:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
1
2
3
4
5
6
7
8
9
Chat
|
Lexikon
|
Reisen
|
Versicherung
|
Forum
|
Kontakt