ページの先頭行へ戻る
Interstage Job Workload Server V9.3.0 バッチ開発ガイド
Interstage

2.4.6 ファイルの世代管理機能

バッチジョブが実行時に作成するファイル資源のバックアップを保存し、ファイルの世代を管理します。世代の管理を行うファイルを“世代ファイル”と呼びます。

世代ファイル名

世代管理を行うファイルの総称を“世代ファイル名”と呼びます。
世代ファイル名は、実際のファイル名ではなく、ファイルの世代管理機能を使用する場合に使用する仮想的なファイル名です。


世代ファイル名の長さは“255-(インストールディレクトリ名の長さ+60)”以下になるように設定してください。

世代ファイル名と実際のファイル名の関係

ファイルの世代管理機能は、バッチジョブが新規に作成するファイルに対して世代ファイル内で一意の番号(“絶対世代番号”と呼びます)を割り振って各世代のファイルを管理します。


世代ファイル名“fileA”の最新世代の絶対世代番号が“2”の場合、実際のファイル名は以下の名前になります。

fileA.G0002 … 最新世代
fileA.G0001 … 1世代前
fileA.G0000 … 2世代前

2.4.6.1 ファイルの世代管理機能の使用方法

ファイルの世代管理機能の使用方法について概要を説明します。

世代ファイルの設計

世代ファイルを使用した運用を考慮して、世代ファイル情報の設計を行います。


世代ファイルの設計については、“Interstage Job Workload Server セットアップガイド“の“世代ファイルの設計”を参照してください。

世代ファイルの登録

世代ファイルを使用するには、バッチ実行基盤のセットアップで、世代ファイルの属性情報(“世代ファイル情報”と呼びます)を登録する必要があります。


世代ファイル情報の登録については、“Interstage Job Workload Server セットアップガイド”の“世代ファイル情報の登録”を参照してください。

世代ファイルの使用

ジョブで使用するには、バッチジョブ定義の資源定義に、世代ファイル名と、アクセスしたい世代(“世代番号”と呼びます)を指定します。
バッチアプリケーションは、資源名を指定して、任意の世代のファイルへアクセスすることができます。


ファイルの世代管理機能で世代を管理できるファイルは非一時ファイルだけです。一時ファイルの世代を管理することはできません。

2.4.6.2 世代番号

バッチジョブ定義の資源定義で世代ファイルを指定する場合に、世代番号は以下のどちらかを指定します。それぞれの詳細を説明します。

相対世代番号

最新の世代を基点に、相対的な順序を指定する世代番号です。
相対世代番号は、ジョブステップ単位にカウントします。このため、ジョブステップの開始時点で最新の世代が“0”になります。

絶対世代番号

ファイルの世代管理機能が世代ファイル内で一意に割振る番号で、世代ファイルの実際のファイル名に付与されます。
過去に作成した世代ファイルを明示的に指定する場合に使用します。
絶対世代番号で指定することによって、確実に使用対象のファイルを指定することが可能です。


相対世代番号および絶対世代番号の指定と実際のファイル名は、以下の対応関係になります。

世代ファイル名が“fileA”で、最新世代の実際のファイル名が“fileA.G0002”の場合

世代

相対世代
番号

絶対世代
番号

説明

実際のファイル名

作成済みの世代

-2

0

2世代前の作成済みファイル

fileA.G0000

-1

1

1世代前の作成済みファイル

fileA.G0001

0

2

最新世代の作成済みファイル

fileA.G0002

新しい世代

+1

指定不可

新しく作成する1世代目のファイル

fileA.G0003

+2

指定不可

同じジョブステップで作成する2世代目のファイル

fileA.G0004

2.4.6.3 世代ファイルの作成

世代ファイルを作成する方法には以下があります。

新規に世代を作成する

ジョブステップで新規に世代を作成する場合は、以下を資源定義に指定します。

過去に作成した世代のファイルを作成し直す

過去に作成した世代のファイルを作成し直す場合は、以下のどちらかを資源定義に指定します。


既存の世代ファイルの更新は、資源定義の[ファイルがすでに存在する場合はそのまま使用する]または[既存ファイルを更新する]と、[世代番号]の[相対世代番号]または[絶対世代番号]を指定して行ってください。

2世代以上世代を作成する

1つのジョブステップ内で1つの世代ファイルに対して新規に複数の世代(N世代)を作成する場合は、世代を作成する順に以下を指定します。

世代ファイルの確定

ファイルの世代管理機能は、新規に世代を作成するジョブステップの終了時に世代を登録し、ジョブステップ単位で世代ファイルの世代番号を確定します。
世代番号(新規の世代ファイル)は、以下の条件で確定します。

2.4.6.4 世代ファイルの参照

世代ファイルを参照する方法には以下があります。

最新世代を参照する

最新世代のファイルを作成する場合は、以下のどちらかを資源定義で指定します。

過去に作成した世代のファイルを参照する

過去に作成した世代のファイルを作成し直す場合は、以下のどちらかを資源定義で指定します。


資源定義の[世代番号]に、管理対象外の世代を指定した場合や、相対世代番号の値を、最大世代数を超えて指定した場合は、ジョブ実行時にジョブステップ開始の時点でエラーになります。


資源定義の[資源の作成・使用方法]には、[既存のファイルを参照する]を指定してください。

2.4.6.5 世代ファイルとその他のファイル管理機能について

世代ファイルとその他のファイル管理機能との関係を説明します。

世代ファイルのファイル排他

世代ファイルを使用する場合、各世代の実際のファイル単位ではなく、世代ファイル単位(ディレクトリ名+世代ファイル名)に対してファイルの排他制御を行います。
排他の獲得と解除は、非世代ファイルと同じ契機です。排他の解除はジョブが使用する世代ファイルのバッチジョブ定義の[資源の後処理]の指定に基づいて行います。



世代ファイル名と同一名の非世代ファイルは指定できません。世代ファイル名と同一名の非世代ファイルを指定した場合、ジョブ実行時にエラーになります。

世代ファイルのファイル割当て

通常のファイルと同様に、資源定義の指定に基づいて各世代のファイル単位に行います。

世代ファイルの事前容量チェック

通常のファイルと同様に、資源定義の指定に基づいて各世代のファイル単位に事前容量チェックを行います。

ファイルパスの論理化機能

コマンドで論理ディレクトリ名を使用して世代ファイルを指定する場合、コマンド実行時に有効となっている論理ディレクトリ定義に基づいて世代ファイルのディレクトリを置き換えます。


btfwaddgenfileinfコマンドで論理ディレクトリ名を使用して世代ファイルを登録した場合、世代ファイルのディレクトリは、コマンド実行時に有効となっている論理ディレクトリ定義に基づいて決定します。


btfwaddgenfileinfコマンドで論理ディレクトリ名を使用して世代ファイルを登録した後に論理ディレクトリ定義を更新して、世代ファイル登録時に使用した論理ディレクトリ名に関する情報を変更した場合は、ジョブ実行時にファイルが存在しないエラーになる場合があります。