3.4.8 逆方向参照
ジョブ定義XMLには逆方向参照機能が備わっている。これを利用すると,ジョブ内の先行DD要素にある情報を取得するようシステムに指示できる。
逆方向参照は先行DD要素のTYPE属性が,FILE,DATA,またはTEMPであることが必要である。なお,JSPEC機能適用ジョブステップの場合,先行DD要素のTYPE属性がFILEだけ参照できる。
逆方向参照する場合,参照先のTYPE属性を参照元に引き継ぐ。このため,参照する側のTYPE属性の指定は不要であり,指定しても無視される。ただし,参照する側のTYPE属性のシンタクスチェックは行われる。
なお,参照元のTYPE属性でPRESTを指定した場合,逆方向参照は行われないで,指定されたファイル名を基にPRESTファイルとして使用される。
TYPE属性と逆方向参照可否についての関係を次の表に示す。
参照される側のTYPE属性 |
FILE |
DIR |
GDG |
TEMP |
DATA |
DUMMY |
SYSOUT |
LIB |
TEMP ISAM |
PREST |
TEMP PREST |
---|---|---|---|---|---|---|---|---|---|---|---|
逆方向参照可否 |
○ |
× |
× |
○※ |
○※ |
× |
× |
× |
× |
× |
× |
一時ファイルを逆方向参照する場合,参照元のDISPS属性値によって,正しく参照できないときがある。
参照元のDISP属性の第1パラメータで"NEW",または"RNW"を指定した場合には,逆方向参照とならないで新たにファイルを割り当てる。
参照元のDISP属性指定値と実際に参照されるファイルの関係を次の表に示す。
DISP属性指定値 |
NEW |
RNW |
OLD |
SHR |
MOD |
---|---|---|---|---|---|
参照されるファイル |
新規に作成したファイル |
参照先のファイル |
逆方向参照はDD要素のDSN属性に指定する方法が次に示す3とおりある。
-
<DD NAME="DD名" DSN="*.参照するDD名" />
同一ジョブステップ中で定義されているDD要素を参照する場合,この形式を使用する。
-
<DD NAME="DD名" DSN="*. ステップ名.参照するDD名" />
ステップ名で指定された先行ジョブステップ中で定義されているDD要素を参照する場合,この形式を使用する。
プロシジャ内でこの形式を指定した場合,ジョブコントローラは次の順序でDD要素を検索する。
- AIXの場合
-
・設定ファイルのEXEC_COND_STEPSEARCHパラメータの値にCOMPATIV3を指定した場合
該当するプロシジャ内でDD要素を参照するジョブステップ名を検索する。見つからない場合は,ジョブ定義XMLファイルの先頭からDD要素を参照するプロシジャ外のジョブステップ名を検索する。
・設定ファイルのEXEC_COND_STEPSEARCHパラメータの値にBJEXを指定した場合
ジョブ定義XMLファイルの先頭からDD要素を参照するプロシジャ外のジョブステップ名を検索する。
- Linuxの場合
-
該当するプロシジャ内でDD要素を参照するジョブステップ名を検索し,見つからない場合はジョブ定義XMLファイルの先頭から,DD要素を参照するプロシジャ外のジョブステップ名を検索する。
-
<DD NAME="DD名" DSN="*.ステップ名.プロシジャステップ名.参照するDD名" />
ステップ名で指定された先行ジョブステップで呼び出されるカタログドプロシジャ,または入力ストリームプロシジャのプロシジャステップ中で定義されたDD要素を参照する場合,この形式を使用する。
- 使用例
-
同一ジョブステップおよび先行するジョブステップで指定されたDSN属性値を,逆方向参照で複写する例を次に示す。
- 注意事項
-
-
「DSN="*.参照するDD名"」によって同一ジョブステップ内のDD要素を検索する場合は,必ず逆方向参照を行うDD要素より前に定義されているDD要素を指定すること。
-
参照先のDD要素を持つジョブステップが,COND属性やIF要素により実行されなかった場合,参照したファイルが作成されていないことが考えられる。このようなとき,参照元のジョブステップ時実行時にエラーとなることがある。例を次に示す。
-
一時ファイルを後続ステップから逆方向参照する場合,ステップ終了時に一時ファイルが削除されないよう,参照先のDD要素では,DISP=(,PASS)を指定する必要がある。
-
TYPE=DATA指定のファイルは,一時ファイルのためジョブステップ終了時に削除しているが,後続DD要素で逆方向参照されている場合には,ジョブ終了時に削除される。逆方向参照されていないものについては,従来どおりジョブステップ終了時に削除される。
-