DD-Anweisung

Legt die Datendefinition für Ein- oder Ausgabedateien fest. Es kann sich um folgende Dateien handeln:

Syntax

Pseudo-JCL-Syntax für DD

Parameter

label
Der DD-Name.
DSN oder DSNAME
Der Name der Datei. Sie können entweder diesen Parameter auswählen oder den Parameter HFSPATH, jedoch nicht beide.
HFSPATH = hfsPathName
Der Pfad zum HFS-Verzeichnis. Nur der Parameter CCUEXT kann mit HFSPATH verwendet werden.
DISP
stat
Der Status: NEW (Standardwert), OLD, SHR (gemeinsam genutzt) oder MOD (geändert).
ndisp
Die normalen Dispositionen: DELETE, KEEP (Standardwert), CATLG (katalogisieren) oder UNCATLG (aus dem Katalog entfernen).
adisp
Die abnormalen Dispositionen: DELETE, KEEP (Standardwert), CATLG (katalogisieren) oder UNCATLG (aus dem Katalog entfernen).
DCB
LRECL
Die Satzlänge in Byte.
BLKSIZE
Die Blockgröße in Byte.
RECFM
Das Satzformat.
DSORG = dataSetOrganization
Gibt die Dateiorganisation an. Die folgenden Werte sind gültig:
PS
Die sequenzielle Datei.
PO
Die partitionierte Datei.
UNIT = unitType
Der Datenträgertyp für die Ausgabe. Gültige Werte sind:
VIO
Virtuelle E/A.
unitType
Der Name einer Einheit im System.
SPACE = unitType
Der Einheitentyp. Die folgenden Werte sind gültig:
unit
Die Zuordnungseinheit: TRK, CYL oder eine Zahl, die der Blockgröße entspricht.
pri
Die Anzahl primärer Zuordnungseinheiten.
sec
Die Anzahl sekundärer Zuordnungseinheiten.
dir
Die Anzahl Verzeichnisblöcke für PDS-Zuordnungen.
RLSE
Gibt an, dass freier Speicherplatz freigegeben werden soll, wenn die Datei geschlossen wird.
CONTIG
Gibt an, dass der zugeordnete Speicherplatz zusammenhängend sein soll.
VOL = SER = volume
Gibt die Platteneinheit an, auf der die Datei zugeordnet werden soll. Wenn für DSN der Name einer permanenten Datei angegeben ist und für DISP der Wert NEW, wird standardmäßig die vom System zugeordnete Platteneinheit verwendet.
CCUEXT
Gibt eine Dateinamenerweiterung an und wird verwendet, um die Namen der Eingabe-, Ausgabe- und Nachrichtendatei zum Ziel DDNAME zuzuordnen. Beispiel:
//USERLIB DD DSN=MY.HEADERS,DISP=SHR,CCUEXT=(H,HPP)
extension
Gibt an, dass alle Eingabedateien mit h und der Erweiterung .hpp (unabhängig von Groß-/Kleinschreibung) in der Datei gespeichert werden, die DDNAME USERLIB zugeordnet ist. Eine Erweiterung kann jeweils nur einmal im Pseudo-JCL-Script auftreten.
CCUOUT
Gibt an, dass der entsprechende DDNAME eine sequenzielle Datei oder ein Member einer partitionierten Datei ist (die in der Regel Nachrichtenlisten enthält), die an den Build-Client zurückgegeben werden müssen. Beispiel:
//COMPILE EXEC PGM=CBCDRVR,..
//SYSIN ..
//SYSOUT DD CCUEXT=CCUOUT,DISP=(NEW,DELETE),SPACE=(32000,(30,30)),
//          DCB=(RECFM=VB,LRECL=137,BLKSIZE=882)
Nach der Ausführung des Programms CBCDRVR wird der Inhalt von SYSOUT gelesen und an den Client als Datei COMPILE.SYSOUT in das Dateisystem des Clients zurückgegeben.
CCUSTD
Gibt an, dass mit diesem Wert angegebene DDNAMEs in STDOUT auf dem Build-Client geschrieben werden. Beispiel:
//COMPILE EXEC PGM=CBCDRVR,..
//SYSIN ..
//SYSOUT DD CCUEXT=CCUSTD,DISP=(NEW,DELETE),SPACE=(32000,(30,30)),
//          DCB=(RECFM=VB,LRECL=137,BLKSIZE=882)
Nach der Ausführung des Programms CBCDRVR wird der Inhalt von SYSOUT gelesen, in STDOUT gespeichert und an den Client als Datei COMPILE.SYSOUT in das Dateisystem des Clients zurückgegeben.
CCUERR
Gibt an, dass mit diesem Wert angegebene DDNAMEs vom ccubldc-Client in STDERR geschrieben werden. Beispiel:
//COMPILE EXEC PGM=CBCDRVR,..
//SYSIN ..
//SYSOUT DD CCUEXT=CCUERR,DISP=(NEW,DELETE),SPACE=(32000,(30,30)),
//          DCB=(RECFM=VB,LRECL=137,BLKSIZE=882)
Nach der Ausführung des Programms CBCDRVR wird der Inhalt von SYSOUT gelesen, in STDERR gespeichert und an den Client als Datei COMPILE.SYSOUT in das Dateisystem des Clients zurückgegeben.
ENQ
Auf YES gesetzt teilt ENQ dem Build-Server mit, dass er für den Namen der von der DD-Karte zugeordneten Datei eine Warteschlange aufbauen soll. Dies ist manchmal erforderlich, wenn das Build-Script in eine partitionierte Datei schreibt, auf die mehrere Buildanforderungen gleichzeitig zugreifen können. Wenn ein Build-Script für einen Dateinamen eine Warteschlange aufbaut, für den bereits von einem noch aktiven Build-Script eine Warteschlange aufgebaut wurde, wird das Build-Script in eine Warteschlange gestellt und in regelmäßigen Abständen auszuführen versucht. Dies kann zu einer Zeitlimitüberschreitung durch die Buildanforderung führen, wenn von vielen Buildanforderungen gleichzeitig eine Warteschlange für denselben Dateinamen aufgebaut wird.

Beispiele

Es folgt ein Beispiel einer DD-Anweisung, die mit einer temporären MVS-Datei ohne DSN verwendet wird:
//* MVS Dataset, temporary with no DSN
//SYSIN    DD CCUEXT=(C,CPP),DISP=(NEW,DELETE),
//         UNIT=VIO,SPACE=(TRK,(10,5)),
//         DCB+(RECFM=VB,LRECL=256,BLKSIZE=2560)       
Es folgt ein Beispiel einer DD-Anweisung mit einer bereits vorhandenen MVS-Datei:
//* MVS Dataset, already existing
//STEPLIB DD DSNAME=CEE.SCEERUN,DISP=SHR
Es folgt ein Beispiel einer DD-Anweisung, die das HFS-Dateisystem verwendet:
//* HFS file. The input files with extension=WSDL will be written to
//* this directory. The output files with extension=WSDL will be copied
//* from this directory.
//MYXML DD HFSPATH=&EZEDESTDIR,CCUEXT=(WSDL)

Feedback