DD ステートメント

入力ファイルまたは出力ファイルのデータ定義を定義します。 次のいずれかのファイルを使用できます。

構文

疑似 JCL DD 構文

パラメーター

label
DD 名。
DSN または DSNAME
データ・セットの名前。 このパラメーターか HFSPATH パラメーターのいずれかを選択できますが、両方を選択することはできません。
HFSPATH = hfsPathName
HFS ディレクトリーへのパス。 HFSPATH と一緒に使用できるのは、CCUEXT パラメーターのみです。
DISP
stat
状況: NEW (デフォルト)、OLDSHR (共用)、または MOD (変更)。
ndisp
標準の後処理: DELETEKEEP (デフォルト)、CATLG (カタログ)、または UNCATLG (アンカタログ)。
adisp
異常な後処理: DELETEKEEP (デフォルト)、CATLG (カタログ)、または UNCATLG (アンカタログ)。
DCB
LRECL
バイト単位のレコード長。
BLKSIZE
バイト単位のブロック・サイズ。
RECFM
レコード・フォーマット。
DSORG = dataSetOrganization
データ・セット編成を指定します。以下の値が有効です。
PS
順次データ・セット。
PO
区分データ・セット。
UNIT = unitType
出力用メディアのタイプ。 有効な値は以下のとおりです。
VIO
仮想入出力
unitType
システム上のデバイスの名前。
SPACE = unitType
単位タイプ。 以下の値が有効です。
unit
割り振り単位: TRKCYL、またはブロック・サイズに等しい数値。
pri
割り振り単位のプライマリー・ナンバー。
sec
割り振り単位のセカンダリー・ナンバー。
dir
PDS 割り振りのディレクトリー・ブロックの数。
RLSE
データ・セットのクローズ時に未使用スペースを解放することを示します。
CONTIG
連続したスペースを割り振ることを示します。
VOL = SER = volume
データ・セットを割り振るボリュームを指定します。 DSN が永続データ・セット名を指定し、DISPNEW を指定している場合、デフォルトでは、システム割り当てのボリュームが使用されます。
CCUEXT
ファイル名拡張子を示します。これは、入力、出力、メッセージ・ファイル名をターゲット DDNAME にマップするために使用されます。 例えば、次のようになります。
//USERLIB DD DSN=MY.HEADERS,DISP=SHR,CCUEXT=(H,HPP)
extension
拡張子 .h および .hpp (大/小文字を区別しない) を持つすべての入力ファイルを、DDNAME USERLIB に割り当てられているデータ・セットに置くことを示します。 同じ拡張子を疑似 JCL スクリプト内で複数回使用することはできません。
CCUOUT
対応する DDNAME が、ビルド・クライアントへ戻す必要のある順次データ・セット、または区分データ・セット (通常はメッセージ・リストを含む) のメンバーであることを示します。 例えば、次のようになります。
//COMPILE EXEC PGM=CBCDRVR,..
//SYSIN ..
//SYSOUT DD CCUEXT=CCUOUT,DISP=(NEW,DELETE),SPACE=(32000,(30,30)),
//          DCB=(RECFM=VB,LRECL=137,BLKSIZE=882)
プログラム CBCDRVR の実行後、SYSOUT の内容が読み取られ、クライアントのファイル・システム内のファイル COMPILE.SYSOUT としてクライアントへ戻されます。
CCUSTD
この値で指定された DDNAME がビルド・クライアントの STDOUT に書き込まれることを示します。 例えば、次のようになります。
//COMPILE EXEC PGM=CBCDRVR,..
//SYSIN ..
//SYSOUT DD CCUEXT=CCUSTD,DISP=(NEW,DELETE),SPACE=(32000,(30,30)),
//          DCB=(RECFM=VB,LRECL=137,BLKSIZE=882)
プログラム CBCDRVR の実行後、SYSOUT の内容が読み取られ、STDOUT に置かれて、クライアントのファイル・システム内のファイル COMPILE.SYSOUT としてクライアントへ戻されます。
CCUERR
この値で指定された DDNAME が ccubldc クライアントによって STDERR に置かれることを示します。 例えば、次のようになります。
//COMPILE EXEC PGM=CBCDRVR,..
//SYSIN ..
//SYSOUT DD CCUEXT=CCUERR,DISP=(NEW,DELETE),SPACE=(32000,(30,30)),
//          DCB=(RECFM=VB,LRECL=137,BLKSIZE=882)
プログラム CBCDRVR の実行後、SYSOUT の内容が読み取られ、STDERR に置かれて、クライアントのファイル・システム内のファイル COMPILE.SYSOUT としてクライアントへ戻されます。
ENQ
YES に設定すると、DD カードが割り振るデータ・セットの名前でビルド・サーバーがエンキューします。これは、複数のビルド要求が並行してアクセス可能な区分データ・セットにビルド・スクリプトが書き込みを行う場合に必要になることがあります。 まだアクティブなビルド・スクリプトによって以前にエンキューされたデータ・セット名 でビルド・スクリプトがエンキューすると、ビルド・スクリプトはキューに置かれ、定期的に再試行されます。 多数の並行するビルド要求が同じデータ・セット名でエンキューしている場合は、ビルド要求のタイムアウトが発生する場合があります。

次は、MVS 一時データ・セットで DSN を指定せずに使用される DD ステートメントの例です。
//* 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)       
次は、既に存在している MVS データ・セットで使用される DD ステートメントの例です。
//* MVS Dataset, already existing
//STEPLIB DD DSNAME=CEE.SCEERUN,DISP=SHR
以下は、HFS ファイル・システムを使用した DD ステートメントの例です。
//* 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)

フィードバック