Jcl-dd-statement
JCL-DDステートメント
データセットは、特定の形式で整理されたレコードを持つメインフレームファイルです。 データセットは、メインフレームのダイレクトアクセスストレージデバイス(DASD)またはテープに保存され、基本的なデータストレージ領域です。 これらのデータをバッチプログラムで使用/作成する必要がある場合、ファイル(およびデータセット)の物理名とファイル形式および編成がJCLでコーディングされます。
JCLで使用される各データセットの定義は、* DDステートメント*を使用して与えられます。 ジョブステップに必要な入力および出力リソースは、データセットの編成、ストレージ要件、レコード長などの情報とともにDDステートメント内に記述する必要があります。
構文
JCL DDステートメントの基本構文は次のとおりです。
//DD-name DD Parameters
説明
上記のDDステートメント構文で使用される用語の説明を見てみましょう。
DD-NAME
DD-NAMEは、データセットまたは入力/出力リソースを識別します。 これがCOBOL/Assemblerプログラムで使用される入出力ファイルである場合、ファイルはプログラム内でこの名前で参照されます。
DD
これは、DDステートメントとして識別するためのキーワードです。
パラメーター
以下は、DDステートメントのさまざまなパラメーターです。 要件に基づいて1つ以上のパラメーターを使用でき、それらはコンマで区切られます。
Parameter | Description |
---|---|
DSN |
The DSN parameter refers to the physical dataset name of a newly created or existing dataset. The DSN value can be made up of sub-names each of 1 to 8 characters length, separated by periods and of total length of 44 characters (alphanumeric). Following is the syntax:
一時データセット*は、ジョブの期間だけストレージを必要とし、ジョブの完了時に削除されます。 そのようなデータセットは、 *DSN =&name として、または単にDSNを指定せずに表されます。 ジョブステップによって作成された一時データセットが次のジョブステップで使用される場合、 DSN = 。stepname.ddname *として参照されます。 これは*後方参照*と呼ばれます。 |
DISP |
The DISP parameter is used to describe the status of the dataset, disposition at the end of the job step on normal and abnormal completion. DISP is not required in a DD statement only when the dataset gets created and deleted in the same job step (like the temporary datasets). Following is the syntax:
CATLG、UNCATLG、DELETE、PASS、およびKEEPパラメーターの説明は次のとおりです。
DISPのサブパラメーターが指定されていない場合、デフォルト値は次のとおりです。
|
*DCB *a |
The Data Control Block (DCB) parameter details the physical characteristics of a dataset. This parameter is required for datasets that are newly created in the job step. LRECLは、データセット内に保持されている各レコードの長さです。 RECFMは、データセットのレコード形式です。 RECFMは、FB、V、またはVBの値を保持できます。 FBは、1つ以上の論理レコードが単一のブロック内にグループ化される固定ブロック組織です。 Vは、1つの可変長論理レコードが1つの物理ブロック内に配置される変数編成です。 VBは、1つまたは複数の可変長論理レコードが1つの物理ブロック内に配置される可変ブロック構成です。 BLKSIZEは、物理ブロックのサイズです。 ブロックが大きいほど、FBまたはVBファイルのレコード数が多くなります。 DSORGは、データセット編成のタイプです。 DSORGは、PS(物理シーケンシャル)、PO(パーティション組織)、およびDA(直接組織)の値を保持できます。 同じジョブステップまたはJCL内で1つのデータセットのDCB値を別のデータセットに複製する必要がある場合、DCB =* 。stepname.ddnameとして指定されます。ここで、stepnameはジョブステップの名前、ddnameは元のデータセットです。 DCBがコピーされます。 RECFM = FB、LRECL = 80がデータセットOUTPUT1のDCBを形成する以下の例を確認してください。 |
SPACE |
The SPACE parameter specifies the space required for the dataset in the DASD (Direct Access Storage Disk). Following is the syntax:
使用されるすべてのパラメーターの説明は次のとおりです。
|
UNIT |
The UNIT and VOL parameters are listed in the system catalog for catalogued datasets and hence can be accessed with just the physical DSN name. But for uncataloged datasets, the DD statement should include these parameters. For new datasets to be created, the UNIT/VOL parameters can be specified or the Z/OS allocates the suitable device and volume. UNITパラメーターは、データセットが保存されるデバイスのタイプを指定します。 デバイスタイプは、ハードウェアアドレスまたはデバイスタイプグループを使用して識別できます。 構文は次のとおりです。
|
SYSDA* DASDはDirect Access Storage Deviceを表し、SYSDAはSystem Direct Accessを表し、次に利用可能なディスクストレージデバイスを指します。 |
VOL |
The VOL parameter specifies the volume number on the device identified by the UNIT parameter. Following is the syntax:
v1、v2はボリュームシリアル番号です。 次の構文も使用できます。
REFは、JCLの先行するジョブステップのいずれかにおけるデータセットのボリュームシリアル番号への後方参照です。 |
SYSOUT |
例
以下は、上記で説明したさまざまなパラメーターとともにDDステートメントを使用する例です。
//TTYYSAMP JOB 'TUTO',CLASS=6,MSGCLASS=X,REGION=8K,
// NOTIFY=&SYSUID
//*
//STEP010 EXEC PGM=ICETOOL,ADDRSPC=REAL
//*
//INPUT1 DD DSN=TUTO.SORT.INPUT1,DISP=SHR
//INPUT2 DD DSN=TUTO.SORT.INPUT2,DISP=SHR,UNIT=SYSDA,
// VOL=SER=(1243,1244)
//OUTPUT1 DD DSN=MYFILES.SAMPLE.OUTPUT1,DISP=(,CATLG,DELETE),
// RECFM=FB,LRECL=80,SPACE=(CYL,(10,20))
//OUTPUT2 DD SYSOUT=*