IDIALLOC コマンド
IDIALLOC コマンドは、DDname へのデータ・セットの動的割り振りと連結を行うために使用できます。
注: コンマまたはブランク文字で反復値を区切ることはできません。例えば、固定ブロック・レコード・フォーマットを指定するには、RECFM(F B) ではなく、RECFM(FB) を使用してください。
オペランド:
- DD
- データ・セットに関連付けられる DDname。この ddname は常に必須です。
- DSN
- 割り振られるデータ・セットの名前。複数のデータ・セット名を指定すると、最初のデータ・セットよりも後のデータ・セットはすべて既に存在すると見なされ、指定する DDname に連結されます。HFS パス名は許可されません。
- MOD
- データ・セットへの追加が行われます。
- NEW
- データ・セットが作成されます。
- OLD
- データ・セットが存在し、排他制御が必要です。
- SHR
- データ・セットが存在しますが、排他制御は必要ありません。
- CATALOG
- データ・セットがカタログされます。
- DELETE
- データ・セットが解放時に削除されます。
- KEEP
- データ・セットが解放時に保持されます。
- UNCATALOG
- データ・セットがアンカタログされます。
- SPACE
- シリンダー数としての 1 次スペースと増分。
- DIR
- 必須ディレクトリー・ブロックの数。
- RECFM
- レコード・フォーマット:
- A
- ASA プリンター文字
- B
- ブロック化
- D
- 可変長 ASCII レコード
- F
- 固定
- M
- 機械制御文字
- S
- 標準ブロックまたはスパン
- T
- トラック・オーバーフロー
- U
- 未定義
- V
- 可変
- LRECL
- 論理レコード長 (0 から 32760 までの値)。
- LIBRARY
- 拡張区分データ・セット (partitioned data set extended: PDSE) を割り振ります。
- UNIT
- ファイルまたはデータ・セットが割り振られる装置タイプ。
- SYSOUT
- データ・セットがシステム出力データ・セットとなる。クラスはオプションで単一文字として指定できます。
- PGM
- SYSOUT プログラム名。
- DEST
- DEST ノードおよびユーザー ID。
ローカル宛先にはユーザー ID のみを使用できます。
- DUMMY
- ダミー・データ・セットを割り振る。
- FREE
- 割り振り解除の指定:
- CLOSE
- システムに対して、クローズ時にデータ・セットの割り振り解除を要求します。
- END
- システムに対して、データ・セットを参照する最後のステップの終わりでデータ・セットの割り振り解除を要求します。この値はデフォルトです。
以下の構文規則が適用されます。
- DSN は以下のパラメーターとは一緒に使用できません。
- PGM
- DEST
- DEST は PGM パラメーターとは一緒に使用できません。
- SYSOUT は以下のパラメーターとは一緒に使用できません。
- OLD
- MOD
- SHR
- NEW
- 以下のパラメーターを指定する場合は、DSN パラメーターも指定する必要があります。
- SPACE
- DIR
- UNIT
- 以下のパラメーターを指定する場合は、SYSOUT パラメーターも指定する必要があります。
- PGM
- DEST
注: このコマンドの場合、Fault Analyzer はデータ・セット名へのユーザー ID の自動プレフィックス変換を行いません。すべてのデータ・セット名を完全に修飾し、引用符なしで指定する必要があります。
戻りコード
IDIALLOC コマンドでは、以下の戻りコードが使用されます。
- 0
- 割り振りが成功しました。PDS または PDSE のメンバーが割り振られた場合、メンバーが存在し、読み取りのためにオープンできます。
- 1
- 割り振りが成功しました。ただし、読み取り用にオープンできない、PDS または PDSE の非既存メンバーが割り振られました。メンバーを読み取りのためにオープンした場合、システム異常終了 S013 が発生します。
- 4
- 割り振りが失敗しました。エラーの説明が IDITRACE DDname に書き込まれます。データ・セット (指定された最初のデータ・セット名以外) に関連する割り振りエラーまたは連結エラーによって IDIALLOC コマンドが停止することはありません。処理は続行します。
- 8
- コマンド構文エラーです。エラーの説明が IDITRACE DDname に書き込まれます。
例
/* REXX */
/* Allocate an existing data set to DDname DD1 */
"IDIALLOC DD(DD1) DSN(FRED.LISTING) SHR"
if RC = 0 then say 'Success!'
/* Allocate a temporary sequential work data set to DDname DD2 */
"IDIALLOC DD(DD2) DSN(FRED.SEQ) NEW DELETE SPACE(2,3) UNIT(SYSALLDA) ",
"RECFM(FB) LRECL(80)"
/* Allocate a new partitioned data set to DDname DD3 */
"IDIALLOC DD(DD3) DSN(FRED.PDS) NEW CATALOG SPACE(2) UNIT(SYSALLDA) ",
"DIR(5) RECFM(VBA) LRECL(137)"
/* Allocate default JES spool data set to DDname DD4 */
"IDIALLOC DD(DD4) SYSOUT"
/* Allocate internal reader for submission of job to DDname DD5 */
"IDIALLOC DD(DD5) SYSOUT PGM(INTRDR)"
if rc = 0 then do /* Check rdr allocation */
----processing----
end
else "IDIWTO INTRDR FAILED ALLOCATION"
/* Allocate a list of load libraries to the IDIRLOAD DDname */
"IDIALLOC DD(IDIRLOAD) DSN(MY.LOADLIB1 MY.LOADLIB2 MY.LOADLIB3) SHR"
/* Allocate a new PDSE history file data set named MY.HIST */
"IDIALLOC DD(DD6) DSN(MY.HIST) NEW CATALOG LIBRARY,
RECFM(VB) LRECL(10000) SPACE(20,20)"