スペースのシステム割り当て

TRK
スペースをトラック単位で割り振るように要求します。
CYL
スペースをシリンダー単位で割り振るように要求します。
blklgth — (AVGREC の指定がない場合に限る)
データの平均ブロック長をバイト単位で指定します。blklgth は、0 から 65535 までの 10 進数です。このパラメーターは、primary-qty (1 次 数量) と second-qty (2 次数量) で指定する値がブロック数量であることを示し、割り振るトラック数をブロック長を使用してシステムに計算させます。ブロック・サイズに指定された値は、値ゼロを除いて 、この計算でブロック長を使用します。ゼロのブロック・サイズの扱い方に ついては、primary-qty (1 次数量) と second-qty (2 次数量) の説明を参 照してください。
reclgth — (AVGREC の指定があり、しかも SMS がアクティブの場合に限る)
SMS 使用の場合、データの平均レコード長をバイト単位で指定します。 reclgth (レコード長) は、0 から 65535 までの 10 進数です。このパラメ ーターは、primary-qty (1 次数量) と second-qty (2 次数量) で指定する 値がレコード数量であることを示しています。この平均レコード長 が reclgth です。ゼロを指定すると、スペースは何も割り振られません。
システムは、トラック全体に DASD スペースを割り振ります。必要とするト ラック数は、レコードをブロック化する方法によって決まります。システムは、次 のうちの 1 つをブロック長として使用して、次に示す順序で、割り振るトラック 数を計算します。
  1. DCB パラメーターからのブロック・サイズ (指定してある場合)。
  2. システムが決定したブロック・サイズ (使用可能な場合)。
  3. デフォルト値の 4096
primary-qty

構文上は 0 から 16777215 までの値が許可されています。 実際に指定できる値は、物理環境変数およびその他の環境変数に応じて変わります。

次のうちのいずれか 1 つを指定します。
  • TRK では、割り振るトラック数
  • CYL では、割り振るシリンダー数
  • ブロック長では、データ・セット内のデータ・ブロック数
  • レコード長の場合、新規データ・セット内のレコード数。AVGREC パラ メーターは、1 次数量がレコード単位、または 1000 レコード単位、または 100 万レコード単位で表してあることを示すために使用します。
注: 区分データ・セット (PDS または PDSE) に TRK または CYL を 指定すると、1 次数量には、ディレクトリーのスペースも含まれます。区分データ ・セット (PDS または PDSE) にブロック長またはレコード長を指定すると、1 次 数量にはディレクトリー・スペースが含まれません。システムは、ディレクトリー を 1 次スペース割り当ての外部に割り当てます。

データ・セットにスペース制約の軽減オプションがない場合、1 つのボリュームには、1 次数量に十分な使用可能スペースがなければなりません。 特定のボリュームを要求し、そのボリュームに十分 なスペースがなかった場合、システムはそのジョブ・ステップを終了します。 データ・セットにスペース制約の軽減オプションを持たせるには、そのデータ・ セットが SMS 管理対象であり、そのデータ・クラスでそのオプションを指定する 必要があります。

blklgth としてゼロを最初のサブパラメーターに指定すると、システムは、次に示 す順序で、次のうちの 1 つをブロック長として使用して割り振るトラック数を計 算します。
  1. DCB パラメーターからのブロック・サイズ (指定してある場合)
  2. DD ステートメントの RECFM と LRECL から決定されたブロック・サイズまたは データ・クラス (使用可能な場合)
  3. デフォルト値の 4096

ボリューム全体を要求するには、ALX パラメーターを指定するか、または ボリューム上のトラック数またはシリンダー数からボリューム目録 (VTOC)、 ボリューム・ラベル・トラック、VTOC 索引、および VVDS によって 使用される数 (もしあれば) を引いた数を 1 次数量に指定してください。 このボリュームは、他のデータ・セットを含むことはできません。

second-qty

構文上は 0 から 16777215 までの値が許可されています。 実際に指定できる値は、物理環境変数およびその他の環境変数に応じて変わります。

さらにスペースが必要な場合に割り振る追加の、トラック、シリンダー、ブ ロック、またはレコードの数を指定します。システムは、必要になるまで追加スペースを割り振りません。

SMS 使用の場合、AVGREC パラメーターは、2 次数量が レコード単位、1000 レコード単位、または 100 万レコード単位で表してあることを 指定するために使用します。システムは、以下の順序でブロック長を使用して、割 り振るトラック数を計算します。
  1. DCB パラメーターからのブロック・サイズ (指定してある場合)
  2. システムが決定したブロック・サイズ (使用可能な場合)
  3. デフォルト値の 4096
最初のサブパラメーターで平均ブロック長を指定している場合、システム は、second-qty (2 次数量) の指定値と以下のうちの 1 つ を (順に) 使って 2 次数量のトラック数を計算します。
  1. SPACE パラメーターの blklgth (ブロック長) サブパラメーター
  2. 既存のデータ・セットに SPACE パラメーターの指定がない場合、データ・セ ットの作成時に指定され、保管されていた平均ブロック長値
  3. データ制御ブロックの BLKSIZE フィールド内のブロック長
2 次数量を指定し、データ・セットが追加スペースを必要とする場合、システムは 指定された数量を次のように割り振ります。
  • 使用可能な場合、連続するトラックまたはシリンダー
  • 使用不能な場合、
    • データ・セットにスペース制約の軽減オプションがない場合、指定される量を 最大 5 エクステントの中に割り振ります。
    • データ・セットにスペース制約の軽減オプションがある場合、システムは 6 以上の新規 エクステントを割り振らなければならないことがあります。データ・セットが SMS 管理対象であり、 そのデータ・クラスでこのスペース制約の軽減オプションを指定している場合にだけ、 データ・セットはこのオプションを持ちます。

データ・セットが PDSE、HFS データ・セット、拡張フォーマット・データ・セット、 またはカタログにある VSAM データ・セットの場合、システムは 1 つの ボリュームの 1 つのデータ・セットに最高 123 のエクステントを割り振ることができます。 その他のタイプのデータ・セットの場合、システムは各ボリューム上の各データ・セットごとに最高 16 エクステントを割り振ることができます。 エクステントは、データ・セットに割り振った他のスペースと隣接していてもそうでなくても構いません。データ・セットのエクステントには、1 次数量スペースと ユーザー・ラベル・スペースが含まれます。

注: BDAM データ・セットは拡張できません。
ユーザーのプログラムでボリューム上の順次データ・セットの割り振りスペースが いっぱいになると、システムは、後続データを書き込む場所を次のようにして 決めます。
  • データ・セットの後処理が NEW または MOD で、ボリューム上のエクステント の制限数に達していない場合、システムは同じボリューム上に 2 次数量を 割り振ろうとします。
  • データ・セットの後処理が OLD または SHR の場合、システムはそのデータ・ セットに指定されている次のボリュームを調べます。
    • そのデータ・セットの次のボリューム上にスペースが割り振られている場合、次のボリュームをデータ・セット用に使用します。
    • そのデータ・セットの次のボリュームにスペースが割り振られていない場合、そのデータ・セットの次のボリューム上に 2 次スペースを割り振ります。

    そのデータ・セット用に他のボリュームを指定していない場合、システムは 現行ボリューム上で 2 次数量を割り振ろうとします。

    他のプログラムが同時に書き込まないように予防措置をとるのでない限り、プログ ラムでは後処理が DISP=SHR での書き込みをしないようにしてください。

要求したボリュームに使用可能なスペースがなくて、少なくとも 1 つの ボリュームが取り外し可能な場合、システムは、2 次割り振りが終わるまで スクラッチ (非特定) ボリュームを装着するようオペレーターに 要求します。取り外せるボリュームがない場合、システムはそのジョブ・ステップを 異常終了します。

directory
区分データ・セット (PDS) のディレクトリーに必要な 256 バイトの レコード数を指定します。構文上は 0 から 16777215 までの値が許可されています。
注:
  1. 区分データ・セット (PDS) の作成時には、ディレクトリーのスペースを 要求する必要があります。
  2. 拡張区分データ・セット (PDSE) の作成時には 、ディレクトリーのサイズは、必要に応じて動的に増えます。SMS は、後に PDSE を PDS に変換する場合にのみ、PDSE ディレクトリー に対して要求されたサイズを使用します。
  3. 階層ファイル・システム (HFS) データ・セットを作成するときは、 ディレクトリー・ブロックの数を指定して、これが HFS データ・セットであるが、 その値は割り振りには何も影響を及ぼさないということを示す必要があります。

PDS ディレクトリーは、データ・セットの最初のエクステントに収まるもの でなければなりません。1 次数量がそのディレクトリーにとって小さ過ぎる場合、またはシステムが複数の エクステントに 1 次数量を割り振っており、最初のエクステントが ディレクトリーにとって小さ過ぎる場合には、割り振りは失敗します。

SMS 使用の場合、他のサブパラメーターを指定することなく、SPACE パラメーター でディレクトリー・レコードの数を指定することができます。例:
   //DD12  DD   DSNAME=PDS.EXMP,DATACLAS=DCLAS12,SPACE=(,(,,20)),
   //         DISP=(NEW,KEEP)

データ・セットに 20 のディレクトリー・レコードを指定します。この例で は、指定したディレクトリー・レコードの数 (20) により、データ・セット のデータ・クラスに指定してあるディレクトリー・レコードの数をオーバー ライドします。(SMS は、他のスペース割り振り属性については、データ・セットの データ・クラスに指定してある値を使用します。)

RLSE (部分的解放)
出力データ・セットに割り振られたが、まだ使用されていないスペースを データ・セットのクローズ時に解放するように要求します。 この部分的解放パラメーターを使用すると、データ・ セットが書き込み許可をオープンしていて、最後の操作が読み取りではないか POINT マクロで なかった場合にのみ、クローズ機能が未使用スペースを解放することになります。

マルチボリューム順次データ・セットの場合は、RLSE は、データ・セットがクローズされる時点で現行ボリュームおよび後続ボリューム上の未使用スペースを解放します。これは、データ・セットが GUARANTEED SPACE である場合も有効です。

RLSE を指定してあり、異常終了になる場合、システムは、データ・セットがオー プンされている場合でも未使用スペースを解放しません。

RLSE は、順次、区分、および VSAM 拡張フォーマット・データ・セットの場合にのみ、 サポートされます。

1 次割り振り用に RLSE を指定しても 2 次割り振りが禁止されるわけではありません。スペースの 2 次要求は、依然として有効です。

データ・セットの排他制御を即時に獲得できない場合にデータ・セットをクロ ーズするときには、システムは未使用スペースの解放要求を無視します。排他制御 が獲得できない状況には以下のものが考えられます。
  • 他のジョブがそのデータ・セットを共用している場合
  • 同じマルチタスキング・ジョブの中の別のタスクが、他のデータ・セットに対する OPEN、CLOSE、EOV、または FEOV 要求を処理している場合
  • そのデータ・セットの他のデータ制御ブロックがオープンされている場合

RLSE サブパラメーターは、CLOSE マクロ命令で TYPE=T の指定があると、無視されます。

既存のデータ・セットに RLSE を指定する場合、元の要求に書いてあった 測定の単位と 1 次数量をコーディングしてください。例えば、元の要求が次の ようになっていたとします。
   SPACE=(TRK,(100,50))
次のようにコーディングすれば、データ・セットの検索時に 未使用トラックを解放することができます。
   SPACE=(TRK,(100),RLSE)
データ・セットを削除すること以外に、以下の方法を使用してスペースを解放する ことができます。
  • 管理クラスでの部分解放オプション
  • DFSMShsm スペース管理サイクル
  • 許可プログラムから出された PARTREL マクロ
CONTIG
データ・セットに連続したスペースを割り振るように要求します。このサブパラメーターは、1 次スペース割り振りのみに作用します。

CONTIG を指定しているにもかかわらず連続したスペースが 使用可能でない場合、システムはそのジョブ・ステップを終了します。

MXIG
データ・セットに、(1) ボリューム上の使用可能な連続スペースのうち 最大の区域であり、(2) 1 次数量以上であるスペースを割り振るように 要求します。このサブパラメーターは、1 次スペース割り振りのみに作用します。

注意: IBM® このパラメーターを指定するときには、細心の注意 を払ってください。要求時にフリー・スペースがどの程度あるかにもよりますが 、大量のストレージが割り振られることがあります。IBM では、このパラメーターをコーディングするときは、RLSE パラメーターもコーディングして、未使用スペースを解放することをお勧めします。

ALX
データ・セットに、ボリューム上の使用可能な連続スペースのうち最 大の区域を 5 個まで割り振り、各区域を 1 次数量以上にするよう要求しま す。システムが割り振る区域が 5 個未満になるのは、条件を満たす 5 個の区域を 確保できない場合だけです。ALX は 1 次スペース割り振りのみに作用します。

例えば、910、435、201、102、14、12、および 8 の スペース・エクステント (トラック単位) が使用可能であるものとします。

ジョブが 1 次割り振りとして 14 トラックを要求し、しかも ALX が指定してある と、このジョブは 910、435、201、102、および 14 の 5 個のエクステントを受け 取ります。

ただし、ジョブが 1 次割り振りとして 15 トラックを要求していると、ジョブが 受け取るエクステントは 4 個 (910、435、201、および 102) になります。14 ト ラックのエクステントは 1 次スペース割り振り量よりも少ないので、このジョブ には割り振られません。

注意: IBM このパラメーターを指定するときには、細心の注意 を払ってください。要求時にフリー・スペースがどの程度あるかにもよりますが 、大量のストレージが割り振られることがあります。IBM では、このパラメーターをコーディングするときは、RLSE パラメーターもコーディングして、未使用スペースを解放することをお勧めします。

ROUND
最初のサブパラメーターで平均ブロック長を指定するとき、データ・ セットに割り振られるスペースを整数のシリンダー数と等しくするように要 求します。最初のサブパラメーターで TRK または CYL を指定している場合、シス テムは ROUND を無視します。