3.4.4 一時ファイル
一時ファイルとはジョブ内で作成され,削除される暫定的なファイルである。ほかのジョブとの間で共用されることはない。このため,システム内で唯一になるように,システムによってユニークな名称が付けられる。なお,この項で説明する一時ファイルは,DD要素のTYPE属性でTEMPを指定した場合のファイルである。
(1) 一時ファイルの指定方法
一時ファイルを作成する場合,DD要素のTYPE属性でTEMPを指定する。DSN属性の指定は任意である。また,一時ファイルはDISP属性値に関係なくジョブ終了時に削除される。
-
DD名がSYSUT2のファイルを,一時ファイルとして使用する例
<DD NAME="SYSUT2" TYPE="TEMP" DISP="NEW,DELETE" />
(2) 一時ファイルを作成するディレクトリ
一時ファイルを作成するディレクトリは,設定ファイルのTEMP_FILE_DIR_XML_USEパラメータの指定によって,次のとおりとなる。
(a) TEMP_FILE_DIR_XML_USEパラメータにYESを指定した場合
ジョブ定義XMLファイルのDD要素のDSN属性値に,絶対パス形式でディレクトリ名を指定していた場合,指定値の最後の"/"までを一時ファイル作成ディレクトリとする。また,DSN属性値の最後の"/"より後ろを一時ファイル識別名とする。
-
ジョブ定義XMLファイルのDD要素の指定例
<DD NAME="DD1" TYPE="TEMP" DSN="/home/user/tmp/worktmp" DISP="NEW" />
-
作成する一時ファイル作成ディレクトリと一時ファイル名
/home/user/tmp/TEMP_ジョブ識別子_ジョブ名_worktmp_ユニークな名称
なお,DSN属性に相対パスを指定した場合およびDSN属性の指定がない場合は,設定ファイルのTEMP_FILE_DIRパラメータで指定したディレクトリに作成する。
(b) TEMP_FILE_DIR_XML_USEパラメータを省略またはNOを指定した場合
ジョブ定義XMLファイルのDD要素のDSN属性で指定したディレクトリ名は無視され,設定ファイルのTEMP_FILE_DIRパラメータで指定したディレクトリに作成する。
(3) 一時ファイルを利用する場合の注意事項
-
ファイル名は,システム内で唯一になるようにユニークな名称が付けられる。DD要素でのDSN属性の指定の有無によって,次に示すファイル名が作成される。
-
DSN属性で一時ファイル識別名を指定した場合
TEMP_ジョブ識別子_ジョブ名_一時ファイル識別名_ユニークな名称
-
DSN属性を指定しない場合
TEMP_ジョブ識別子_ジョブ名_ユニークな名称
-
-
設定ファイルのTEMP_FILE_DIR_XML_USEパラメータでYESを指定した場合,DSN属性値はディレクトリ名として扱うため,ディレクトリ名として指定できない文字や,存在しないディレクトリ名を指定しないこと。指定したときは,ジョブステップ実行開始時のファイル割り当て処理でエラーとなる。
-
DSN属性値には,"/"以外のファイル名として指定できない文字は含めないこと。"/"は記述できるが,最後の"/"より後ろの文字列を一時ファイル識別名と見なす。最後の"/"より後ろの文字列にファイル名として使用できない文字が含まれている場合,ジョブステップ実行開始時のファイル割り当て処理でエラーとなる。
-
生成されるファイル名の長さが,プラットフォームで決められた最大長を超えないこと。超えた場合,ジョブ定義XMLファイルの解析時にはエラーとならないで,ジョブステップ実行開始時のファイル割り当て処理でエラーとなる。生成されるファイル名の長さは,DSN属性値の長さと,JOB要素のNAME属性値の長さによって変わる。
-
DD要素のDISP属性値を指定しない場合,一時ファイルを定義したジョブステップで新たにファイルを作成し,削除する(DISP属性の第1パラメータはNEW,第2・第3パラメータはDELETE)と見なされる。
-
同じ一時ファイルを複数のジョブステップで使用する場合は,DISP属性の第2パラメータにPASSを指定する。
-
DD要素のDISP属性の第1パラメータでRNWを指定した場合,NEWが仮定される。
-
DD要素のDISP属性の第1パラメータでNEWまたはRNWを指定した場合,同一ファイル名を指定したときは,ユニークな名称を付けて別ファイルを作成する。
-
DD要素のDISP属性の第1パラメータでOLDまたはSHRを指定して割り当てできる一時ファイルは,先行ジョブステップでDD要素のDISP属性の第2パラメータにPASSを指定した一時ファイルだけである。
-
DD要素のDISP属性の第1パラメータでMODを指定した場合,先行ジョブステップでDD要素のDISP属性の第2パラメータにPASSを指定した一時ファイルがあればその一時ファイルを割り当てるが,一時ファイルがない場合は設定ファイルのDISPMOD_NOFILEパラメータの指定に従う。
-
DD要素のDISP属性の第2パラメータでKEEPを指定した場合,PASSが仮定される。
-
DISP属性の第2パラメータにPASSを指定した場合のジョブステップ間での一時ファイルの受け渡しについては,「3.4.2(2)(c) PASSパラメータ」の説明および例も参照すること。