3.9.6 世代ファイルの世代管理ファイルへの登録タイミング変更機能
世代ファイルを割り当てるジョブで,世代ファイルを作成するジョブステップは正常に実行できたが,後続のジョブステップで異常終了した場合でも,世代ファイルを新規に生成した世代データ群の世代管理情報は更新される(ユーザ指定に従った処理動作を行う)。この機能では,世代管理情報の更新タイミングを世代ファイルを生成したジョブステップ単位ではなくジョブ終了時に変更し,ジョブの終了状態(ジョブ終了時に設定されている戻り値)によって,世代管理情報の更新を行うかどうかを判定し,登録の要否を決定する機能である。
- 〈この項の構成〉
(1) 設定方法
この機能を使用する場合は,バッチジョブ実行システムの設定ファイルにGDG_REGISTER_JOBRC_THRESHOLDパラメータを設定すること。
(2) 世代ファイルの世代管理ファイルへの登録タイミング
世代ファイルの世代管理ファイルへの登録タイミングについて説明する。
(a) 通常の世代更新タイミングの場合
世代ファイルを生成するジョブステップが正常に実行された場合,生成した世代ファイルの登録はDD要素のDISP属性の指定値に従い行われる。そのため,後続のジョブステップでの異常有無に関係なく,更新された世代管理ファイルの状態はジョブ実行前の状態には戻らない。
世代ファイルの世代管理ファイルへの登録タイミング変更機能を使用しない場合の世代ファイルの世代管理ファイルへの登録タイミング(通常の世代更新タイミング)を次の図に示す。
(b) ジョブ終了コードが異常終了と認識された場合
世代ファイルを生成するジョブステップでは,ジョブステップ終了時に世代管理ファイルの更新は行わない。ジョブ終了時に更新の要否を判定し,更新不可(ジョブは異常終了と認識された場合,世代管理ファイルの状態はジョブ開始時点の状態を保持する)と判定した場合,世代管理ファイルの更新は行わないで,生成した世代ファイルを削除(DELETE)する。
世代ファイルの世代管理ファイルへの登録タイミング(ジョブ終了コードが異常終了と認識された場合)を次の図に示す。
(c) ジョブ終了コードが正常終了と認識された場合
世代ファイルを生成するジョブステップでは,ジョブステップ終了時に世代管理ファイルの更新は行わない。ジョブ終了時に更新の要否を判定し,更新可能(ジョブは正常終了と認識された場合,世代管理ファイルの状態は最新世代ファイルの情報を更新した状態となる)と判定した場合,世代管理ファイルの更新を行い,生成した世代ファイルは保持(KEEP)される。
世代ファイルの世代管理ファイルへの登録タイミング(ジョブ終了コードが正常終了と認識された場合)を次の図に示す。
(3) 注意事項
-
新規に生成する世代ファイルをDISP="NEW,KEEP"で保持する指定の場合,世代管理ファイルの更新をジョブ終了時に延期する機能であるため,DISP="NEW,DELETE"のように削除指定を行っているときは,この機能の適用の有無に関係なく,ジョブステップ終了時に世代ファイルは削除される。
-
ジョブの正常/異常終了はGDG_REGISTER_JOBRC_THRESHOLDパラメータに指定したしきい値によって判定する。そのため,ジョブの終了コードが0以外であっても正常終了と見なされる場合がある。
-
この機能を使用した場合,ジョブの実行が完了するまでは,世代管理情報が確定しない。そのため,後続のジョブステップでは,先行ジョブステップで新規に作成した世代ファイルを含めた世代データ群名指定による世代ファイルの参照はしないこと。世代データ群名指定については,「3.9.3(3) 世代ファイルの参照(世代データ群名指定)」を参照のこと。
-
この機能を使用した場合,ジョブの実行が完了して世代管理情報が確定するまでは,世代ファイルは一時ファイルと同じ扱いとなる。そのため,ジョブステップのUAPの異常終了などによってジョブが終了した場合,該当するジョブでそれまでに作成された世代ファイルはすべて削除される。