Jcl-dd-statement

提供:Dev Guides
移動先:案内検索

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 =物理データセット名*

一時データセット*は、ジョブの期間だけストレージを必要とし、ジョブの完了時に削除されます。 そのようなデータセットは、 *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:

  • DISP =(ステータス、正常後処理、異常後処理)*

    *status* の有効な値は次のとおりです。
  • NEW :データセットは、ジョブステップによって新しく作成されます。 上記の例のOUTPUT1。

  • OLD :データセットは既に作成されており、ジョブステップで上書きされます。 ジョブステップはデータセットに対する排他的なアクセス権を取得し、ジョブステップが完了するまで他のジョブはこのデータセットにアクセスできません。

  • SHR :データセットは既に作成されており、ジョブステップで読み取られます。 データセットは、同時に複数のジョブで読み取ることができます。 例:INPUT1およびINPUT2。

  • MOD :データセットはすでに作成されています。 この処理は、既存のデータセットに新しいレコードを追加する必要がある場合に使用されます(既存のレコードは上書きされません)。

    *normal-disposition* パラメーターは、次の値のいずれかを取ることができます
  • CATLG、UNCATLG、DELETE、PASS、KEEP

    *abnormal-disposition* パラメーターは、次の値のいずれかを取ることができます
  • CATLG、UNCATLG、DELETE、KEEP

CATLG、UNCATLG、DELETE、PASS、およびKEEPパラメーターの説明は次のとおりです。

  • CATLG :データセットは、システムカタログのエントリとともに保持されます。
  • UNCATLG :データセットは保持されますが、システムカタログエントリは削除されます。
  • KEEP :データセットは、カタログエントリを変更せずに保持されます。 KEEPは、VSAMファイルの唯一の有効な後処理です。 これは、永続的なデータセットにのみ使用されます。
  • DELETE :データセットはユーザーおよびシステムカタログから削除されます。
  • PASS :これは通常の処理でのみ有効です。 これは、JCLの次のジョブステップでデータセットが渡されて処理されるときに使用されます

DISPのサブパラメーターが指定されていない場合、デフォルト値は次のとおりです。

  • status :NEWはデフォルト値です。
  • normal-disposition :ステータスがNEWの場合、デフォルトのnormal-dispositionはDELETEであり、それ以外の場合はKEEPです。
  • abnormal-disposition :通常の処理と同じです。
*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:

  • SPACE =(spcunits、(pri、sec、dir)、RLSE)*

使用されるすべてのパラメーターの説明は次のとおりです。

  • spcunits :これは、CYL(シリンダー)、TRK(トラック)、またはBLKSIZE(ブロックサイズ)のいずれかです。
  • pri :これは、データセットに必要なプライマリスペースです。
  • sec :これは、プライマリスペースが十分でない場合に必要な追加スペースです。
  • ir :これは、データセットがその中にメンバーを持つPDS(パーティションデータセット)である場合に必要なディレクトリブロックです。
  • RLSE :これは、ジョブの完了時に未使用スペースを解放するために使用されます。
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パラメーターは、データセットが保存されるデバイスのタイプを指定します。 デバイスタイプは、ハードウェアアドレスまたはデバイスタイプグループを使用して識別できます。 構文は次のとおりです。

  • UNIT = DASD

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:

  • VOL = SER =(v1、v2)*

v1、v2はボリュームシリアル番号です。 次の構文も使用できます。

  • VOL = REF =* 。DDNAME *

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=*