テンプレートを使用したデータ・セットの作成

テンプレートを使用してデータ・セットを作成するときは、テンプレートがデータの構造を提供します。また、テンプレートの「作成属性」を使用して、データ・セット内のフィールド値を初期化することもできます。

初期設定は、レコード・レベルおよびフィールド・レベルの 2 つのレベルで実行できます。コピーブックまたはテンプレートを使用することを指定すると、フィールド・レベルの初期化が行われます。この場合には、レコードは最初に「Fillchar (埋め込み文字)」入力フィールドで指定された文字で埋められます。次に、選択するフィールドが、テンプレートで指定するフィールド作成属性を使用して、個々に初期化されます。

File Manager がデータ・セットを作成する場合には、テンプレートに記述されている最初のレコード・タイプだけを使用します。書き込まれるレコードの長さは、レコードが固定長か可変長か、およびテンプレート内のレコード記述の長さによって異なります。

  • 固定長レコードの場合は、すべてのレコードは、データ・セットに指定するレコード長で作成されます。テンプレートでのレコード長が、データ・セットのレコード長より短い場合は、レコードは「Fillchar (埋め込み文字)」フィールドに指定する値で埋め込まれます。
  • 可変長レコードの場合は、各レコードの長さは、テンプレートでのフィールド属性を使用して作成されるレコードの長さによって異なります。テンプレート・レコード記述に、1 つ以上の可変長配列が含まれている場合、レコードの長さは、OCCURS DEPENDING ON 文節のオブジェクトに割り当てられる値に応じて、または PL/I コピーブックから作成されたテンプレートの場合はエレメント数または長さが REFER 変数によって制御される配列か変数に応じて、異なります。
注: テンプレートでのレコード長は常に、最大データ・セット・レコード長以下でなければなりません。

テンプレートを使用して新規または既存のデータ・セットにデータを作成するには、以下のようにします。

  1. 「Primary Option Menu (基本オプション・メニュー)」パネルからオプション「3.Utilities (ユーティリティー)」を選択してから、オプション「1.Create (作成)」を選択します。

    「Data Create Utility (データ作成ユーティリティー)」パネルが表示されます。

  2. 以下のいずれかを実行します。
    • 既存のデータ・セットの名前を指定します。PDS(E) データ・セットの場合は、新規または既存のメンバーも指定します。

      「Disposition (後処理)」処理オプションの設定方法によって、新しいレコードによって既存のデータ・セットまたはメンバーのレコードが置換されるか、新しいレコードが追加されます。

    • 新しいデータ・セットの名前を指定します。PDS(E) データ・セットの場合は、新規のメンバー名も指定します。

      Enter キーを押してこのパネルを処理するときに、新しいデータ・セットを割り振り、定義するように求められます。

  3. 可変長レコードでデータを作成していて、新しいレコードの長さを最大レコード・サイズより小さくしたい場合は、「Record length (レコード長)」フィールドに値を入力します。それ以外の場合には、このフィールドは空のままにします。(固定長レコードおよび不定長レコードの場合、このフィールドは無視されます。)
  4. 作成したいレコードの数を、「Records (レコード数)」フィールドに入力します。
    注: 空のデータ・セットを作成するには、レコード数に 0 を指定します。
  5. データをレコード・レベルで初期設定するには、「Fillchar (埋め込み文字)」フィールドに値を入力します。

    データをフィールド・レベルで初期設定するには、テンプレート・フィールドに作成属性値が定義されたテンプレートを使用する必要があります。これらの値がテンプレートに定義されていない場合は、「Edit Template (テンプレートの編集)」オプションを選択し、このプロセスの一部としてその値を定義することができます。

    シーケンス・フィールドをレコードの一部として含めるには、これをテンプレートの作成属性値の一部として指定する必要があります。テンプレートを使用している場合は、「Sequence field position (シーケンス・フィールド位置)」「Sequence field length (シーケンス・フィールド長)」、および「Sequence field increment (シーケンス・フィールド増分)」の各フィールドの情報は無視されます。

  6. 新規データ・セットの名前を指定していて、モデルとして別のデータ・セットを使用したい場合は、「Like data set (類似データ・セット)」フィールドにモデル・データ・セットの名前を指定します。
  7. 次のいずれか 1 つ を行うことによって、テンプレートを指定します。
    • コピーブックまたはテンプレートの「Data set name (データ・セット名)」フィールドおよび「Member (メンバー)」フィールドで、既存のコピーブックまたはテンプレートを指定してから、「Copybook or Template (コピーブックまたはテンプレート)」処理オプションを「1.Above (上の指定)」に設定します。
    • 「Copybook or Template (コピーブックまたはテンプレート)」処理オプションを「2.Previous (直前の指定)」に設定します。これによって、このデータ・セットに最後に関連付けられたコピーブックまたはテンプレート (ユーザーごとに異なる) を使用するように File Manager に指示が出されます。File Manager「Data set name (データ・セット名)」フィールドおよび「Member (メンバー)」フィールドの内容を無視します。
    • 「Copybook or Template (コピーブックまたはテンプレート)」処理オプションを「4.Create dynamic (動的作成)」に設定します。Enter キーを押して「Create Data (データの作成)」パネルを処理するときに、File Manager「Data set name (データ・セット名)」フィールドおよび「Member (メンバー)」フィールドの内容を無視し、「Dynamic Template (動的テンプレート)」パネルを表示します。
  8. このプロセスをバッチ・ジョブとして実行したい場合は、「Batch execution (バッチ実行)」オプションを選択します。バッチ・モードの使用について詳しくは、バッチ・ジョブでの File Manager 機能の使用を参照してください。
  9. 要件に適合する「Disposition (後処理)」「Use I/O exit (I/O 出口を使用)」「Use proc」、および「ISPF Packing (ISPF パッキング)」処理オプションを選択します (詳細は、テンプレートを使用しない場合のデータの作成を参照してください)。
  10. [Enter] を押します。

    既存のデータ・セットとテンプレートを指定して、処理が正常に終了すると、ファイルに書き込まれたレコードの数を示すメッセージが表示されます。

    動的テンプレートを作成するよう選択した場合は、「Dynamic Template (動的テンプレート)」パネルが表示されます。既存のテンプレートを指定し、「Edit Template (テンプレートの編集)」オプションを選択した場合、該当するテンプレートの編集パネルが表示されます。テンプレートの定義が完了すると、既存のデータ・セット名を指定したか、新しいデータ・セット名を指定したかによって、File Manager はレコードを作成するか、または新しいデータ・セットを割り振るように求めます。

    新しいデータ・セット名を指定した場合、テンプレートが指定または作成された後で、そのデータ・セットを割り振るように求められます。データ・セットが正常に割り振られると、「Data Create (データ作成)」パネルが再度表示されてファイルに書き込まれたレコードの数が示されます。

関連トピック