Legt die Datendefinition für Ein- oder Ausgabedateien fest. Es kann sich um folgende Dateien handeln:
- Eingabedatenstrom, der auf die Anweisung DD * folgt und mit /* endet.
- Eine MVS-Datei.
- Eine Datei im HFS-Dateisystem, die das Schlüsselwort HFSPATH verwendet. Wenn Sie das Schlüsselwort HFSPATH verwenden, ist als weiteres Schlüsselwort nur CCUEXT zulässig.
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)