IDIALLOC コマンド

IDIALLOC コマンドは、DDname へのデータ・セットの動的割り振りと連結を行うために使用できます。

1. Syntax

1 IDIALLOC  DD ( ddname )?  DSN ( + , dsname )
1 MOD
1 NEW
1 OLD
1 SHR
1 CATALOG
1 DELETE
1 KEEP
1 UNCATALOG
3?  SPACE ( primary_cyls? ,secondary_cyls )
3?  DIR ( directory_blocks )
3?  RECFM (
4.1+ 
4.1 A
4.1 B
4.1 D
4.1 F
4.1 M
4.1 S
4.1 T
4.1 U
4.1 V
3 )
3?  LRECL ( logical_record_length )
3 ?LIBRARY
3?  UNIT ( unit_specification )
3?  SYSOUT? (sysout_class)
3?  PGM ( sysout_program_name )
3?  DEST ( node.userid )
3 ?DUMMY
3?  FREE (
4.1! END
4.1 CLOSE
3 )
注: コンマまたはブランク文字で反復値を区切ることはできません。例えば、固定ブロック・レコード・フォーマットを指定するには、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 に書き込まれます。

2. IDIALLOC コマンド例
/* 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)"