(57)【要約】【課題】本システムの導入時における既存のオペレーティングシステムの仕様変更負担を軽減することを可能にして、システム運用に自由度を持たせることができるバッチ処理の障害復旧方法及びシステムを提供すること。【解決手段】リランスケジュール処理部は、異常終了したジョブの再実行に必要なリカバリ処理（ジョブ）と、リランポイントからの再実行ジョブとを、リランＴＢＬ１０５に組み込む。ファイルの更新処理等を行うロールバック処理が有る場合は、この処理をリランＴＢＬ１０５の先頭に組み込む。【選択図】図１
2008217367.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムにおいてバッチ処理の障害復旧を行うシステムであって、
ジョブの実行結果情報を取得して実行結果ファイルに記録する実行結果取得手段と、
前記実行結果情報のうち異常終了となっているジョブの実行結果情報を取得して異常終了結果ファイルに記録する異常終了結果取得手段と、
前記異常終了となっているジョブの再実行ポイントからのジョブ制御情報を、再実行処理用のジョブ制御情報として、再実行処理ファイルに記録するスケジューリング手段と、
前記異常終了となっているジョブについて、前記再実行処理ファイルに記録されたジョブ制御情報に基づいて再実行処理用のジョブを実行させる再実行指示手段と、
を備えたことを特徴とするバッチ処理の障害復旧システム。
【請求項２】
前記再実行処理用のジョブ制御情報に対応するジョブの実行時間の総和を求めると共に、前記総和が予め設定された処理の期限を超過する場合は、前記再実行用のジョブを実行させないように制御する手段をさらに備えたことを特徴とする請求項１記載のバッチ処理の障害復旧システム。
【請求項３】
前記再実行処理用のジョブ制御情報で示されるジョブに先立って実行されるべき、前記異常終了ジョブに対応するリカバリジョブのジョブ制御情報を、予めエラー情報が記録されたエラー情報用のファイルを検索して抽出すると共に、前記リラン処理用のファイルに組み込むリカバリ処理手段をさらに備えたことを特徴とする請求項１または請求項２記載のバッチ処理の障害復旧システム。
【請求項４】
ジョブの実行結果情報を取得する手段と、異常終了したジョブの再実行ポイントに関するジョブ制御情報を取得する手段と、実行結果情報及びジョブ制御情報を記憶する手段と、ジョブ制御情報に基づいてジョブの再実行を制御する手段とを有するコンピュータシステムにおいてバッチ処理の障害復旧を行う方法であって、
ジョブの実行結果情報を取得し、
前記実行結果情報から異常終了したジョブを検出し、当該異常終了ジョブのジョブ制御情報を取得し、
前記ジョブ制御情報に基づいて、当該異常終了ジョブを再実行させることを特徴とするバッチ処理の障害復旧方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータシステムにおけるバッチ処理の障害復旧方法及び障害復旧システムに係り、特に、監視作業が手薄な夜間処理等におけるバッチ処理の障害復旧方法及び障害復旧システムに関する。
【背景技術】
【０００２】
従来、バッチ処理の障害復旧方式は、大量のデータを一括処理するバッチ処理時の障害復旧方式として用いられているが、バッチ処理時の障害復旧処理は、リアルタイム処理時の障害復旧処理に比べて、復旧に緊急性を要求されるものではないが、一般にバッチ処理では大量のデータが処理されるので、障害が生じた時に、最初からやり直しをすると、再処理のための多大の時間が必要となり、よって、従来から、再処理の範囲を適当な範囲に収めることができるバックアップ処理手段を備えた障害復旧処理機能が不可欠の機能として使用されている。
【０００３】
そこで、この分野の技術として、バッチ処理の障害復旧処理に必要な障害復旧時間を短縮することを意図し、複数のデータベースの各々に対応したデータベース更新アプリケーションを備えてバッチ処理のデータ更新単位をこのデータベース単位とすると共に、さらに、バッチ状態制御ファイルを参照してデータベース更新アプリケーションを起動し、その処理結果を受け取ってバッチ状態制御ファイルを更新するバッチ処理監視部を備えて、データベース更新アプリケーションが異常終了を通知した時にバッチ処理監視部がバッチ処理を停止し、さらに、ジョブ状態設定部において処理再開の設定が有る場合は、バッチ処理監視部はバッチ状態制御ファイルを参照して異常終了したデータベース更新アプリケーションによる処理から再処理を開始する技術が開示されている（例えば、特許文献１参照）。
【０００４】
また、リカバリスタート機能を備えたバッチ処理システムとして、業務データベースに対するバッチジョブの中途終了後の再開始を、中途終了前後で処理の連続性を確保して容易に実行することができることを意図し、アプリケーションプログラムにより、業務データベースＤＢ、入力ファイルＦＩ、及び出力ファイルＦＯに対するバッチジョブの進行状態を、データベースとして構成されたチェックポイントテーブルに記載されたチェックポイント毎に監視して記録すると共に、この業務データベースとチェックポイントテーブルによる監視処理とが同時に同期処理するように構成し、中途終了後の再開始時には、このチェックポイントテーブルに記録されているジョブ進行管理情報に基づいてジョブを開始する技術が開示されている（例えば、特許文献２参照）。
【特許文献１】特開平１０−４９４１７号公報
【特許文献２】特開２００３−８５０２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記背景技術で述べた従来のバッチ処理の障害復旧方式にあっては、システム構成やアプリケーションプログラムと独立した方式ではなく、よって、システム構成やアプリケーションプログラムの種類毎に専用の障害復旧プログラムを使用しなければならないという問題点が有った。
【０００６】
例えば、前述の特許文献１では、複数のデータベース毎に専用の更新アプリケーションを備えると共に、バッチ処理監視部において、これらのデータベースの更新状況を一括監視することにより、再処理時の負担を低減させているが、バッチ処理の障害復旧を専用の更新アプリケーションを備えることで対応しているため、開発手法として位置付けられる技術ではあっても、実存する既成のシステムの運用に適用することは困難であるし、適用するとしても、その際には既成の更新アプリケーションとの組替えが必要になる。
【０００７】
また、前述の特許文献２では、アプリケーションプログラムの実行状況を各サブプログラムで取得してデータベース化してリカバリ・リスタートを実現することを意図するものであるが、この技術も、専用のアプリケーションプログラムに依存しているため、既存のオペレーティングシステムを備えたシステムの運用に適用することが困難である。
【０００８】
本発明は、上記従来の問題点に鑑みてなされたものであって、本システムの導入時における既存のオペレーティングシステムの仕様変更負担を軽減することを可能にして、システム運用に自由度を持たせることができるバッチ処理の障害復旧方法及びシステムを提供することを目的としている。
本発明の他の目的は、処理期限を設定させ、この処理期限までに処理が終了しない場合には処理を停止させることで、処理期限が優先される事務作業にも適用可能なバッチ処理の障害復旧方法及びシステムを提供することにある。
本発明の他の目的は、再発防止対策を本システム用のリカバリ処理として採り入れ、次回の処理からは、同じ障害に対しては当該リカバリ処理を実行できるようにすることで、成長しながら安定稼動していくことができるバッチ処理の障害復旧方法及びシステムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明は、コンピュータシステムにおいてバッチ処理の障害復旧を行うシステムであって、ジョブの実行結果情報を取得して実行結果ファイルに記録する実行結果取得手段と、前記実行結果情報のうち異常終了となっているジョブの実行結果情報を取得して異常終了結果ファイルに記録する異常終了結果取得手段と、前記異常終了となっているジョブの再実行ポイントからのジョブ制御情報を、再実行処理用のジョブ制御情報として、再実行処理ファイルに記録するスケジューリング手段と、前記異常終了となっているジョブについて、前記再実行処理ファイルに記録されたジョブ制御情報に基づいて再実行処理用のジョブを実行させる再実行指示手段と、を備えたことを特徴とするバッチ処理の障害復旧システムを提供するものである。
このように構成することにより、本システムの導入時における既存のオペレーティングシステムの仕様変更負担を軽減することを可能にして、システム運用に自由度を持たせることができるバッチ処理の障害復旧を実現している。
【００１０】
また、本発明のバッチ処理の障害復旧システムは、前記再実行処理用のジョブ制御情報に対応するジョブの実行時間の総和を求めると共に、前記総和が予め設定された処理の期限を超過する場合は、前記再実行用のジョブを実行させないように制御する手段をさらに備えることを特徴とする。
このように構成することにより、処理期限を考慮して期限までに処理が終了しない場合には障害復旧処理が停止されるので、処理期限が優先される事務作業にも適用可能なバッチ処理の障害復旧を実現している。
また、本発明のバッチ処理の障害復旧システムは、前記再実行処理用のジョブ制御情報で示されるジョブに先立って実行されるべき、前記異常終了ジョブに対応するリカバリジョブのジョブ制御情報を、予めエラー情報が記録されたエラー情報用のファイルを検索して抽出すると共に、前記リラン処理用のファイルに組み込むリカバリ処理手段をさらに備えることを特徴とする。
このように構成することにより、再発防止対策を本システム用のリカバリ処理として採り入れ、次回の処理からは、同じ障害に対しては当該リカバリ処理を実行できるようにすることで、成長しながら安定稼動していくことができるバッチ処理の障害復旧を実現している。
【００１１】
本発明は、また、ジョブの実行結果情報を取得する手段と、異常終了したジョブの再実行ポイントに関するジョブ制御情報を取得する手段と、実行結果情報及びジョブ制御情報を記憶する手段と、ジョブ制御情報に基づいてジョブの再実行を制御する手段とを有するコンピュータシステムにおいてバッチ処理の障害復旧を行う方法であって、（１）ジョブの実行結果情報を取得し、（２）前記実行結果情報から異常終了したジョブを検出し、当該異常終了ジョブのジョブ制御情報を取得し、（３）前記ジョブ制御情報に基づいて、当該異常終了ジョブを再実行させることを特徴とするバッチ処理の障害復旧方法を提供するものである。
【発明の効果】
【００１２】
以上説明したように、本発明のバッチ処理の障害復旧方式によれば、本システムの導入時における既存のオペレーティングシステムの仕様変更負担を軽減することが可能となり、システム運用に自由度を持たせることができるバッチ処理の障害復旧方式を提供することができる。
また、処理期限を考慮して期限までに処理が終了しない場合には障害復旧処理が停止されるので、処理期限が優先される事務作業にも適用可能なバッチ処理の障害復旧方式を提供することができる。
さらに、再発防止対策を本システム用のリカバリ処理として採り入れ、次回の処理からは、同じ障害に対しては当該リカバリ処理を実行できるようにするので、成長しながら安定稼動していくことができるバッチ処理の障害復旧方式を提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明のバッチ処理の障害復旧方法及び障害復旧システムの最良の実施形態について、図面を参照して詳細に説明する。
図１は、本発明の実施形態に係るバッチ処理の障害復旧方法で障害復旧が実行されるコンピュータシステムの全体構成を示す構成図である。
以下の説明では、本障害復旧方法で作成されたり参照されたりするテーブルを「ＴＢＬ」と略称するが、このテーブルの実体は、直接アクセスが可能な直接編成ファイルである。
【００１４】
同図において、本実施形態のバッチ処理の障害復旧方法で障害復旧が実行されるコンピュータシステムは、データベースとして、ジョブ管理ＴＢＬを格納するデータベース１０１と、処理結果を記録したＴＢＬ（実行結果用のファイル）を格納するデータベース１０２と、ロールバック処理に必要な情報を記録するロールバック処理ＴＢＬを格納するデータベース１０３と、異常終了を記録したＴＢＬ（異常終了結果用のファイル）を格納するデータベース１０４と、ロールバック処理、リカバリ処理、及び再実行すべき処理をスケジュールしたリランＴＢＬ（再実行処理用のファイル）を格納するデータベース１０５と、リカバリを要するエラージョブに対応するリカバリ処理を検索するためのエラーＴＢＬ（エラー情報用のファイル）を格納するデータベース１０６と、を備える。
【００１５】
さらに、本実施形態のバッチ処理の障害復旧方法を採用するコンピュータシステムは、処理系として、処理結果を記録したＴＢＬを作成する処理結果ＴＢＬ作成処理部２０１（実行結果取得手段）と、異常終了を記録したＴＢＬを作成する異常終了ＬＯＧＴＢＬ作成処理部２０２（異常終了結果取得手段）と、リランのスケジュールを作成するリランスケジュール処理部２０３（スケジューリング手段）と、処理時間をチェックする処理時間チェック処理部２０４と、リカバリ処理を行うリカバリ処理部２０５と、ＯＳ（オペレーティングシステム）のジョブ管理手段で参照されるパラメータを作成するパラメータ作成処理部２０６（再実行指示手段）と、を備える。
この他に、通常処理時のジョブスケジュールシステムと、ジョブスケジュールを記録したファイルを格納するデータベースを備える。
【００１６】
以下、本実施形態のバッチ処理の障害復旧方法を実現するためのコンピュータシステムについて各構成要素毎に説明する。
但し、以下の説明では、データベースｉに格納されたテーブル名「Ｔ」のＴＢＬの符号は、このＴＢＬが格納されているデータベースと同じ符号を付与するものとし、即ち、「Ｔｉ」と略称する。
また、ジョブとジョブステップとは区別せず、どちらも「ジョブ」と称している。
【００１７】
本実施形態のバッチ処理の障害復旧方法を採用するコンピュータシステムは、同一サーバ内に通常処理時のジョブスケジュールシステムを備え、処理が終了する毎に実行結果３０１をファイル出力する。
このジョブスケジュールシステムの存在は、本発明に限ったものではなく、従来から、ＯＳのジョブ管理手段における必須要素として使用されているものである。
【００１８】
一般に、このジョブスケジュールシステムによる実行結果３０１のファイル出力は、前記ジョブスケジュールシステムに依存するものである。
本発明に係るバッチ処理の障害復旧方法の特徴的な処理は、このジョブスケジュールシステムや、そのファイル出力の変更箇所を極力少なくして、バッチ処理の障害復旧を可能にすることにある。
【００１９】
処理結果ＴＢＬ作成処理部２０１は、実行結果３０１を記録したファイルをデータベース１０１に累積する。
前述のジョブスケジュールシステムで異常終了が検知された処理結果は、処理結果ＴＢＬ１０２に格納されている該当する処理結果のジョブステータス（即ち、「ＪＯＢステータス」項目の内容）がエラーとしてセットされている。
【００２０】
異常終了ＬＯＧＴＢＬ作成処理部２０２は、処理結果ＴＢＬ１０２に格納されている処理結果でジョブステータスがエラーとして格納されているものを検出した時、該当する処理結果を、異常終了を記録した異常終了記録ＴＢＬ１０４に記録する。
【００２１】
リランスケジュール処理部２０３は、データベース１０１に格納されたジョブ管理ＴＢＬ１０１からリランポイント（再実行ポイント）を導き出すと共に、ジョブ管理ＴＢＬ１０１と、ロールバック処理ＴＢＬ１０３とに基づいてリランスケジュールを編集し、この編集結果をリランＴＢＬ１０５に記録する。
ちなみに、従来の障害復旧方式であるならば、必要なリカバリ処理の実行後、ＯＳのジョブ管理部に対して、前記のリランポイントを指示し、このリランポイントから再実行させるように構成されるであろう。しかし、それでは、ＯＳのジョブ管理部等に対する構成等の変更負担が大きくなり過ぎる。そこで、本発明では、再実行すべきジョブ（またはジョブステップ）を、そっくりリランＴＬＢ１０５に取り込み、これをあたかも通常のジョブスケジュールによる実行ジョブスタックとしてＯＳのジョブ管理部に引き渡すものである。
【００２２】
処理時間チェック処理部２０４では、リランＴＢＬ１０５と、ジョブ管理ＴＢＬ１０１とから処理の実行時間を集計し、この集計結果をジョブ管理ＴＢＬ１０１に指定されている期限設定と比較し、当該集計結果が当該期限設定を超える場合は処理を中止する。
【００２３】
リカバリ処理部２０５は、異常終了ＬＯＧＴＢＬ１０４を、エラーＴＢＬ１０６を参照して変換し、ジョブ管理ＴＢＬ１０１から該当するリカバリ処理を抽出することにより、リカバリ処理をスケジュールする。よって、ジョブ管理ＴＢＬ１０１には、予め、リカバリを要するエラー（異常終了処理）に対応するリカバリ処理が記録されているものとする。
【００２４】
本実施形態では、このように、異常終了処理に対応するリカバリ処理の検索をエラーＴＢＬ１０６を参照することで行うので、異常終了処理に対応するリカバリ処理の登録が無い異常終了処理が生じて、この異常終了処理に対するリカバリ対策が講じられた場合、このリカバリ対策と等価なリカバリ処理を作成し、このリカバリ処理でリカバリされる異常終了処理との対応をエラーＴＢＬ１０６に新たに登録することで、次回からは、この異常終了処理に対するリカバリ対策がリカバリ処理として自動的に行われる。即ち、本発明のバッチ処理の障害復旧方法は、異常終了処理に対するリカバリ対策の学習が容易となる効果を有する。
【００２５】
なお、この実施形態におけるリカバリ処理とは、ジョブの異常終了が発生した時に、リランポイントからの処理の再実行に先立って行われるべき処理である。このリカバリ処理は、発生した異常の種類に対応しており、この実施形態では、ファイル等の障害原因を除去する処理等が該当する処理である。
【００２６】
パラメータ作成処理部２０６は、再実行指示３０２を作成し、この再実行指示３０２を既存のジョブスケジュールシステムに引き渡して再実行処理を実行させる。
【００２７】
図２は、本実施形態のバッチ処理の障害復旧方法を実行するコンピュータシステムの全体動作を示すフローチャート図である。
以下、図１を参照しながら、本実施形態のバッチ処理の障害復旧方法を採用するコンピュータシステムの全体動作を、図２に示すフローチャート図を用いて説明する。
【００２８】
まず、処理結果ＴＢＬ作成処理部２０１は、処理結果ＴＢＬ作成サブルーチン（図３参照）を実行して、処理結果ＴＢＬ１０２を作成する（ステップＳ０１）。
次に、異常終了ＬＯＧＴＢＬ作成処理部２０２が、処理結果ＴＢＬ１０２のジョブステータスを検証し、処理結果ＴＢＬ１０２のジョブステータスが正常であれば処理続行してフローを抜け、処理結果ＴＢＬ１０２のジョブステータスが正常でなけれはステップＳ０３に移る（ステップＳ０２）。
【００２９】
ステップＳ０３では、異常終了ＬＯＧＴＢＬ作成処理部２０２は、異常終了ＬＯＧＴＢＬ作成サブルーチン（図４参照）を実行して、異常終了ＬＯＧＴＢＬ１０４を作成する。
次に、リランスケジュール処理部２０３が、スケジュール表作成サブルーチン（図５，６，７）を実行して、リカバリ処理用のリランＴＢＬ１０５を作成する（ステップＳ０４）。
【００３０】
次に、処理時間チェック処理部２０４が、処理時間チェックサブルーチン（図８）を実行して、リカバリ処理用のリランＴＢＬ１０５を基に、リカバリ処理に必要な処理時間を集計する（ステップＳ０５）。
次に、処理時間チェック処理部２０４が、処理時間の集計結果と、ジョブ管理ＴＢＬ１０１の「期限設定」項目に指定されている期限設定とを比較し、当該集計結果（処理時間の総計）が当該期限設定を超えている場合は処理を抜けて障害復旧処理を中止する（ステップＳ０６）。
【００３１】
但し、ステップＳ０６における処理時間の集計結果とジョブ管理ＴＢＬ１０１に指定されている期限設定との比較は、既にステップＳ０５の処理時間チェックサブルーチン（図８）において行われていて、その結果が前記「期限設定」項目にパラメータ値として与えられているから、ここでは、このパラメータ値を検証する。なお、このパラメータ値は、通常の期限設定と区別できる値とする（ここでは、４桁のオール９を採用している）。
【００３２】
次に、リカバリ処理部５が、リカバリ処理サブルーチン（図９参照）を実行して、異常終了ＬＯＧＴＢＬ１０４を、対応するエラーＴＢＬ１０６で変換して、リカバリ処理をリランＴＢＬ１０５にセットする（ステップＳ０７）。
次に、パラメータ作成処理部２０６が、パラメータ作成サブルーチン（図１０参照）を実行して、パラメータファイルを作成して前述のジョブスケジュールシステムにセットし（ステップＳ０７）、処理続行してフローを抜ける（この後、再実行指示３０２により再実行処理が行われる）。
【００３３】
図３は、処理結果ＴＢＬ作成処理部２０１が処理結果ＴＢＬ作成サブルーチンによって実行する処理の流れを示すフローチャート図である。
処理結果ＴＢＬ作成処理部２０１（図１）は、本発明の特徴的な処理部ではなく、即ち、正常終了のジョブであるか異常終了のジョブであるかの区別なく、一般的なコンピュータシステムのジョブ管理処理部として実行される処理部であり、従って、この処理結果ＴＢＬ作成サブルーチンも、本発明の特徴的な処理を行うものではないが、異常終了のジョブについての処理も含んでいるので、以下では、この異常終了のジョブに対する処理の流れとして説明している。
【００３４】
まず、各処理の終了時に前述のジョブスケジュールシステムから、各処理の実行結果を入力パラメータとして受け取る（ステップＳ０９）。
次に、処理結果ＴＢＬ１０２に、レコードを追加する（ステップＳ１０）。
【００３５】
以下は、この追加されたレコードの各必要項目に、前記実行結果を示す情報（ジョブスケジュールシステムから受け取った前記入力パラメータ）を記録する処理の説明である。
【００３６】
まず、入力パラメータの「要求ＩＤ」項目の内容を、処理結果ＴＢＬ１０２の「要求ＩＤ」項目に記録する（ステップＳ１１）。
次に、入力パラメータの「ＪＯＢ＿ＩＤ」項目の内容を、処理結果ＴＢＬ１０２の「ＪＯＢ＿ＩＤ」項目に記録する（ステップＳ１２）。
次に、入力パラメータの「ＪＯＢステータス」項目の内容を、処理結果ＴＢＬ１０２の「ＪＯＢステータス」項目に記録する（ステップＳ１３）。
次に、入力パラメータの「開始時間」項目の内容を、処理結果ＴＢＬ１０２の「開始時間」項目に記録する（ステップＳ１４）。
次に、入力パラメータの「終了時間」項目の内容を、処理結果ＴＢＬ１０２の「終了時間」項目に記録し（ステップＳ１５）、メインルーチン（図２）の呼び出し元直後のステップに復帰する。
【００３７】
図４は、異常終了ＬＯＧＴＢＬ作成処理部２０２が処理結果ＴＢＬ作成サブルーチンによって実行する処理の流れを示すフローチャート図である。
まず、処理結果ＴＢＬ１０２から、異常終了ＬＯＧＴＢＬ作成処理部２０２（のメインルーチン）によって異常終了が検知されたレコードの「要求ＩＤ」項目の内容と「ＪＯＢ＿ＩＤ」項目の内容とをキーにして、前述のジョブスケジュールシステムのＴＢＬ（ジョブの本体が記録されている）を読み込む（ステップＳ１６）。
【００３８】
以下は、前記ジョブスケジュールシステムのデータを異常終了ＬＯＧＴＢＬ１０４に記録する処理の説明である。
まず、前記ジョブスケジュールシステムのＴＢＬの「要求ＩＤ」項目の内容を、異常終了ＬＯＧＴＢＬ１０４の「要求ＩＤ」項目に記録する（ステップＳ１７）。
但し、ステップＳ１７の処理は、異常終了ＬＯＧＴＢＬ１０４に「要求ＩＤ」項目が設けられている場合に限り実行するものとする。
【００３９】
次に、前記ジョブスケジュールシステムのＴＢＬの「ＪＯＢ＿ＩＤ」項目の内容を、異常終了ＬＯＧＴＢＬ１０４の「ＪＯＢ＿ＩＤ」項目に記録する（ステップＳ１８）。
次に、前記ジョブスケジュールシステムのＴＢＬのエラーステータス等（より具体的には、「エラーステータス」項目、「エラーコード」項目、及び「エラー詳細」項目の内容）を、異常終了ＬＯＧＴＢＬ１０４のエラーステータス等（より具体的には、「エラーステータス」項目、「エラーコード」項目、及び「エラー詳細」項目の内容）として記録する（ステップＳ１９）。
【００４０】
次に、異常終了ＬＯＧＴＢＬ１０４の「エラー詳細」項目の内容をキーにして、エラーコード変換ＴＢＬ（より具体的にはエラーＴＢＬ１０６を読み込む）（ステップＳ２０）。
次に、前記エラーコード変換ＴＢＬの「エラーコード」項目の内容を、異常終了ＬＯＧＴＢＬ１０４の「エラーコード」項目に記録し（ステップＳ２１）、メインルーチン（図２）の呼び出し元直後のステップに復帰する。
【００４１】
図５，６，７は、リランスケジュール処理部２０３がスケジュール表作成サブルーチンによって実行する処理の流れを示すフローチャート図である。
まず、リランＴＢＬ１０５（図１７参照）のレコードをクリアして、このレコードに有意なデータが何も無い状態にする（ステップＳ２２）。
次に、異常終了ＬＯＧＴＢＬ１０４のレコードを検証することにより、同時に異常終了を示したジョブが複数件数存在するか否かを検証し、同時に異常終了を示したジョブが複数件数存在する場合はステップＳ２３に進み、同時に異常終了を示したジョブが複数件数存在しない場合はステップＳ２５に進む（ステップＳ２３）。
【００４２】
ステップＳ２３では、異常終了ＬＯＧＴＢＬ１０４のレコードで、始めに記録されたレコード（処理終了時刻の古い方のジョブの実行結果を記録するレコード）を選択し、その内容を取得する。これにより、異常終了のジョブが、ほぼ同時に複数件数発生した場合に、これらから１件だけが選択される。
次に、異常終了ＬＯＧＴＢＬ１０４の「ＪＯＢ＿ＩＤ」項目をキーにして、ロールバック処理ＴＢＬ１０３を読み込む（ステップＳ２５）。
次に、前記の読み込みが成功したか否か、即ち、異常終了ＬＯＧＴＢＬ１０４の「ＪＯＢ＿ＩＤ」項目と内容一致する項目がロールバック処理ＴＢＬ１０３に記録されているか否かを検証し、異常終了ＬＯＧＴＢＬ１０４の「ＪＯＢ＿ＩＤ」項目と内容一致する項目がロールバック処理ＴＢＬ１０３に記録されている場合はステップＳ２７に進み、異常終了ＬＯＧＴＢＬ１０４の「ＪＯＢ＿ＩＤ」項目と内容一致する項目がロールバック処理ＴＢＬ１０３に記録されていない場合はステップＳ３７に移る（ステップＳ２６）。
【００４３】
以下、ステップＳ２７からステップＳ３６の処理動作を説明するが、ここでは、異常終了ＬＯＧＴＢＬ１０４の「ＪＯＢ＿ＩＤ」項目と内容一致する項目がロールバック処理ＴＢＬ１０３に記録されている場合であるため、更新系の処理であると判断してリランＴＢＬ１０５のレコード作成処理を行う。
【００４４】
まず、ステップＳ２７では、リランＴＢＬ１０５の１件目のレコードがロールバックの処理対象となるように、リランＴＢＬ１０５の「処理順序」項目の内容を00とし、「枝番」項目の内容を00とする。
次に、リランＴＢＬ１０５の「前処理１」項目の内容を設定するが、このレコードがロールバック処理の対象レコードであり、ＯＳはロールバック処理であることを認識できるので、ここでは、単にスペースを設定しておく（ステップＳ２９）。
次に、リランＴＢＬ１０５の「前処理２」項目の内容を設定するが、このレコードがロールバック処理の対象レコードであるので、単にスペースを設定しておく（ステップＳ３０）。
【００４５】
なお、このレコードがロールバック処理の対象レコードであることは、後述するステップＳ３１の処理により、ロールバック処理ＴＢＬ１０３の「ＪＯＢ＿ＩＤ」項目の内容（即ち、異常終了ジョブのＪＯＢ＿ＩＤ）がリランＴＢＬ１０５の「ＪＯＢ＿ＩＤ」項目に記録されることで、ＯＳは認識することができる。
【００４６】
次に、ロールバック処理ＴＢＬ１０３の「ＪＯＢ＿ＩＤ」項目の内容を、リランＴＢＬ１０５の「ＪＯＢ＿ＩＤ」項目に記録する（ステップＳ３１）。
次に、リランＴＢＬ１０５の「処理属性」項目の内容を設定するが、ステップＳ３０の処理と同様の理由により、ここでは単にスペースを設定しておく（ステップＳ３２）。
【００４７】
次に、リランＴＢＬ１０５の「処理の種類」項目の内容を設定するが、ステップＳ３０の処理と同様の理由により、ここでは単にスペースを設定しておく（ステップＳ３３）。
次に、リランＴＢＬ１０５の「期限設定」項目の内容を設定するが、ステップＳ３０の処理と同様の理由により、ここでは単にスペースを設定しておく（ステップＳ３４）。
【００４８】
次に、リランＴＢＬ１０５の「開始時間」項目の内容として、システム時間（＝サーバの認識する処理時間）を設定する（ステップＳ３５）。
次に、リランＴＢＬ１０５の「終了時間」項目の内容として、前記開始時間にロールバック処理ＴＢＬ１０３の「処理時間」項目の内容を加算した時間を設定する（ステップＳ３６）。
【００４９】
以下、ステップＳ２７からステップＳ３６の処理動作を説明するが、ここでは、異常終了ＬＯＧＴＢＬ１０４の各項目をリランＴＢＬ１０５のレコードに記録する処理が行われる。
まず、異常終了ＬＯＧＴＢＬ１０４の「ＪＯＢ＿ＩＤ」項目の内容をキーにして、ジョブ管理ＴＢＬ１０１を検索する（ステップＳ３７）。
次に、ジョブ管理ＴＢＬ１０１の「リランポイント」項目が、同じくジョブ管理ＴＢＬ１０１の「ＪＯＢ＿ＩＤ」項目と内容一致を示すレコードを検索する（ステップＳ３８）。これにより、ジョブ管理ＴＢＬ１０１におけるリランポイントが確定するので、ここから先の処理を実行させるために、以後、このリランポイントに該当するジョブ管理ＴＢＬ１０１のレコードから、順次、ジョブ管理ＴＢＬ１０１のレコードを、リランＴＢＬ１０５に取り込む。より具体的には、「処理順序」項目と「枝番」項目を使用して、順次、そのレコード位置を確定し、全てのレコードをリランＴＢＬ１０５のレコードとして追加する。これにより、リランＴＢＬ１０５には、リランポイントからの再処理すべき全てのジョブが組み込まれる。以下、ステップＳ３９（図６）からステップＳ６８（図７）までは、この組み込みのための処理動作を示すものである。
【００５０】
まず、ステップＳ３９では、ステップＳ３８の検索で合致を示すジョブ管理ＴＢＬ１０１のレコードを読み込む。
次に、リランＴＢＬ１０５にレコードを１つ追加する（ステップＳ４０）。
次に、ジョブ管理ＴＢＬ１０１の前記読み込まれた先頭レコードの「処理順序」項目の内容を、リランＴＢＬ１０５の前記追加されたレコードの「処理順序」項目に記録する（ステップＳ４１）。
【００５１】
次に、ジョブ管理ＴＢＬ１０１の前記読み込まれた先頭レコードの「枝番」項目の内容を、リランＴＢＬ１０５の前記追加されたレコードの「枝番」項目に記録する（ステップＳ４２）。
次に、ジョブ管理ＴＢＬ１０１の前記読み込まれた先頭レコードの「前処理１」項目の内容を、リランＴＢＬ１０５の前記追加されたレコードの「前処理１」項目に記録する（ステップＳ４３）。
次に、ジョブ管理ＴＢＬ１０１の前記読み込まれた先頭レコードの「前処理２」項目の内容を、リランＴＢＬ１０５の前記追加されたレコードの「前処理２」項目に記録する（ステップＳ４４）。
【００５２】
次に、ジョブ管理ＴＢＬ１０１の前記読み込まれた先頭レコードの「ＪＯＢ＿ＩＤ」項目の内容を、リランＴＢＬ１０５の前記追加されたレコードの「ＪＯＢ＿ＩＤ」項目に記録する（ステップＳ４５）。
次に、ジョブ管理ＴＢＬ１０１の前記読み込まれた先頭レコードの「処理属性」項目の内容を、リランＴＢＬ１０５の前記追加されたレコードの「処理属性」項目に記録する（ステップＳ４６）。
次に、ジョブ管理ＴＢＬ１０１の前記読み込まれた先頭レコードの「処理の種類」項目の内容を、リランＴＢＬ１０５の前記追加されたレコードの「処理の種類」項目に記録する（ステップＳ４７）。
次に、ジョブ管理ＴＢＬ１０１の前記読み込まれた先頭レコードの「期限設定」項目の内容を、リランＴＢＬ１０５の前記追加されたレコードの「期限設定」項目に記録する（ステップＳ４８）。
【００５３】
次に、リランＴＢＬ１０５の１件目のレコードの「処理順序」項目にゼロが記録されているか否かを検証することにより、ロールバック処理が存在するか否かを検証し、前記「処理順序」項目にゼロが記録されている場合はロールバック処理が存在する場合であるのでステップＳ５０に進み、前記「処理順序」項目にゼロが記録されていない場合はロールバック処理が存在しない場合であるのでステップＳ５１に移る（ステップＳ４９）。
【００５４】
ここで、ロールバック処理が存在する場合は、既にステップＳ２６の検証により、ロールバック処理が存在すると判定されており、ステップＳ２７の処理により、前記「処理順序」項目にはゼロが記録されている。
ロールバック処理が存在する場合の処理として、ステップＳ５０では、リランＴＢＬ１０５の前記１件目のレコードの「開始時間」項目として、システム時間に、ロールバック処理ＴＢＬ１０３のリランポイントのロールバック処理時間を記録した「ロールバック処理時間」項目の内容を加算した結果を記録し、ステップＳ５２に進む。
ここで、前記システム時間とは、サーバの認識する処理時間のことであるが、この場合はステップＳ３５の処理により、同レコードの「開始時間」項目に記録されている。
【００５５】
一方、ロールバック処理が存在しない場合の処理として、ステップＳ５１では、リランＴＢＬ１０５の前記１件目のレコードの「開始時間」項目としてシステム時間を記録し、ステップＳ５２に移る。
【００５６】
ステップＳ５２では、前記開始時間に、ジョブ管理ＴＢＬ１０１の前記読み込まれた先頭レコードの「処理時間」項目の内容を加算した結果を、リランＴＢＬ１０５の前記追加されたレコードの「終了時間」項目に記録する。
次に、リランＴＢＬ１０５の前記１件目のレコードの「処理順序」項目及び「枝番」項目の内容に従って、正当な処理順序における次のレコード位置を求める（ステップＳ５３）。
次に、ジョブ管理ＴＢＬ１０１の前記レコード位置のレコードを読み込み、ステップＳ５５に進む（ステップＳ５４）。
【００５７】
ステップＳ５５では、リランＴＢＬ１０５にレコードを１つ追加する。
次に、ジョブ管理ＴＢＬ１０１の前記読み込まれた先頭レコードの「処理順序」項目の内容を、リランＴＢＬ１０５の前記追加されたレコードの「処理順序」項目に記録する（ステップＳ５６）。
次に、ジョブ管理ＴＢＬ１０１の前記読み込まれた先頭レコードの「枝番」項目の内容を、リランＴＢＬ１０５の前記追加されたレコードの「枝番」項目に記録する（ステップＳ５７）。
【００５８】
次に、ジョブ管理ＴＢＬ１０１の前記読み込まれた先頭レコードの「前処理１」項目の内容を、リランＴＢＬ１０５の前記追加されたレコードの「前処理１」項目に記録する（ステップＳ５８）。
次に、ジョブ管理ＴＢＬ１０１の前記読み込まれた先頭レコードの「前処理２」項目の内容を、リランＴＢＬ１０５の前記追加されたレコードの「前処理２」項目に記録する（ステップＳ５９）。
次に、ジョブ管理ＴＢＬ１０１の前記読み込まれた先頭レコードの「ＪＯＢ＿ＩＤ」項目の内容を、リランＴＢＬ１０５の前記追加されたレコードの「ＪＯＢ＿ＩＤ」項目に記録する（ステップＳ６０）。
【００５９】
次に、ジョブ管理ＴＢＬ１０１の前記読み込まれた先頭レコードの「処理属性」項目の内容を、リランＴＢＬ１０５の前記追加されたレコードの「処理属性」項目に記録する（ステップＳ６１）。
次に、ジョブ管理ＴＢＬ１０１の前記読み込まれた先頭レコードの「処理の種類」項目の内容を、リランＴＢＬ１０５の前記追加されたレコードの「処理の種類」項目に記録する（ステップＳ６２）。
次に、ジョブ管理ＴＢＬ１０１の前記読み込まれた先頭レコードの「期限設定」項目の内容を、リランＴＢＬ１０５の前記追加されたレコードの「期限設定」項目に記録する（ステップＳ６３）。
【００６０】
次に、リランＴＢＬ１０５の１つ前のレコードの「終了時間」項目の内容を、リランＴＢＬ１０５の前記追加されたレコードの「開始時間」項目に記録する（ステップＳ６４）。
次に、前記開始時間に、ジョブ管理ＴＢＬ１０１の前記読み込まれた先頭レコードの「処理時間」項目の内容を加算した結果を、リランＴＢＬ１０５の前記追加されたレコードの「終了時間」項目に記録する（ステップＳ６５）。
次に、リランＴＢＬ１０５の前記１件目のレコードの「処理順序」項目及び「枝番」項目の内容に従って、正当な処理順序における次のレコード位置を求める（ステップＳ６６）。
【００６１】
次に、ジョブ管理ＴＢＬ１０１の前記レコード位置のレコードを読み込む（ステップＳ６７）。
次に、前記読み込まれたレコードは、アンカー（即ち、正規レコードの終了を示すダミーレコード）であるか否かを検証し、アンカーでなければステップＳ５５に戻り、アンカーであればステップＳ６９に進む（ステップＳ６８）。
ステップＳ６９では、作成したリランＴＢＬ１０５を再実行ジョブスタックと宣言する処理（作成したリランＴＢＬ１０５のアクセスアドレスを示すパラメータ設定等）を行って、メインルーチンの呼び出し元直後のステップに復帰する。
【００６２】
図８は、処理結果ＴＢＬ作成処理部２０１が処理時間チェックサブルーチンによって実行する処理の流れを示すフローチャート図である。
まず、リランＴＢＬ１０５の各レコードを、先頭レコードから順に、最後のレコードまで読み込み、有意な「期限設定」項目が有るか否か（即ち、内容がスペースではない「期限設定」項目が有るか否か）を検証し、有意な「期限設定」項目が有るレコードを全て抽出する（ステップＳ７０，ステップＳ７１）。
次に、前記抽出した全てのレコードを対象に、「期限設定」項目の内容（時間）と、「終了時間」項目の内容とを比較し、処理終了時間が期限設定を超過するものについては、その旨を示すパラメータ値（ここでは４桁のオール９）を期限設定用のパラメータに設定して、メインルーチンの呼び出し元直後のステップに復帰する（ステップＳ７２，ステップＳ７３）。
【００６３】
なお、この期限設定用のパラメータに４桁のオール９が設定されて復帰した場合は、メインルーチン側では、障害復旧を行わない（図２のステップＳ０６参照）。
【００６４】
図９は、リカバリ処理部２０５がリカバリ処理サブルーチンによって実行する処理の流れを示すフローチャート図である。
まず、異常終了ＬＯＧＴＢＬ１０４の「エラーコード」項目をキーにして、エラーＴＢＬ１０６を検索して該当するレコードを読み込む（ステップＳ７４）。
次に、エラーＴＢＬ１０６の前記読み込まれたレコードの「ＪＯＢ＿ＩＤ」項目の内容をキーにして、ジョブ管理ＴＢＬ１０１を検索する（ステップＳ７５）。
次に、リランＴＢＬ１０５にレコードを追加し、必要項目のデータを記録しながら、検索されたジョブ管理ＴＢＬ１０１のレコードの内容（より具体的には「ＪＯＢ＿ＩＤ」項目の内容）をリランＴＢＬ１０５前記追加されたレコードに記録する（ステップＳ７５）。以下のステップ７７〜ステップ８６は、ステップＳ７５の詳細ステップを示すものである。
【００６５】
まず、ステップＳ７７では、リランＴＢＬ１０５の追加されたレコードの「処理順序」項目の内容を00とする。
次に、リランＴＢＬ１０５の追加されたレコードの「枝番」項目の内容を01とする（ステップＳ７８）。
ステップＳ７７とステップ７８の処理により、リランＴＢＬ１０５の追加されたレコードの物理的な位置がリランＴＢＬ１０５の何処であっても（例えばラストであっても）、リランＴＢＬ１０５の処理に際して、または処理の前には、この追加されたレコードは、リランＴＢＬ１０５上で、ロールバック処理（ロールバック処理がある場合）のレコードと、通常のリラン処理の先頭レコードとの間に挿入される。
【００６６】
次に、リランＴＢＬ１０５の「前処理１」項目の内容を設定するが、このレコードが異常終了ＬＯＧＴＢＬ１０４のレコードであので、ここでは、単にスペースを設定しておく（ステップＳ７９）。
次に、リランＴＢＬ１０５の「前処理２」項目の内容を設定するが、このレコードが異常終了ＬＯＧＴＢＬ１０４のレコードであので、ここでは、単にスペースを設定しておく（ステップＳ８０）。
【００６７】
なお、このレコードが異常終了ＬＯＧＴＢＬ１０４のレコードであることは、後述するステップＳ８１の処理により、ジョブ管理ＴＢＬ１０１の「ＪＯＢ＿ＩＤ」項目の内容（即ち、異常終了ジョブのＪＯＢ＿ＩＤ）がリランＴＢＬ１０５の「ＪＯＢ＿ＩＤ」項目に記録されることで、ＯＳは認識することができる。
【００６８】
次に、ジョブ管理ＴＢＬ１０１の「ＪＯＢ＿ＩＤ」項目の内容を、リランＴＢＬ１０５の「ＪＯＢ＿ＩＤ」項目に記録する（ステップＳ８１）。
次に、リランＴＢＬ１０５の「処理属性」項目の内容を設定するが、ステップＳ８０の処理と同様の理由により、ここでは単にスペースを設定しておく（ステップＳ８２）。
次に、リランＴＢＬ１０５の「処理の種類」項目の内容を設定するが、ステップＳ８０の処理と同様の理由により、ここでは単にスペースを設定しておく（ステップＳ８３）。
【００６９】
次に、リランＴＢＬ１０５の「期限設定」項目の内容を設定するが、ステップＳ８０の処理と同様の理由により、ここでは単にスペースを設定しておく（ステップＳ８４）。
次に、リランＴＢＬ１０５の「開始時間」項目の内容を設定するが、ステップＳ８０の処理と同様の理由により、ここでは単にスペースを設定しておく（ステップＳ８５）。
次に、リランＴＢＬ１０５の「終了時間」項目の内容を設定するが、ステップＳ８０の処理と同様の理由により、ここでは単にスペースを設定して、メインルーチンの呼び出し元直後のステップに復帰する（ステップＳ８６）。
【００７０】
図１０は、パラメータ作成処理部２０６がパラメータ作成サブルーチンによって実行する処理の流れを示すフローチャート図である。
リランＴＢＬが実行されるように、ジョブスケジュールシステムの仕様に合わせて、パラメータとして用意されているファイル（パラメータファイル）に出力し、メインルーチンの呼び出し元直後のステップに復帰する（ステップＳ８７）。
ここで、パラメータファイルのフォーマットは、ジョブスケジュールシステム（即ち既存システム）に適合させてカスタマイズするものとする。
【００７１】
なお、このパラメータファイルが、ジョブスケジュールシステムに示された時に、ジョブスケジュールシステムが、このパラメータファイルに格納されたジョブスタックを実行するように、ジョブスケジュールシステムの仕様についても、多少の変更を行うものとする。
【００７２】
図１１は、エラーが発生する場合の処理過程の１例を示すシーケンスチャート図である。
同図では、業務ＴＢＬを伴う業務処理において、この業務処理が最終的に異常終了となるまでの処理（符号Ｊ０１〜Ｊ１２で示される処理）の流れを例示している。この処理では、多重実行が行われている。
【００７３】
以下、符号Ｊ０１〜Ｊ１２で示される処理例について順に説明する。
ステップ１の処理Ｊ０１は、バックアップ処理（JOB＿ID：Ｘ）であり、符号Ｔ０１の業務ＴＢＬ（Ａ）の内容を符号Ｔ０２のバックアップＴＢＬにコピーする。
ステップ２の処理Ｊ０２は、符号Ｔ０１の業務ＴＢＬ（Ａ）の更新処理（JOB＿ID：Ａ）である。
ステップ３の処理Ｊ０３は、符号Ｔ０１の業務ＴＢＬ（Ａ）の検索処理（JOB＿ID：Ｂ）である。また、処理Ｊ０４は、符号Ｔ０１の業務ＴＢＬ（Ａ）の検索処理（JOB＿ID：Ｃ）である。
【００７４】
以下、出力系の処理にデータを引き継ぐ。
ステップ４の処理Ｊ０５は、符号Ｔ０１の業務ＴＢＬ（Ａ）の更新処理（JOB＿ID：Ｄ）である。また、処理Ｊ０６は、符号Ｔ０１の業務ＴＢＬ（Ａ）の検索処理（JOB＿ID：Ｅ）であり、符号Ｔ０１の業務ＴＢＬ（Ａ）を検索して、帳票出力処理とファイル出力処理にデータを引き継ぐ。
ステップ５の処理Ｊ０７は、符号Ｔ０１の業務ＴＢＬ（Ａ）の検索処理（JOB＿ID：Ｆ）である。また、処理Ｊ０８は、符号Ｔ０１の業務ＴＢＬ（Ａ）の検索処理（JOB＿ID：Ｇ）であり、符号Ｔ０１の業務ＴＢＬ（Ａ）を検索して、符号Ｆ０１のファイルへ出力する処理を行なう。さらに、処理Ｊ０９は、符号Ｔ０１の業務ＴＢＬ（Ａ）の検索処理（JOB＿ID：Ｈ）であり、符号Ｔ０１の業務ＴＢＬ（Ａ）を検索して、符号Ｌ０１の帳票ファイルへの出力処理を行なう。
ステップ６の処理Ｊ１０は、符号Ｔ０１の業務ＴＢＬ（Ａ）の更新処理（JOB＿ID：Ｉ）である。ここでは、この更新処理の途中で異常終了した場合を示している。また、処理Ｊ１０の処理で参照している符号Ｔ０２の業務ＴＢＬ（Ｂ）にエラー原因が有る場合を示している。
【００７５】
図１２は、異常終了した場合の処理をリランポイントから自動復旧させるリラン処理の１例を示すシーケンスチャート図である。
以下、符号Ｊ２０〜Ｊ３０で示されるリラン処理の実行過程の１例について順に説明する。
同図に示すリラン処理の実行過程の１例は、図１１に示す処理過程をリラン処理する場合を示している。
【００７６】
ステップ７の処理Ｊ２０は、リカバリ処理（JOB＿ID：Ｚ）であり、符号Ｔ０３の業務ＴＢＬ（Ｂ）のエラー原因を取り除く。
ステップ８の処理Ｊ２１は、リストア処理（JOB＿ID：Ｙ）であり、符号Ｔ０２のバックアップＴＢＬから符号Ｔ０１の業務ＴＢＬ（Ａ）をリストアする。
ステップ９の処理Ｊ２２は、符号Ｔ０１の業務ＴＢＬ（Ａ）の更新処理である。
ステップ１０の処理Ｊ２３は、符号Ｔ０１の業務ＴＢＬ（Ａ）の検索処理（JOB＿ID：Ｂ）である。また、処理Ｊ２４は、符号Ｔ０１の業務ＴＢＬ（Ａ）の検索処理（JOB＿ID：Ｃ）である。
【００７７】
以下、出力系の処理にデータを引き継ぐ。
ステップ１１の処理Ｊ２５は、符号Ｔ０１の業務ＴＢＬ（Ａ）の更新処理（JOB＿ID：Ｄ）である。また、処理Ｊ２６は、符号Ｔ０１の業務ＴＢＬ（Ａ）の検索処理（JOB＿ID：Ｅ）であり、符号Ｔ０１の業務ＴＢＬ（Ａ）を検索して、帳票出力処理とファイル出力処理にデータを引き継ぐ。
ステップ１２の処理Ｊ２７は、符号Ｔ０１の業務ＴＢＬ（Ａ）の検索処理（JOB＿ID：Ｆ）である。また、処理Ｊ２８は、符号Ｔ０１の業務ＴＢＬ（Ａ）の検索処理（JOB＿ID：Ｇ）であり、符号Ｔ０１の業務ＴＢＬ（Ａ）を検索して、符号Ｌ０１の帳票ファイルを上書きする。さらに、処理Ｊ２９は、符号Ｔ０１の業務ＴＢＬ（Ａ）の検索処理（JOB＿ID：Ｈ）であり、符号Ｔ０１の業務ＴＢＬ（Ａ）を検索して、符号Ｆ０２の帳票への出力処理を行なう（なお、符号Ｆ０１のファイルの記録は、そのまま残る）。
ステップ１３の処理Ｊ３０は、符号Ｔ０１の業務ＴＢＬ（Ａ）の更新処理（JOB＿ID：Ｉ）であるが、この更新処理に際しては、ステップ７の処理Ｊ２０においてリカバリ処理済にされた符号Ｔ０３の業務ＴＢＬ（Ｂ）の記録を参照する。
【００７８】
なお、図１３に例示するジョブ管理ＴＢＬから図１８に示すエラーＴＢＬに渡る各ＴＢＬの構成において、項目サンプルＸＸのデータは、図１１と図１２に例示する処理過程に基づいて作成されている。
【００７９】
図１３は、ジョブ管理ＴＢＬ１０１の１構成例を示す構成図である。
同図に例示するジョブ管理ＴＢＬ１０１には、サンプル１〜１１についてのデータ項目として、処理（ジョブ）の処理順序を示す「処理順序」、処理順序の詳細を示す「枝番」、前処理のＪＯＢ＿ＩＤを示す「前処理１」、２つ目の前処理のＪＯＢ＿ＩＤを示す「前処理２」、処理の一意な識別名（キー）を示す「ＪＯＢ＿ＩＤ」、処理の日本語名称を示す「ＪＯＢ名称」、処理の属性（更新処理／検索処理等の区別）を示す「処理属性」、処理の種類（バックアップ処理、更新処理、検索処理、出力処理等）を示す「処理の種類」、処理の時間的な期限を示す「期限設定」、リランポイントのＪＯＢ＿ＩＤを示す「リランポイント」、処理の実行時間（予定）を示す「処理時間（分）」等の各項目が設けられている。
【００８０】
図１４は、処理結果ＴＢＬ１０２の１構成例を示す構成図である。
同図に例示する処理結果ＴＢＬ１０２には、サンプル１〜１０についてのデータ項目として、システム（コンピュータシステム）の実行順序を示す「要求ＩＤ」、ジョブの一意な識別名（キー）を示す「ＪＯＢ＿ＩＤ」、ジョブの処理結果（例えばエラー時の状態）を示す「ＪＯＢステータス」項目、ジョブの開始時間（実行開始された時刻）を示す「開始時間」、ジョブの終了時間（終了された時刻）を示す「終了時間」等の各項目が設けられている。
【００８１】
図１５は、ロールバック処理ＴＢＬ１０３の１構成例を示す構成図である。
同図に例示するロールバック処理ＴＢＬ１０３には、サンプル１〜３についてのデータ項目として、復元（ロールバック）処理の一意な識別名（キー）を示す「ＪＯＢ＿ＩＤ」、リランポイントのＪＯＢ＿ＩＤを示す「リランポイント」、ジョブの実行時間（予定）を示す「処理時間（分）」等の各項目が設けられている。
【００８２】
図１６は、異常終了ＬＯＧＴＢＬ１０４の１構成例を示す構成図である。
同図に例示する異常終了ＬＯＧＴＢＬ１４には、サンプル１についてのデータ項目として、異常終了処理（異常終了ジョブ）の一意な識別名（キー）を示す「ＪＯＢ＿ＩＤ」、エラーの状態を示す「エラーステータス」、エラー詳細をコード分類する「エラーコード」、エラーの詳細な内容を示す「エラー詳細」等の各項目が設けられている。
【００８３】
図１７は、リランＴＢＬ１０５の１構成例を示す構成図である。
同図に例示するリランＴＢＬ１０５には、サンプル１〜１１についてのデータ項目として、再実行する処理（ジョブ）の処理順序を示す「処理順序」、処理順序の詳細を示す「枝番」、前処理のＪＯＢ＿ＩＤを示す「前処理１」、２つ目の前処理のＪＯＢ＿ＩＤを示す「前処理２」、再実行する処理の一意な識別名（キー）を示す「ＪＯＢ＿ＩＤ」、再実行する処理の日本語名称を示す「ＪＯＢ名称」、再実行する処理の属性（更新処理／検索処理等の区別）を示す「処理属性」、処理の種類（バックアップ処理、更新処理、検索処理、出力処理等）を示す「処理の種類」、再実行する処理の時間的な期限を示す「期限設定」、再実行する処理の開始時間（予定時刻）を示す「開始時間」、再実行する処理の終了時間（終了された時刻）を示す「終了時間」等の各項目が設けられている。
【００８４】
図１８は、エラーＴＢＬ１０６の１構成例を示す構成図である。
同図に例示するエラーＴＢＬ１０６には、サンプル１についてのデータ項目として、エラー詳細をコード分類して示す「エラーステータス」、エラーの詳細な内容を分類して示す「エラー詳細」、エラー詳細をコード分類する「エラーコード」、エラー対応処理の一意な識別名（キー）を示す「ＪＯＢ＿ＩＤ」、等の各項目が設けられている。
【００８５】
なお、本発明に係るバッチ処理の障害復旧方法を実行するシステムの各構成要素による処理の少なくとも一部をコンピュータ制御により実行するものとし、かつ、上記処理を、図２〜１０のフローチャートで示した手順によりコンピュータに実行せしめるプログラムは、半導体メモリを始め、ＣＤ−ＲＯＭや磁気テープなどのコンピュータ読み取り可能な記録媒体に格納して配付してもよい。そして、少なくともマイクロコンピュータ、パーソナルコンピュータ、汎用コンピュータを範疇に含むコンピュータが、上記の記録媒体から上記プログラムを読み出して、実行するものとしてもよい。
【産業上の利用可能性】
【００８６】
本発明のバッチ処理の障害復旧方法及び障害復旧システムは、図１等に示すように、コンピュータのＣＰＵ、メモリ、補助記憶装置、入力デバイス等を含むハードウェア資源上に構築されたＯＳ、アプリケーション、データベース、ネットワークシステム等によって実現されるものであり、バッチ処理における障害復旧処理という情報処理が上記のハードウェア資源を用いて具体的に実現されるものであるから、自然法則を利用した技術的思想に該当するものであり、コンピュータ産業等において利用することができるものである。
【図面の簡単な説明】
【００８７】
【図１】本発明の実施形態に係るバッチ処理の障害復旧方法が実行されるコンピュータシステムの全体構成を示す構成図である。
【図２】本実施形態のバッチ処理の障害復旧方法を実現するコンピュータシステムの全体動作を示すフローチャート図である。
【図３】処理結果ＴＢＬ作成処理部２０１が処理結果ＴＢＬ作成サブルーチンによって実行する処理の流れを示すフローチャート図である。
【図４】異常終了ＬＯＧＴＢＬ作成処理部２０２が処理結果ＴＢＬ作成サブルーチンによって実行する処理の流れを示すフローチャート図である。
【図５】リランスケジュール処理部２０３がスケジュール表作成サブルーチンによって実行する処理の流れを示すフローチャート図（１／３）である。
【図６】リランスケジュール処理部２０３がスケジュール表作成サブルーチンによって実行する処理の流れを示すフローチャート図（２／３）である。
【図７】リランスケジュール処理部２０３がスケジュール表作成サブルーチンによって実行する処理の流れを示すフローチャート図（３／３）である。
【図８】処理結果ＴＢＬ作成処理部２０１が処理時間チェックサブルーチンによって実行する処理の流れを示すフローチャート図である。
【図９】リカバリ処理部２０５がリカバリ処理サブルーチンによって実行する処理の流れを示すフローチャート図である。
【図１０】パラメータ作成処理部２０６がパラメータ作成サブルーチンによって実行する処理の流れを示すフローチャート図である。
【図１１】エラーが発生する場合の処理過程の１例を示すシーケンスチャート図である。
【図１２】異常終了した場合の処理をリランポイントから自動復旧させるリラン処理の１例を示すシーケンスチャート図である。
【図１３】ジョブ管理ＴＢＬ１０１の１構成例を示す構成図である。
【図１４】処理結果ＴＢＬ１０２の１構成例を示す構成図である。
【図１５】ロールバック処理ＴＢＬ１０３の１構成例を示す構成図である。
【図１６】異常終了ＬＯＧＴＢＬ１０４の１構成例を示す構成図である。
【図１７】リランＴＢＬ１０５の１構成例を示す構成図である。
【図１８】エラーＴＢＬ１０６の１構成例を示す構成図である。
【符号の説明】
【００８８】
１０１  ジョブ管理ＴＢＬ（データベース）
１０２  処理結果ＴＢＬ
１０３  ロールバック処理ＴＢＬ
１０４  異常終了ＬＯＧＴＢＬ
１０５  リランＴＢＬ
１０６  エラーＴＢＬ
２０１  処理結果ＴＢＬ作成処理部
２０２  異常終了ＬＯＧＴＢＬ作成処理部
２０３  リランスケジュール処理部
２０４  処理時間チェック処理部
２０５  リカバリ処理部
２０６  パラメータ作成処理部
３０１  実行結果
３０２  再実行指示
Ｊ０１〜Ｊ３０  処理（ジョブ）
Ｔ０１〜Ｔ０３  データベース
Ｆ０１〜Ｆ０２  処理結果の出力ファイル
Ｌ０１〜Ｌ０２  処理結果の出力帳票ファイル
【図１】
2008217367.tif 000003
【図２】
2008217367.tif 000004
【図３】
2008217367.tif 000005
【図４】
2008217367.tif 000006
【図５】
2008217367.tif 000007
【図６】
2008217367.tif 000008
【図７】
2008217367.tif 000009
【図８】
2008217367.tif 000010
【図９】
2008217367.tif 000011
【図１０】
2008217367.tif 000012
【図１１】
2008217367.tif 000013
【図１２】
2008217367.tif 000014
【図１３】
2008217367.tif 000015
【図１４】
2008217367.tif 000016
【図１５】
2008217367.tif 000017
【図１６】
2008217367.tif 000018
【図１７】
2008217367.tif 000019
【図１８】
2008217367.tif 000020