データ定義 (DD) ステートメントは、オペレーティング・システムに 対してデータ・セットを定義するためのジョブ制御ステートメントであり、 入出力リソースの割り振りをオペレーティング・システムに要求するものです。 データ・セットを動的に割り振らない場合は、 各ジョブ・ステップに、そのジョブ・ステップで処理する データ・セットの DD ステートメントをすべて組み込んでおく必要があります。
ジョブ制御ステートメントの構文については、「z/OS JCL User's Guide」を参照してください。DD ステートメントのオペランド・フィールドには、データ・セットの 位置 (例えば、ボリューム通し番号や、ボリュームをマウントする 装置の識別名) を記述したキーワード・パラメーター、および データそのものの属性 (例えば、レコード・フォーマット) を記述した キーワード・パラメーターを入れることができます。
DD ステートメントを使用すると、使用するデータ・セットおよび入出力装置 から独立した PL/I ソース・プログラムを作成することができます。 また、ユーザー・プログラムを再コンパイルしなくても、データ・セットの パラメーターを変更したり、さまざまなデータ・セットを処理したり することができます。
次の項に、DD ステートメントのオペランドと、ユーザーの PL/I プログラムとの 関係について説明します。
ENVIRONMENT 属性の LEAVE および REREAD オプションを使用すると、磁気テープ・ボリュームの終わりに達したとき、または磁気テープのデータ・セットが閉じたときにとるアクションを制御する DISP パラメーターを使用できます。 LEAVE および REREAD オプションの説明は、第 8 章の『LEAVE|REREAD』にあります。
PL/I バージョン 1 の標準機能であった書き込み妥当性検査は、本バージョンでは実行さ れません。 書き込み妥当性検査を実行するには、JCL DD ステートメントの DCB パラメーター の OPTCD サブパラメーターを使って要求できます。 詳細については、「OS/VS2 Job Control Language」を参照してください。
PL/I プログラムにより処理されるデータ・セットの DISP パラメーターの条件 付きサブパラメーターを使用する場合は、ステップ異常終了機能を使う必要があります。 ステップ異常終了機能は、次のようなにして入手します。
DD ステートメントの DCB (データ制御ブロック) パラメーターを使用すると、 データ・セット内のデータの特性を記述したり、実行時のデータの処理方法を 記述することができます。DD ステートメントの他のパラメーターは、主としてデータ・セットの識別、位置、 処置を扱うのに対し、DCB パラメーターはレコード自体の処理に必要な情報を指定します。 DCB パラメーターのサブパラメーターの詳細については、「z/OS JCL User’s Guide」を 参照してください。
DCB パラメーターには、次の事項を記述するサブパラメーターが入っています。
BLKSIZE、LRECL、KEYLEN、および RECFM (またはそれらと同等のもの) は、DCB パラメーター ではなく、ユーザーの PL/I プログラムの ファイル宣言の ENVIRONMENT 属性を使って指定することができます。
DCB パラメーターを使って、PL/I プログラム内でデータ・セット用に (宣言されたファイル属性と、その属性で暗黙指定されたその他の属性を使って) 既に 設定されている情報を指定変更することはできません。 既に提供されている情報を変更しようとする DCB サブパラメーターは、無視さ れます。
新規データ・セットの場合、DD ステートメントと矛盾していれば、プログラムで定義されたファイルの属性が使用されます。
PDS ファイルをクローズするときに、RC=4 を伴う メッセージ IEC225I が出される場合があります。 このメッセージは安全であり、無視できます。
DCB パラメーターの例
DCB=(RECFM=FB,BLKSIZE=400,LRECL=40)
上記の例では、長さ 40 バイトの固定長レコードが、400 バイトの長さのブロックに グループ化されます。