(57)【要約】【課題】  従来の技術で不具合が生じたプログラムの原因究明の効率化を図る場合、計算機の更新のようなケースで生ずる多数のプログラムの動作確認に適しているとは言い難いとの課題があった。【解決手段】  処理中に実行結果を保存するタイミングと保存するファイル名、ならび保存先のファイル名を前もって定義した情報を格納した定義ファイルと、実行結果を比較するプログラムを起動させるための定義情報を格納したジョブ起動ファイルと、データの内容を比較するファイルのペアを予め定義した比較ファイルとを用意する。次に、ジョブ起動ファイルの定義情報に対して、定義ファイルに記載されているタイミングで、保存対象となっているファイル名のデータを保存先のファイルに複写するように定義情報を改変する処理を設ける。【選択図】  図１
2012226504.tif 000002
【特許請求の範囲】
【請求項１】
複数のプログラムであって、互いに対応関係を有するプログラムの実行結果を比較するプログラムの実行結果の比較方法において、
前記複数のプログラムのそれぞれの実行結果の組み合わせを定義する情報と、実行すべきプログラムである第１のプログラムを指定するジョブ制御ファイルとを参照し、前記第１のプログラムと当該プログラムと比較すべき第２のプログラムの実行結果の対を基にプログラムの実行結果を出力するジョブステップをジョブ制御ファイルに追加するステップと、
前記プログラムの実行結果の組み合わせを定義する情報を参照し前記プログラム実行により得られた前記第１および第２のプログラムの実行結果を比較するステップと、
を有することを特徴とすることを特徴とするプログラムの実行結果の比較方法。
【請求項２】
請求項１に記載のプログラムの実行結果の比較方法において、
予め格納された変換規則とジョブ制御ファイルとを参照し、当該ジョブ制御ファイルに定義されるプログラムの入力情報と実行結果の文字列を前記変換規則に従い変換し、比較すべき前記プログラムの実行結果の組み合わせを定義する情報を生成するステップをさらにを有することを特徴とするプログラムの実行結果の比較方法。
【請求項３】
請求項１に記載のプログラムの実行結果の比較方法において、
前記プログラムの実行結果の組み合わせの順位を参照しプログラムの実行結果の比較作業の実行順序を決定するステップをさらに有することを特徴とするプログラムの実行結果の比較方法。
【請求項４】
請求項３に記載のプログラムの実行結果の比較方法において、
前記プログラムの実行結果に違いがあった場合に下位の順位のプログラムの実行結果の組み合わせを比較するステップをさらに有することを特徴とするプログラムの実行結果の比較方法。
【請求項５】
複数のプログラムであって、互いに対応関係を有するプログラムの実行結果を比較するプログラムの実行結果の比較装置において、
前記複数のプログラムのそれぞれの実行結果の組み合わせを定義する情報と、実行すべきプログラムである第１のプログラムを指定するジョブ制御ファイルとを参照し、前記第１のプログラムと当該プログラムと比較すべき第２のプログラムの実行結果の対を基にプログラムの実行結果を出力するジョブステップをジョブ制御ファイルに追加する手段と、
前記プログラムの実行結果の組み合わせを定義する情報を参照し前記プログラム実行により得られた前記第１および第２のプログラムの実行結果を比較する手段と、
を有することを特徴とすることを特徴とするプログラムの実行結果の比較装置。
【請求項６】
請求項５に記載のプログラムの実行結果の比較装置において、
予め格納された変換規則とジョブ制御ファイルとを参照し、当該ジョブ制御ファイルに定義されるプログラムの入力情報と実行結果の文字列を前記変換規則に従い変換し、比較すべき前記プログラムの実行結果の組み合わせを定義する情報を生成する手段をさらに有することを特徴とするプログラムの実行結果の比較装置。
【請求項７】
請求項５に記載のプログラムの実行結果の比較装置において、
前記プログラムの実行結果の組み合わせの順位を参照しプログラムの実行結果の比較作業の実行順序を決定するステップをさらに有することを特徴とするプログラムの実行結果の比較装置。
【請求項８】
請求項７に記載のプログラムの実行結果の比較装置において、
前記プログラムの実行結果に違いがあった場合に下位の順位のプログラムの実行結果の組み合わせを比較する手段をさらに有することを特徴とするプログラムの実行結果の比較装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なるプログラムの実行結果を比較する方法に関する。その中でも特に、システムの更新において、更新後のシステムが更新前の結果など所望の結果を得られるかを確認するための技術に関する。
【背景技術】
【０００２】
企業活動の業務の効率化を図ることなどを目的に設置された計算機システムでは、定期的に計算機(システム)を最新のものに切り替えたり、プログラムをバージョンアップさせたりしながら、従来からの業務処理を継承しているのが一般的で、これにより、利用する計算機システムへの最新技術の導入を図っている。
【０００３】
ただ、こうした計算機の切り替えやプログラムの切り替えを実施した場合、新しい環境でも、従来とまったく同じ業務処理が遂行されることを確認するためのテストの実施が必須で、このテストの効率化が大きな課題となっている。
【０００４】
これを解決するために、特開２００８−２２６０６０号公報（特許文献１）が提案されている。特許文献１は、切り替えにおいて、プログラムの実機での動作検証の際に再現性の無い不具合が生じた場合にも、不具合発生時の原因が、検証対象のプログラム自体にあるのか、あるいは、他の外部要因にあるのかの判定を可能とすることで、不具合の原因究明を図っている。具体的には、プログラムの実機での動作検証のために、プログラムロジックの１ステップ毎の入出力ログを記録する仕組みと、記録した入出力ログをあらかじめ定められたログと比較する仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２２６０６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献１を用いることにより、不具合が生じたプログラムの原因究明の効率化を図ることができる。しかし、上述したような計算機の更新のようなケースで生ずる多数のプログラムの動作確認に適しているとは言い難い。
【０００７】
その要因として、プログラムの実行において（例えば一行ごとに）ログ出力が繰り返されるために、多大な経過時間を要したり、計算機オーバヘッドを要したりすることを挙げることができる。また、ログの情報量も膨大なものになるということも要因の一つに挙げることができる。
【０００８】
そのため、多数のプログラムを動作確認する際は、不具合が生じたプログラムの原因を究明するまえに、不具合が生じているプログラムを効率的にあらいだすことが先決であるといえる。
【０００９】
本発明の目的は、多数のプログラムの動作確認作業の効率化を図る方法を開示することである。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、新たなプログラムをストレートコンバージョンする場合に、任意に入力により、そのプログラムの連続した単体および結合テスト（比較）を行うものである。この際、ログとして出力されるテンポラリファイルが無い場合には、これをシステム側に要求する。より詳細には、以下の処理を実行する。
【００１１】
まず、処理中に実行結果を保存するタイミングと保存するファイル名、ならび保存先のファイル名を前もって定義した情報を格納した定義ファイルと、実行結果を比較するプログラムを起動させるための定義情報を格納したジョブ起動ファイルと、データの内容を比較するファイルのペアを予め定義した比較ファイルとを用意する。
【００１２】
次に、ジョブ起動ファイルの定義情報に対して、定義ファイルに記載されているタイミングで、保存対象となっているファイル名のデータを保存先のファイルに複写するように定義情報を改変する処理を設ける。
【００１３】
この改変処理によって作成された定義情報を用いて、多数のプログラムを実行させ、保存先のファイルにデータが複写された後、比較ファイルで定義されたファイルのペアそれぞれについて、それぞれのファイルのデータの内容が一致しているか否かを報告する処理を設ける。
【００１４】
また、ファイル内のデータの文字コードを一致させる処理を設け、上記の報告する処理を実行する前に、必要に応じて実行させる。
【００１５】
これら一連の処理、ならびにファイルを設けることにより、大量のプログラムの実行結果の比較作業の効率化を図ることができる。
【発明の効果】
【００１６】
本発明によれば、多数のプログラムを動作確認する場合に、不具合が生じているプログラムを効率的にあらいだし、多数のプログラムの動作確認作業を効率化することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第一の実施の形態における比較用計算機１０１、メインフレーム計算機１０２及びオープン計算機１０３の構成を示す図である。
【図２】本発明の第一の実施の形態におけるメインフレーム計算機１０２のソフトウェア構造を示す模式図である。
【図３】本発明の第一の実施の形態における新旧対応指定ファイル１４１を示す図である。
【図４】本発明の第一の実施の形態におけるジョブ制御ファイル１６１を示す図である。
【図５】本発明の第一の実施の形態における入出力ファイル１６３を示す図である。
【図６】本発明の第一の実施の形態における保存対象指定ファイル１６４を示す図である。
【図７】本発明の第一の実施の形態における新ジョブ制御ファイル１６６を示す図である。
【図８】本発明の第一の実施の形態におけるジョブ制御ファイル１８１を示す図である。
【図９】本発明の第一の実施の形態における入出力ファイル１８３を示す図である。
【図１０】本発明の第一の実施の形態における保存対象指定ファイル１８４を示す図である。
【図１１】本発明の第一の実施の形態における新ジョブ制御ファイル１８６を示す図である。
【図１２】本発明の第一の実施の形態における比較一時情報１５３を示す図である。
【図１３】本発明の第一の実施の形態における比較結果情報１５４を示す図である。
【図１４】本発明の第一の実施の形態における出力装置１１５を示す図である。
【図１５】本発明の第一の実施の形態における全体処理部１５１の処理を説明するフローチャートである。
【図１６】本発明の第一の実施の形態におけるジョブ制御処理追加部１７１の処理を説明するフローチャートである。
【図１７】本発明の第一の実施の形態における対応取得部１５２の処理を説明するフローチャートである。
【図１８】本発明の第一の実施の形態における比較処理部１５３の処理を説明するフローチャートである。
【図１９】本発明の第一の実施の形態による比較用計算機１０１、メインフレーム計算機１０２及びオープン計算機１０３の処理を表すタイムチャートである。
【図２０】本発明の第二の実施の形態における比較用計算機２００１、メインフレーム計算機１０２及びオープン計算機１０３の構成を示す図である。
【図２１】本発明の第二の実施の形態における対応設定ファイル２０２１を示す図である。
【図２２】本発明の第二の実施の形態における新旧対応指定ファイル２０２２を示す図である。
【図２３】本発明の第二の実施の形態における全体処理部２０３１の処理を説明するフローチャートである。
【図２４】本発明の第二の実施の形態における対応生成部２０３２の処理を説明するフローチャートである。
【図２５】本発明の第二の実施の形態における対応取得部２０３３の処理を説明するフローチャートである。
【発明を実施するための形態】
【００１８】
以下、図1から図２５を用いて、発明を実施するための形態を説明する。
【実施例１】
【００１９】
まず、図１から図１９を用いて、多数のプログラムを動作確認する場合に、多数のプログラムの実行結果を一括して保存し、かつ実行結果の違いを一括して判別できるため、不具合が生じているプログラムを効率的にあらいだすことができる、第一の実施の形態（実施例１）におけるプログラムの実行結果の比較方法について説明する。
【００２０】
図１は、第一の実施の形態の全体図である。図１に示す比較用計算機１０１は、メインフレーム計算機１０２のプログラムの実行結果と、オープン計算機１０３のプログラムの実行結果とを一括して比較するための装置である。メインフレーム計算機１０２は、プログラムを一括して実行し、実行結果を保存するための装置である。オープン計算機１０３は、前記メインフレーム計算機１０２のプログラムの比較対象となるプログラムを一括して実行し、実行結果を保存するための装置である。
【００２１】
以下、前記比較用計算機１０１の構成を説明する。
前記比較用計算機１０１は、ＣＰＵ１１１と、メモリ１１２と、を有する。つまり、いわゆるコンピュータとして、実現されるものである。
【００２２】
前記ＣＰＵ１１１と前記メモリ１１２とは、記憶装置１１３と、入力装置１１４と、出力装置１１５と、に接続する。また、前記ＣＰＵ１１１及び前記メモリ１１２は、記憶装置１２５と、記憶装置１２６と、記憶装置１３５と、記憶装置１３６とに接続する。また、前記ＣＰＵ１１１及び前記メモリ１１２は、前記メインフレーム計算機１０２の前記ＣＰＵ１２１と、前記オープン計算機１０３の前記ＣＰＵ１３１とに接続する。
【００２３】
前記記憶装置１１３は、比較すべき前記メインフレーム計算機１０２のプログラムの実行結果と、前記オープン計算機１０３のプログラムの実行結果との組み合わせを定義する情報を格納する、新旧対応指定ファイル１４１を保持する。
【００２４】
前記記憶装置１２５は、前記メインフレーム計算機１０２の比較対象となるプログラムの実行結果について、実行結果のコピーを保存するタイミングと保存場所とを定義する情報を格納する、保存対象指定ファイル１６４を保持する。
【００２５】
前記記憶装置１２６は、前記メインフレーム計算機１０２の比較対象となるプログラムの実行結果である情報を格納する、バックアップファイル１６５を保持する。
【００２６】
前記記憶装置１３５は、前記オープン計算機１０３の比較対象となるプログラムの実行結果について、実行結果のコピーを保存するタイミングと保存場所とを定義する情報を格納する、保存対象指定ファイル１８４を保持する。
【００２７】
前記記憶装置１３６は、前記オープン計算機１０３の比較対象となるプログラムの実行結果である情報を格納する、バックアップファイル１８５を保持する。
【００２８】
更に、前記メモリ１１２は、全体処理部１５１と、対応取得部１５２と、比較処理部１５３と、比較一時情報１５４と、比較結果情報１５５と、を保持する。ここで、全体処理部１５１と、対応取得部１５２と、比較処理部１５３については、プログラムで実現されるものであり、メモリ１１２に展開(ロード)されることを示し、これらに従ってＣＰＵ１１１が後述する処理を実行する。なお、このことは、メインフレーム計算機１０２やオープン計算機１３１についても同様である。
【００２９】
前記比較一時情報１５４は、前記メインフレーム計算機１０２のプログラムの実行結果である一つのファイルと、前記オープン計算機１０３のプログラムの実行結果である一つのファイルとを、後に述べる比較処理部１５３において比較した結果である。
【００３０】
前記比較結果情報１５５は、比較一時情報１５４を合成した、前記出力装置１１５に出力される、前記メインフレーム計算機１０２のプログラムの実行結果と、前記オープン計算機１０３のプログラムの実行結果との比較結果である。
【００３１】
前記全体処理部１５１は、第一の実施の形態における各処理を順番に呼び出す処理部である。前記全体処理部１５１は、前記入力装置１１４からの入力を受け処理を開始し、前記ＣＰＵ１２１と前記メモリ１２２への接続を通じ、後に述べるジョブ制御処理追加部１７１を呼び出し、次に前記ＣＰＵ１３１と前記メモリ１３２への接続を通じ、後に述べるジョブ制御処理追加部１９１を呼び出し、最後に後に述べる対応取得部１５２を呼び出す。
【００３２】
前記対応取得部１５２は、本発明の実施の第一の形態の特徴の一つである。前記対応取得部１５２により、メインフレーム計算機１０２の実行結果と、オープン計算機１０３のプログラムの実行結果とを(より好適には一括して)比較することが可能となる。前記対応取得部１５２は、前記新旧対応指定ファイル１４１に保持される前記プログラムの実行結果であるファイルの組み合わせを定義する情報を参照し、ファイルの組み合わせ毎にまず前記比較処理部１５３を呼び出した後、前記比較処理部１５３から前記比較一時情報１５４を受け取り、個々の前記比較一時情報１５４を前記比較結果情報１５５にまとめ、最後に、前記比較結果情報１５５を前記出力装置１１５に出力する。
【００３３】
前記比較処理部１５３は、前記メインフレーム計算機１０２のプログラムの実行結果である前記バックアップファイル１６５の一つのファイルと、前記オープン計算機１０３のプログラムの実行結果である前記バックアップファイル１８５の一つのファイルとを比較し、比較一時情報１５４を出力する処理部である。
以上が、前記比較用計算機１０１の構成である。
【００３４】
次に、前記メインフレーム計算機１０２の構成を説明する。
前記メインフレーム計算機１０２は、ＣＰＵ１２１と、メモリ１２２と、を有する。
【００３５】
前記ＣＰＵ１２１と前記メモリ１２２とは、記憶装置１２３と、記憶装置１２４と、前記記憶装置１２５と、前記記憶装置１２６と、記憶装置１２７と、に接続する。
【００３６】
前記記憶装置１２３は、前記メインフレーム計算機１０２の後に述べるジョブ制御処理を指定するジョブ制御ファイル１６１と、前記ＣＰＵ１２１が前記メモリ１２２にロードすることにより実行対象のプログラムとなるプログラムファイル１６２と、を保持する。ジョブ制御処理は、ジョブステップの実行順序の指定である。ジョブステップは、実行対象となるプログラムの呼び出しとプログラムに対する入出力の情報との指定である。
【００３７】
前記記憶装置１２４は、前記メインフレーム計算機１０２のプログラムに対する入出力の情報となるファイルである入出力ファイル１６３を保持する。
【００３８】
前記記憶装置１２７は、後に述べるジョブ制御処理追加部１７１により、前記メインフレーム計算機１０２のジョブ制御ファイル１６１に、プログラムの実行結果である前記入出力ファイル１６３を前記バックアップファイル１６５に出力するジョブステップを追加したものである、新ジョブ制御ファイル１６６を保持する。
【００３９】
更に、前記メモリ１２２は、ジョブ制御処理追加部１７１と、ジョブ投入部１７２と、ジョブ実行部１７３と、プログラム１７４と、バックアップ実行部１７５と、を保持する。
【００４０】
前記ジョブ制御処理追加部１７１は、本発明の実施の第一の形態における特徴の一つである。前記ジョブ制御処理追加部１７１により、メインフレーム計算機１０２のプログラムの実行結果を一括して保存するための準備を行うことが可能となる。前記ジョブ制御処理追加部１７１は、前記保存対象指定ファイル１６４を参照し、前記ジョブ制御ファイル１６１に、バックアップ実行部１７５を呼び出すことによりプログラム１７４の実行結果を前記バックアップファイル１６５に出力するジョブステップを追加し、新ジョブ制御ファイル１６６として出力する。
【００４１】
前記ジョブ投入部１７２は、複数のジョブ制御処理を一括して実行するために、新ジョブ制御ファイル１６６を読み込み、次に述べるジョブ実行部１７３に渡す処理部である。
【００４２】
前記ジョブ実行部１７３は、新ジョブ制御ファイル１６６のジョブ制御処理に指定されたジョブステップを順番に実行する処理部である。前記ジョブ実行部１７３はジョブ投入部１７２から新ジョブ制御ファイル１６６を受け取り、新ジョブ制御ファイル１６６のジョブ制御処理の各ジョブステップに指定された後に述べるプログラム１７４に、前記ジョブステップに指定された入出力ファイル１６３を指定する情報を渡して起動し、また各ジョブステップに指定された後に述べるバックアップ実行部１７５に前記入出力ファイル１６３及び前記バックアップファイル１６５を指定する情報を渡して起動する。
【００４３】
前記プログラム１７４は、比較対象となるプログラムである。前記プログラム１７４は、前記プログラムファイル１６２を前記メモリ１７４にロードしたものであり、実行の際に前記入出力ファイル１６３を入出力する。
【００４４】
前記バックアップ実行部１７５は、前記プログラム１７４の実行結果である前記入出力ファイル１６３を保存するためのプログラムである。前記バックアップ実行部１７５は、実行の際に前記入出力ファイル１６３及び前記バックアップファイル１６５を入出力する。
以上が、前記メインフレーム計算機１０２の構成である。
【００４５】
最後に、前記オープン計算機１０３の構成を説明する。
前記オープン計算機１０３は、ＣＰＵ１３１と、メモリ１３２と、を有する。
前記ＣＰＵ１３１と前記メモリ１３２とは、記憶装置１３３と、記憶装置１３４と、前記記憶装置１３５と、前記記憶装置１３６と、記憶装置１３７と、に接続する。
【００４６】
前記記憶装置１３３は、前記オープン計算機１０３のジョブ制御処理を指定するジョブ制御ファイル１８１と、前記ＣＰＵ１３１が前記メモリ１３２にロードすることにより実行対象のプログラムとなるプログラムファイル１８２と、を保持する。
【００４７】
前記記憶装置１３４は、前記オープン計算機１０３のプログラムに対する入出力の情報となるファイルである入出力ファイル１８３を保持する。
【００４８】
前記記憶装置１３７は、後に述べるジョブ制御処理追加部１９１により、前記ジョブ制御ファイル１８１に、プログラムの実行結果である前記入出力ファイル１８３を前記バックアップファイル１８５に出力するジョブステップを追加したものである、新ジョブ制御ファイル１８６を保持する。
【００４９】
更に、前記メモリ１３２は、ジョブ制御処理追加部１９１と、ジョブ投入部１９２と、ジョブ実行部１９３と、プログラム１９４と、バックアップ実行部１９５と、を保持する。
【００５０】
前記ジョブ制御処理追加部１９１は、前記メインフレーム計算機１０２における前記ジョブ制御処理追加部１７１と同じく、本発明の実施の第一の形態の特徴の一つである。前記ジョブ制御処理追加部１９１により、オープン計算機１０３のプログラムの実行結果を一括して保存するための準備を行うことが可能となる。前記ジョブ制御処理追加部１９１は、前記保存対象指定ファイル１８４を参照し、前記オープン計算機１０３のジョブ制御ファイル１８１に、バックアップ実行部１９５を呼び出すことによりプログラム１９４の実行結果を前記バックアップファイル１８５に出力するジョブステップを追加し、新ジョブ制御ファイル１８６として出力する。
【００５１】
前記ジョブ投入部１９２は、複数のジョブ制御処理を一括して実行するために、新ジョブ制御ファイル１８６を読み込み、ジョブ実行部１９３に渡す処理部である。前記ジョブ投入部１９２は、前記メインフレーム計算機１０２における前記ジョブ投入部１７２と同種の処理を行う。
【００５２】
前記ジョブ実行部１９３は、新ジョブ制御ファイル１８６のジョブ制御処理に指定されたジョブステップを順番に実行する処理部である。前記ジョブ実行部１９３はジョブ投入部１９２から新ジョブ制御ファイル１８６を受け取り、新ジョブ制御ファイル１８６のジョブ制御処理の各ジョブステップに指定された後に述べるプログラム１９４に、前記ジョブステップに指定された入出力ファイル１８３を指定する情報を渡して起動し、また各ジョブステップに指定された後に述べるバックアップ実行部１９５に前記入出力ファイル１８３及び前記バックアップファイル１８５を指定する情報を渡して起動する。前記ジョブ実行部１９３は、前記メインフレーム計算機１０２における前記ジョブ実行部１７３と同種の処理を行う。
【００５３】
前記プログラム１９４は、前記メインフレーム計算機１０２における前記プログラム１７４との比較対象となるプログラムである。前記プログラム１９４は、前記プログラムファイル１６２を前記メモリ１７４にロードしたものであり、実行の際に前記入出力ファイル１８３を入出力する。
【００５４】
前記バックアップ実行部１９５は、前記プログラム１９４の実行結果である前記入出力ファイル１８３を保存するためのプログラムである。前記バックアップ実行部１９５は、実行の際に前記入出力ファイル１８３及び前記バックアップファイル１８５を入出力する。前記バックアップ実行部１９５は、前記メインフレーム計算機１０２における前記バックアップ実行部１７５と同様の処理を行う。
以上が、前記オープン計算機１０３の構成である。
【００５５】
前記新旧対応指定ファイル１４１と、前記ジョブ制御ファイル１６１と、前記入出力ファイル１６３と、前記保存対象指定ファイル１６４と、前記新ジョブ制御ファイル１６６と、前記ジョブ制御ファイル１８１と、前記入出力ファイル１８３と、前記保存対象指定ファイル１８４と、前記新ジョブ制御ファイル１８１と、前記比較一時情報１５３と、前記比較結果情報１５４と、の詳細な説明、及び、前記全体処理部１５１と、前記対応取得部１５２と、前記比較処理部１５３と、前記ジョブ制御処理追加部１７１と、前記ジョブ制御処理追加部１９１と、の詳細な流れ、及び、前記出力装置１１５の出力結果の詳細、については後述する。
【００５６】
図２は、本発明の第一の実施の形態によるメインフレーム計算機１０２のソフトウェア構造を示す模式図である。オペレーティングシステム２０１は、ジョブ管理部２０２を有する。ジョブ管理部２０２はジョブ投入部１７２と、ジョブ実行部１７３を有する。運用ソフト２０３と、ジョブ２０４とはオペレーティングシステム２０１のジョブ管理部２０２の機能を利用する。ジョブ制御処理追加部１７１、プログラム１７４、バックアップ実行部１７５はオペレーティングシステム２０１の機能を利用する。
【００５７】
以下、図３から図１４を用いて、第一の実施の形態における各ファイルの詳細と、出力装置１１５の表示の詳細とを説明する。
【００５８】
図３は、新旧対応指定ファイル１４１を示す図である。テーブル３０１は新旧対応指定ファイル１４１の一例であり、フィールドとして、オープンのバックアップファイルＩＤ３１１と、オープンのバックアップファイルパス３１２と、メインフレームのバックアップファイルＩＤ３１３と、メインフレームのバックアップファイルパス３１４を有する。レコード３２１は、オープンのバックアップファイルＩＤ３１１が「１」、オープンのバックアップファイルパス３１２が「／ｍｎｔ／ｄｓｋ２／ｂａｃｋｕｐ１．ｄａｔ」、メインフレームのバックアップファイルＩＤ３１３が「１」、メインフレームのバックアップファイルパス３１４が「／ｍｎｔ／ｄｓｋ１／ＢＡＣＫＵＰ１」となる組み合わせを示している。なお、レコード３２１は、後の図１０に示す保存対象指定ファイル１８４において、バックアップファイルＩＤ３１１に示すバックアップファイルＩＤ「１」であるバックアップファイルのバックアップファイルパスが「／ｍｎｔ／ｄｓｋ２／ｂａｃｋｕｐ１．ｄａｔ」であることと、後の図６に示す保存対象指定ファイル１６４において、バックアップファイルＩＤ３１３に示すバックアップファイルＩＤ「１」であるバックアップファイルのバックアップファイルパスが「／ｍｎｔ／ｄｓｋ１／ＢＡＣＫＵＰ１」であることと、更に、前記２つのファイルが比較対象であることと、を意味する。
【００５９】
図４は、ジョブ制御ファイル１６１を示す図である。ジョブ制御ファイル１６１には、ファイル名が「Ａ００１」であるジョブ制御ファイル４０１とファイル名が「Ａ００２」であるジョブ制御ファイル４０２が存在する。ジョブ制御ファイル４０１「Ａ００１」は、ジョブステップ４１１「ＳＴＥＰ１」を有する。ジョブステップ４１１の入力ファイルの指定４２１は、入力ファイルが「ＦＩＬＥ１」であることを、また、出力ファイルの指定４２２は出力ファイルが「ＦＩＬＥ２」であることを、それぞれ示している。ジョブ制御ファイル４０２「Ａ００２」は、ジョブステップ４３１「ＳＴＥＰ２」を有する。ジョブステップ４３１の入力ファイルの指定４４１は、入力ファイルが「ＦＩＬＥ２」であることを、出力ファイルの指定４４２は出力ファイルが「ＦＩＬＥ１」であることを、それぞれ示している。
【００６０】
図５は、入出力ファイル１６３を示す図である。入出力ファイル５０１はファイル名が「ＦＩＬＥ１」であるファイルの一例である。５２１、５２２及び５２３はレコードである。５１１、５１２及び５１３はフィールドである。例えば、レコード５２１のフィールド５１１の値は「１」である。５３１はファイル終了を表す。また、入出力ファイル５０２はファイル名が「ＦＩＬＥ２」であるファイルの一例である。５５１及び５５２はレコードである。５４１及び５４２はフィールドである。５６１はファイル終了を表す。
【００６１】
図６は、保存対象指定ファイル１６４を示す図である。表６０１は保存対象指定ファイル１６４の一例である。表６０１はフィールドとして、バックアップファイルＩＤ６１１と、元ファイル名６１２と、ジョブ制御ファイル名６１３と、ジョブステップ名６１４と、保存タイミング６１５と、保存先ファイル名６１６とを有する。また、表６０１はレコード６２１とレコード６２２を有する。レコード６２１は、バックアップファイルＩＤ６１１が「１」、元ファイル名６１２が「ＦＩＬＥ１」、ジョブ制御ファイル名６１３が「Ａ００１」、ジョブステップ名６１４が「ＳＴＥＰ１」、保存タイミング６１５が「ジョブステップの前」、保存先ファイル名６１６が「ＢＡＣＫＵＰ１」であることを示す。なお、レコード６２１は、ジョブ制御ファイル名が「Ａ００１」であるジョブ制御ファイルのジョブステップ名が「ＳＴＥＰ１」であるジョブステップの実行前にファイル名が「ＦＩＬＥ１」であるファイルを、ファイル名「ＢＡＣＫＵＰ１」であるファイルにコピーすること、ならびに、ファイル名「ＢＡＣＫＵＰ１」であるファイルのバックアップファイルＩＤが「１」であることを示す。
【００６２】
図７は、新ジョブ制御ファイル１６６を示す図である。新ジョブ制御ファイル１６６には、ジョブ制御ファイル７０１「Ａ００１」が存在する。ジョブ制御ファイル７０１「Ａ００１」は、本実施例に示す方法により、ジョブ制御ファイル４０１におけるジョブステップ４１１であるジョブステップ７１１の前後に、追加ジョブステップ７１２と追加ジョブステップ７１３が追加されたものである。ジョブステップ７１１の入力ファイルの指定７２１は、入力ファイルが「ＦＩＬＥ１」であることを、出力ファイルの指定７２２は出力ファイルが「ＦＩＬＥ２」であることを、それぞれ示している。また、追加ジョブステップ７１２の入力ファイルの指定７３１は、入力ファイルが「ＦＩＬＥ１」であることを、出力ファイルの指定７３２は出力ファイルが「ＢＡＣＫＵＰ１」であることを、それぞれ示している。更に、追加ジョブステップ７１３の入力ファイルの指定７４１は、入力ファイルが「ＦＩＬＥ２」であることを、出力ファイルの指定７４２は出力ファイルが「ＢＡＣＫＵＰ２」であることを、それぞれ示している。追加ジョブステップ７１２と追加ジョブステップ７１３により、保存対象指定ファイル１６４により指定される、比較対象となるバックアップファイルを保存することができる。
【００６３】
図８は、ジョブ制御ファイル１８１を示す図である。ジョブ制御ファイル１８１には、ジョブ制御ファイル８０１「ａ００１」とジョブ制御ファイル８０２「ａ００２」が存在する。ジョブ制御ファイル８０１「ａ００１」は、ジョブステップ８１１「ｓｔｅｐ１」を有する。ジョブステップ８１１の入力ファイルの指定８２１は、入力ファイルが「ｆｉｌｅ１．ｄａｔ」であることを、出力ファイルの指定８２２は出力ファイルが「ｆｉｌｅ２．ｄａｔ」であることを、それぞれ示している。ジョブ制御ファイル８０２「ａ００２」は、ジョブステップ８３１「ｓｔｅｐ２」を有する。ジョブステップ８３１の入力ファイルの指定８４１は、入力ファイルが「ｆｉｌｅ２．ｄａｔ」であることを、出力ファイルの指定８４２は出力ファイルが「ｆｉｌｅ１．ｄａｔ」であることを、それぞれ示している。
【００６４】
図９は、入出力ファイル１８３の表示を示す図である。入出力ファイル９０１はファイル名が「ｆｉｌｅ１．ｄａｔ」であるファイルの一例である。９２１、９２２及び９２３はレコードである。９１１、９１２及び９１３はフィールドである。例えば、レコード９２１のフィールド９１１の値は「１」である。９３１はファイル終了を表す。また、入出力ファイル９０２はファイル名が「ｆｉｌｅ２．ｄａｔ」であるファイルの一例である。９５１及び９５２はレコードである。９４１及び９４２はフィールドである。９６１はファイル終了を表す。なお、図９に示す入出力ファイル９０２と、図５に示した入出力ファイル５０２は、レコード９５２及びレコード５５２の値が異なる。
【００６５】
図１０は、保存対象指定ファイル１８４を示す図である。表１００１は保存対象指定ファイル１８４の一例である。表１００１はフィールドとして、バックアップファイルＩＤ１０１１と、元ファイル名１０１２と、ジョブ制御ファイル名１０１３と、ジョブステップ名１０１４と、保存タイミング１０１５と、保存先ファイル名１０１６とを有する。また、表１００１はレコード１０２１とレコード１０２２を有する。レコード１０２１は、バックアップファイルＩＤ１０１１が「１」、元ファイル名１０１２が「ｆｉｌｅ１．ｄａｔ」、ジョブ制御ファイル名１０１３が「ａ００１」、ジョブステップ名１０１４が「ｓｔｅｐ１」、保存タイミング１０１５が「ジョブステップの前」、保存先ファイル名１０１６が「／ｍｎｔ／ｄｒｖ１／ｂａｃｋｕｐ１．ｄａｔ」であることを示す。
【００６６】
図１１は、新ジョブ制御ファイル１８１を示す図である。新ジョブ制御ファイル１８１には、ジョブ制御ファイル１１０１「ａ００１」が存在する。ジョブ制御ファイル１１０１「ａ００１」は、本実施例に示す方法により、ジョブ制御ファイル８０１におけるジョブステップ８１１であるジョブステップ１１１１の前後に、追加ジョブステップ１１１２と追加ジョブステップ１１１３が追加されたものである。ジョブステップ１１１１の入力ファイルの指定１１２１は、入力ファイルが「ｆｉｌｅ１．ｄａｔ」であることを、出力ファイルの指定１１２２は出力ファイルが「ｆｉｌｅ２．ｄａｔ」であることを、それぞれ示している。また、追加ジョブステップ１１１２の入力ファイルの指定１１３１は、入力ファイルが「ｆｉｌｅ１．ｄａｔ」であることを、出力ファイルの指定１１３２は出力ファイルが「／ｍｎｔ／ｄｒｖ１／ｂａｃｋｕｐ１．ｄａｔ」であることを、それぞれ示している。更に、追加ジョブステップ１１１３の入力ファイルの指定１１４１は、入力ファイルが「ｆｉｌｅ２．ｄａｔ」であることを、出力ファイルの指定１１４２は出力ファイルが「／ｍｎｔ／ｄｒｖ１／ｂａｃｋｕｐ２．ｄａｔ」であることを、それぞれ示している。
【００６７】
図１２は、比較一時情報１５３を示す図である。表１２０１は比較一時情報１５３の一例である。表１２０１はフィールドとして、オープンファイルレコード番号１２１１と、メインフレームファイルレコード番号１２１２と、同異１２１３とを有する。また、レコードとして、１２２１、１２２２、１２２３を有する。レコード１２２１は、オープンファイルレコード番号１２１１が「１」であり、メインフレームファイルレコード番号１２１２が「１」であり、同異１２１３が「等しい」であることを示している。
【００６８】
図１３は、比較結果情報１５４の表示を示す図である。表１３０１は比較結果情報１５４の表示の一例である。表１３０１はフィールドとして、レコード番号１３１１と、オープンのジョブ制御ファイル名１３１２と、オープンのジョブステップ名１３１３と、オープンファイルの保存タイミング１３１４と、オープンファイル名１３１５と、オープンファイルレコード番号１３１６と、メインフレームのジョブ制御ファイル名１３１７と、メインフレームのジョブステップ名１３１８と、メインフレームファイルの保存タイミング１３１９と、メインフレームファイル名１３２０と、メインフレームファイルレコード番号１３２１と、同異１３２２と、を有する。また、レコードとして、レコード１３３１と、レコード１３３２と、レコード１３３３と、レコード１３３４と、レコード１３３５と、レコード１３３６と、を有する。レコード１３３１は、レコード番号１３１１が「１」であり、オープンのジョブ制御ファイル名１３１２が「ａ００１」であり、オープンのジョブステップ名１３１３が「ｓｔｅｐ１」であり、オープンファイルの保存タイミング１３１４が「ジョブステップの前」であり、オープンファイル名１３１５が「ｆｉｌｅ１．ｄａｔ」であり、オープンファイルレコード番号１３１６が「１」であり、メインフレームのジョブ制御ファイル名１３１７が「ＳＴＥＰ１」であり、メインフレームのジョブステップ名１３１８が「Ａ００１」であり、メインフレームファイルの保存タイミング１３１９が「ジョブステップの前」であり、メインフレームファイル名１３２０が「ＦＩＬＥ１」であり、メインフレームファイルレコード番号１３２１が「１」であり、同異１３２２が「等しい」であることを示している。なお、レコード１３３１は、オープン計算機１０３のジョブ制御ファイル名が「ａ００１」であるジョブ制御ファイルのジョブステップ名が「ｓｔｅｐ１」であるジョブステップの実行前にバックアップされたファイル名が「ｆｉｌｅ１．ｄａｔ」であるファイルの第１番目のレコードと、メインフレーム計算機１０２のジョブ制御ファイル名が「Ａ００１」であるジョブ制御ファイルのジョブステップ名が「ＳＴＥＰ１」であるジョブステップの実行前にバックアップされたファイル名が「ＦＩＬＥ１」であるファイルの第１番目のレコードとが、比較処理部１５３により等しいと判断されたことを示す。
【００６９】
図１４は、出力装置１１５の表示を示す図である。比較結果表示１４０１は、出力装置１１５の表示の一例である。比較結果１４１１は、オープンのジョブ制御ファイル「ａ００１」の実行結果と、メインフレームのジョブ制御ファイル「Ａ００１」の実行結果とが異なることを表す。ファイル比較結果１４１１は、ジョブ制御ファイル「ａ００１」のジョブステップ「ｓｔｅｐ１」実行前のオープンファイル「ｆｉｌｅ１．ｄａｔ」と、ジョブ制御ファイル「Ａ００１」のジョブステップ「ＳＴＥＰ１」実行前のメインフレームファイル「ＦＩＬＥ１」は等しいことを表す。ファイル比較結果１４１２は、ジョブ制御ファイル「ａ００１」のジョブステップ「ｓｔｅｐ１」実行後のオープンファイル「ｆｉｌｅ２．ｄａｔ」と、ジョブ制御ファイル「Ａ００１」のジョブステップ「ＳＴＥＰ１」実行後のメインフレームファイル「ＦＩＬＥ２」は等しいこと、及び前記オープンファイル「ｆｉｌｅ２．ｄａｔ」の第２レコードはオープンにのみ存在すること、及び、メインフレームファイル「ＦＩＬＥ２」の第２レコードはメインフレームにのみ存在することを表す。
【００７０】
次に、第一の実施の形態における、各処理部での処理の流れを説明する。
まず、全体処理部１５１の処理の流れを、図１５のフローチャートを参照しながら、詳細に説明する。第一に、入力装置から全体処理部１５１の起動を受け付ける（ステップ１５０１）次に、メインフレーム計算機１０２のジョブ制御処理追加部１７１を呼び出す（ステップ１５０２）。次に、オープン計算機１０３のジョブ制御処理追加部１９１を呼び出す（ステップ１５０３）。最後に、対応取得部１５２を呼び出す（ステップ１５０４）。ステップ１５０２及び１５０３の順番は前後しても、また並列でも構わない。また、バックアップファイル内のデータの文字コードを一致させる処理を設け、上記のステップ１５０４を実行する前に、必要に応じて実行させる。
【００７１】
次に、ジョブ制御処理追加部１７１の処理の流れを、図１６のフローチャートと、図６の保存対象指定ファイル１６４と、図７の新ジョブ制御ファイル１６６と、を参照しながら、詳細に説明する。ジョブ制御処理追加部１７１の処理を開始後、保存対象指定ファイル１６４の上から一レコードを読み込む（ステップ１６０１）。次に、ステップ１６０１において読み込んだジョブ制御ファイル名６１３に対応するジョブ制御ファイルをジョブ制御ファイル１６１から読み込む（ステップ１６０２）。ステップ１６０２において読み込んだジョブ制御ファイルに対し、ステップ１６０１において読み込んだジョブステップ名６１４及び保存タイミング６１５の指定する箇所に、元ファイル名６１２から保存先ファイル名６１６へバックアップを行うジョブステップを追加する（ステップ１６０３）。図６及び図７を例にして示すと、レコード６２１の情報をもとに、ジョブステップ７１２が追加される。次に、保存対象指定ファイル１６４における、ステップ１６０１において読み込んだレコードの次のレコードがあり、かつ次のレコードが、ステップ１６０１において読み込んだジョブ制御ファイル名６１３と同じ値のジョブ制御ファイル名６１３を有するかを判断し（ステップ１６０４）、有する場合は、ステップ１６０２において読み込んだジョブ制御ファイルをジョブ制御ファイル１６６に出力する（ステップ１６０５）。有さない場合は、何も行わない。図６を例にして示すと、レコード６２１を処理している場合は、何も行わず、レコード６２２を処理している場合は、図７に示すジョブ制御ファイルをジョブ制御ファイル１６６に出力する。ステップ１６０４及びステップ１６０５の後に、保存対象指定ファイル１６４の次のレコードがあるか（ステップ１６０６）を判断し、ある場合はステップ１６０１に戻る。ない場合は、ジョブ投入部１７２を起動し（ステップ１６０７）、ジョブ制御処理追加部１７１の処理を終了する。なお、ジョブ制御処理追加部１９１は、ジョブ制御処理追加部１７１と同様の処理を行う。
【００７２】
次に、対応取得部１５２の処理の流れを、図３の新旧対応指定ファイル１４１と、図１７のフローチャートとを参照しながら、詳細に説明する。まず、対応取得部１５２は、比較一時情報１５５の各レコードを削除する（ステップ１７０１）。次に、新旧対応指定ファイル１４１に未読のレコードがある（ステップ１７０２）場合は、新旧対応指定ファイル１４１から、未読の１レコード、すなわち、オープンのバックアップファイルＩＤ３１１「Ｘ」と、オープンのバックアップファイルパス３１２と、メインフレームのバックアップファイルＩＤ３１３と、メインフレームのバックアップファイル名３１４と、を読み込む（ステップ１７０３）。以下、ステップ１７０３で読み込んだ、オープンのバックアップファイルＩＤ３１１を「Ｘ」とし、オープンのバックアップファイルパス３１２を「Ａ」とし、メインフレームのバックアップファイルＩＤ３１３を「Ｙ」とし、メインフレームのバックアップファイル名３１４を「Ｂ」とする。ステップ１５０３の後、オープン計算機１０２のバックアップファイル１８５から、バックアップファイルパス「Ａ」により指定されるファイルを読み込み（ステップ１７０４）、メインフレーム計算機１０３のバックアップファイル１６５から、バックアップファイルパス「Ｂ」により指定されるファイルを読み込む（ステップ１７０５）。以下、本文中において、バックアップファイルパス「Ａ」により指定されるファイルをファイル「Ａ」と呼び、またバックアップファイルパス「Ｂ」により指定されるファイルをファイル「Ｂ」と呼ぶ。ステップ１７０５の後、ファイル「Ａ」とファイル「Ｂ」の両方が存在しない（ステップ１７０６）場合は、ステップ１７０２に戻る。ステップ１７０５の後、ファイル「Ａ」とファイル「Ｂ」の両方が存在する（ステップ１７０６）場合は、比較処理部１５３にファイル「Ａ」とファイル「Ｂ」を渡す（ステップ１７０７）。図３を例にして示すと、レコード３２１を処理している場合は、ファイルパスが「／ｍｎｔ／ｄｓｋ２／ｂａｃｋｕｐ１．ｄａｔ」であるファイルと、ファイルパスが「／ｍｎｔ／ｄｓｋ１／ＢＡＣＫＵＰ１」であるファイルとを渡す。ステップ１７０７の後に、比較処理部１５３から比較一時情報１５５を受け取る（ステップ１７０８）。ステップ１７０８の後、保存対象指定ファイル１８４から、値が「Ｘ」であるオープンのバックアップファイルＩＤ１０１１を有する行の元ファイル名１０１２、ジョブ制御ファイル名１０１３、ジョブステップ名１０１４、保存タイミング１０１５を読み込む（ステップ１７０９）。次に、保存対象指定ファイル１６４から、値が「Ｙ」であるメインフレームのバックアップファイルＩＤ６１１を有する行の元ファイル名６１２、ジョブ制御ファイル名６１３、ジョブステップ名６１４、保存タイミング６１５を読み込む（ステップ１７１０）。次に、比較一時情報１５５のレコードごとに、比較一時情報１５５の１レコードの情報及び、ステップ１７０９およびステップ１７１０において取得した情報を、比較結果情報１５４に追加し（ステップ１７１１）、ステップ１７０２に戻る。新旧対応指定ファイル１４１に未読のレコードがない（ステップ１７０２）場合は、比較結果情報１５４を出力装置１０３に送信し（ステップ１７１２）、対応取得部１５２の処理を終了する。
【００７３】
次に、比較処理部１５３の処理の流れを、図１８のフローチャートを参照しながら、詳細に説明する。まず、対応取得部１５２からファイル「Ａ」と、ファイル「Ｂ」とを取得する（ステップ１８０１）。次に、変数ｉの値を「１」、ｊの値を「１」とする（ステップ１８０２）。次に、ｉがオープンファイルのレコード数「Ｍ」を超過するかを判断する（ステップ１８０３）。ステップ１８０３において超過する場合は、ｊがメインフレームファイルのレコード数「Ｎ」を超過するかを判断する（ステップ１８０４）。ステップ１８０４において超過しない場合は、比較一時情報１５５に、ｋの値が「ｉ」から「Ｎ」まで、オープンファイルレコード番号１２１４に「なし」、メインフレームファイルレコード番号１２１５に「ｋ」、同異１２１６に「異なる」となるＮ−ｉ＋１個の組み合わせを追加し（ステップ１８０５）、比較一時情報１５５を対応取得部１５２に送信し（ステップ１８１３）、対応取得部１５２の処理を終了する。ステップ１８０４においてｊがメインフレームファイルのレコード数「Ｎ」を超過する場合は、ステップ１８１３を実行し、対応取得部１５２の処理を終了する。ステップ１８０３において、ｉがオープンファイルのレコード数「Ｍ」を超過しない場合は、ｊがメインフレームファイルの行数Ｎを超過するかを判断する（ステップ１８０６）。ステップ１８０６においてｊがメインフレームファイルの行数Ｎを超過する場合は、比較一時情報１５５に、ｋの値が「ｉ」から「Ｎ」まで、オープンファイルレコード番号１２１４に「ｋ」、メインフレームファイルレコード番号１２１５に「なし」、同異１２１６に「異なる」のＮ−ｉ＋１個の組み合わせを追加する（ステップ１８０７）。ステップ１８０７の後に、比較一時情報１５５を対応取得部１５２に送信し（ステップ１８１３）、比較処理部１５３の処理を終了する。ステップ１８０６においてｊがメインフレームファイルの行数Ｎを超過しない場合は、オープンファイルレコードｉに対し、メインフレームファイルのレコードｊの内容が等しいかを判断する（ステップ１８０８）。ステップ１８０８においてオープンファイルレコードｉに対し、メインフレームファイルのレコードｊの内容が等しい場合は、比較一時情報１５５に、オープンファイルレコード番号１２１４に「ｉ」、メインフレームファイルレコード番号１２１５に「ｊ」、同異１２１６に「等しい」の組み合わせを追加し（ステップ１８０９）、ｉ及びｊにそれぞれ「１」を加算する（ステップ１８１０）。ステップ１８１０の後に、ステップ１８０３に戻る。ステップ１８０８においてオープンファイルレコードｉに対し、メインフレームファイルのレコードｊの内容が異なる場合は、比較一時情報１５５に、オープンファイルレコード番号１２１４に「なし」、メインフレームファイルレコード番号１２１５に「ｊ」、同異１２１６に「異なる」の組み合わせを追加し（ステップ１８１１）、ｊに「1」を加算し（ステップ１８１２）、ステップ１８０３に戻る。なお、差分を示すアルゴリズムは、図１８に示す方法に限定されるものではない。
【００７４】
最後に、本発明の第一の実施の形態全体の処理の流れを、図１９のタイムチャートを参照しながら、詳細に説明する。入力装置１１４（活性区間１９０１）は、全体処理部１５１を呼び出す（メッセージ１９０２）。開始された全体処理部１５１（活性区間１９０３）は、メインフレーム計算機１０２のジョブ制御処理追加部１７１を呼び出す（メッセージ１９０４）。ジョブ制御処理追加部１７１の処理実行（活性区間１９０５）及び終了（メッセージ１９０６）後、全体処理部１５１はオープン計算機１０３のジョブ制御処理追加部１９１を呼び出す（メッセージ１９０７）。ジョブ制御処理追加部１９１の処理実行（活性区間１９０８）及び終了（メッセージ１９０９）し、最後に全体処理部１５１は比較用計算機１０１の対応取得部１５２を呼び出す（メッセージ１９１０）。対応取得部１５２は実行中に（活性区間１９１１）、比較処理部１５３を呼び出し（範囲１９１２）、各比較処理が終了（メッセージ１９１３）後、出力装置１１５に比較結果を送付する。
【００７５】
なお、第一の実施の形態の装置構成において、メインフレーム計算機１０２とオープン計算機１０３は種類の異なる計算機である必要、もしくは特定の種類の計算機に縛られる必要はなく、第一の実施の形態を実行可能な計算機であれば、いかなる種類の計算機を用いて実現してもよい。
【００７６】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアを用いて実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することにより実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、磁気テープ、ＤＶＤ等の記録媒体に置くことができる。
【００７７】
また、各構成要素の接続は説明上必要と考えられるものを示しており、必ずしも全ての接続を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【実施例２】
【００７８】
以下、図２０から図２５を用いて、多数のプログラムを動作確認する場合に、比較すべきプログラムの実行結果の組み合わせを作成し、多数のプログラムの実行結果を一括して保存し、かつ、実行結果の違いを一括して判別し、かつ、比較すべきファイルの組み合わせに優先順位をつけることにより優先すべき比較作業を先に実行し、かつ、ファイル比較で違いがあった場合に、下位の優先順位のファイルの組み合わせを比較するため、不具合が生じているプログラムを効率的にあらいだすことができる、第二の実施の形態（実施例２）におけるプログラムの実行結果の比較方法について説明する。
【００７９】
図２０は、第二の実施の形態の全体図である。図２０に示す比較用計算機２００１は、メインフレーム計算機１０２のプログラムの実行結果と、オープン計算機１０３のプログラムの実行結果とを一括して比較するための装置である。図２０に示すメインフレーム計算機１０２と、オープン計算機１０３は、第一の実施の形態と同じである。
以下、前記比較用計算機２００１の構成を説明する。
【００８０】
前記比較用計算機２００１は、第一の実施の形態と同様のＣＰＵ１１１と、メモリ２０１１と、を有する。
【００８１】
前記ＣＰＵ１１１と前記メモリ２０１１とは、記憶装置２０１２と、前記入力装置１１４と、前記出力装置１１５と、に接続する。更に、前記ＣＰＵ１１１と前記メモリ２０１１とは、第一の実施の形態と異なり、前記記憶装置１２３と、前記記憶装置１３３とに接続する。
【００８２】
前記記憶装置２０１２は、対応設定ファイル２０２１と、新旧対応指定ファイル２０２２と、を保持する。
【００８３】
前記対応設定ファイル２０２１は、比較すべきプログラムの実行結果の組をジョブ制御ファイルの情報から抽出するための、ジョブ制御ファイル名とジョブ制御ファイル内のジョブステップ名とプログラムの入出力ファイル名との変換ルールを格納する。
【００８４】
前記新旧対応指定ファイル２０２２は、第一の実施の形態の新旧対応指定ファイル１４１の保持する情報に追加し、比較すべき前記メインフレーム計算機１０２のプログラムの実行結果と、前記オープン計算機１０３のプログラムの実行結果との組み合わせを対象とする、比較の優先順位を定義する情報を格納する。
【００８５】
また、前記メモリ２０１１は、全体処理部２０３１と、対応生成部２０３２と、対応取得部２０３３と、前記比較処理部１５３と、第一の実施の形態と同じ比較一時情報１５４と、第一の実施の形態と同じ比較結果情報１５５と、を保持する。
【００８６】
前記全体処理部２０３１は、第一の実施の形態における前記全体処理部１５１と同様に、第二の実施の形態における各処理を順番に呼び出す処理部である。前記全体処理部２０３１は、前記入力装置１１４からの入力を受け処理を開始し、後に述べる対応生成部２０３２を呼び出し、前記ＣＰＵ１２１と前記メモリ１２２への接続を通じ、前記ジョブ制御処理追加部１７１を呼び出し、前記ＣＰＵ１３１と前記メモリ１３２への接続を通じ、前記ジョブ制御処理追加部１９１を呼び出し、最後に後に述べる対応取得部２０３３を呼び出す。
【００８７】
前記対応生成部２０３２は、本発明の実施の第二の形態における特徴の一つである。前記対応生成部２０３２により、多数のプログラムの実行結果の比較の準備の一つである、プログラム実行結果の対応関係の取得を効率化することができる。前記対応生成部２０３２は、前記対応設定ファイル２０２１と、ジョブ制御ファイル１６１とを参照し、ジョブ制御ファイル１６１の個々のファイル名とジョブ制御ファイルのジョブステップとプログラムの入出力ファイル名と対応設定ファイル２０２１の変換ルールとを比較し、ジョブ制御ファイル１６１の保存タイミングと、ジョブ制御ファイル１８１の個々のジョブステップと入出力ファイル名と保存タイミングとを作成し、ジョブ制御ファイル１６１のジョブステップと入出力ファイル名と保存タイミングを保存対象指定ファイル１６４に出力し、ジョブ制御ファイル１８１のジョブステップと入出力ファイル名を保存対象指定ファイル１８４に出力し、比較対照するバックアップファイルの情報を保存対象指定ファイル２０２３に出力する。
【００８８】
前記対応取得部２０３３は、本発明の実施の第二の形態の特徴の一つである。前記対応取得部２０３３により、比較すべきプログラムの実行結果の組み合わせの優先順位である比較レベルを参照し、優先すべき比較作業を先に実行し比較結果を受け取ることができる。また、前記対応取得部２０３３により、ファイル比較時に違いがあった場合にのみ、下位の優先順位のファイルの組み合わせを比較することにより、ジョブの実行結果違いのあるなしに応じて比較結果の出力を減らすことができる。前記対応取得部２０３３は、第一の実施の形態における前記対応取得部１５２の処理に追加して、前記新旧対応指定ファイル２０２２に保持される前記プログラムの実行結果であるバックアップファイル１６５とバックアップファイル１８５の組み合わせを定義する情報と、前記組み合わせの優先順位の情報を参照し、優先順位が上位の前記組み合わせに対し前記比較処理部１５３を呼び出す処理と、前記組み合わせに対し前記比較処理部１５３から受け取った前記比較一時情報１５４に、バックアップファイル１６５とバックアップファイル１８５に違いがある場合（これらに異なる情報が含まれる）に、より下位の優先順位の組み合わせに対し前記比較処理部１５３を呼び出す処理と、を有する。この処理は、違いがある場合に限って、比較処理部１５３を呼び出すようにしてもよい。
以上が、前記比較用計算機２００１の構成である。
【００８９】
以下、図２１から図２２を用いて、第二の実施の形態における各ファイルの詳細の説明を行う。
図２１は、対応設定ファイル２０２１を示す図である。表２１０１は、対応設定ファイル２０２１の一例である。表２１０１はフィールドとして、変換ルール種類２１１１と、変換ルール２１１２と、を有する。また、レコードとして、２１２１と、２１２２と、２１２３と、を有する。レコード２１２１は、変換ルール種類２１１１が「ジョブ制御ファイル変換ルール」であり、変換ルール２１１２が「”／ｍｎｔ／ｄｓｋ２／”＋ｄｏｗｎｃａｓｅ（変換前ファイル名）＋”．ｄａｔ”」であることを示している。レコード２１２２は、変換ルール種類２１１１が「ジョブステップ変換ルール」であり、変換ルール２１１２が「同位置」であることを示している。すなわち、ジョブ制御ファイル１６１とジョブ制御ファイル１８１とにおいて実行順番が同じジョブステップを対応すると対応生成部２０３２がみなすことを意味する。レコード２１２３は、変換ルール種類２１１１が「入出力ファイル名変換ルール」であり、変換ルール２１１２が「ｄｏｗｎｃａｓｅ（変換前ファイル名）」であること、すなわち変換前の名称の小文字化を行うことを示している。変換ルール２１１２には、ジョブステップが同位置であるか、文字列、文字列の結合、「ｉｆ−ｔｈｅｎ」ルール、変換前の名称の大文字化、変換前の名称の小文字化、またはその組み合わせを記述することができる。図２１の例の他に、たとえばフィールド２１１２に変換に使用するプログラム名を指定し、プログラムを用いて変換する方法も考えられる。
【００９０】
図２２は、新旧対応指定ファイル２０２２を示す図である。表２２０１は、新旧対応指定ファイル２０２２の一例である。表２２０１は、図３に示す新旧対応指定ファイル１４１の一例である表３０１に追加して、フィールドとして、比較グループ２２１１と、比較レベル２２１２とを有する。また、表２２０１はレコードとして、２２２１及び２２２２を有する。レコード２２２１は、オープンのバックアップファイルＩＤ３１１が「１」、オープンのバックアップファイルパス３１２が「／ｍｎｔ／ｄｓｋ２／ｂａｃｋｕｐ１．ｄａｔ」、メインフレームのバックアップファイルＩＤ３１３が「１」、メインフレームのバックアップファイルパス３１４が「／ｍｎｔ／ｄｓｋ１／ＢＡＣＫＵＰ１」であり、比較グループ２２１１が「１」であり、比較レベル２２１２が「２」である組み合わせを示している。
【００９１】
次に、第二の実施の形態における、各処理部での処理の流れを説明する。
まず、全体処理部２０３１の処理の流れを、図２３のフローチャートを参照しながら、詳細に説明する。第一の実施例の全体処理部１５１と異なり、入力装置から全体処理部２０３１の起動を受け付けた（ステップ２３０１）後、まず対応生成部２０３２を呼び出す（ステップ２３０２）。次に、ステップ１５０２及びステップ１５０３を実行し、最後に対応取得部２０３３を呼び出す（ステップ２３０３）。なお、ここでは、各部を呼び出す順序を規定したが、これらは実際に処理がその順序で実施されれば構わない。これは、第一の実施の形態でも同様である。
【００９２】
次に、対応生成部２０３２の処理の流れを、図２４のフローチャートを参照しながら、詳細に説明する。第一に、対応生成部２０３２は、入力装置１１４から起動を受け付ける（ステップ２４０１）。次に、対応設定ファイル２０２１を読み込む（ステップ２４０２）。次に、未処理のメインフレームのジョブ制御ファイル１６１があるかどうかを判断し（ステップ２４０３）、ある場合は、対応設定ファイル２０２１のジョブ制御ファイル変換ルール２１２１からオープンのジョブ制御ファイルの条件を作成する（ステップ２４０４）。ステップ２４０４の次に、ステップ２４０４において作成した条件のオープンのジョブ制御ファイルが存在し、かつステップ２４０４において取得したメインフレームのジョブ制御ファイルに未処理のジョブステップがあるかを判断し（ステップ２４０５）、ある場合は、対応設定ファイル２０２１のジョブステップ変換ルール２１２２からオープンのジョブステップ条件を作成する（ステップ２４０６）。ステップ２４０６の次に、ステップ２４０６において作成した条件のオープンのジョブステップが存在し、かつステップ２４０５において取得したジョブステップに未処理の入出力ファイルがあるかを判断する（ステップ２４０７）。ある場合は、対応設定ファイル２０２１の入出力ファイル名変換ルール２１２３から対応するオープンのファイル名の条件を作成する（ステップ２４０８）。ステップ２４０８の後に、ステップ２４０８において作成した条件のオープンの入出力ファイルが存在し、かつ保存対象指定ファイル１６４と保存対象指定ファイル情報１８４に同じ入出力ファイルが指定されておらず、かつ新旧対応指定ファイル情報２０２２に同じ対応がないかを判断し（ステップ２４０９）、ない場合は、保存対象指定ファイル１６４に元ファイル名６１２とジョブ制御ファイル名６１３とジョブステップ名６１４を出力し、保存タイミング６１５を入力ファイルの場合は「ジョブステップの前」、出力ファイルの場合はジョブステップの後とし、バックアップファイルＩＤ６１１を付与する（ステップ２４１０）。ステップ２４１０の後に、保存対象指定ファイル情報１８４に元ファイル名１０１２とジョブ制御ファイル名１０１３とジョブステップ名１０１４とを出力し、ステップ２４１０と同じ保存タイミング１０１５を指定し、バックアップファイルＩＤ１０１１を出力する（ステップ２４１１）。ステップ２４１１の後に、ステップ２４１０及びステップ２４１１において付与したバックアップファイルＩＤと、オープンのバックアップファイルパス３１２及びメインフレームのバックアップファイルパス３１４と比較グループ２２１１と比較レベル２２１２とを保存対象指定ファイル２０２３に出力し（ステップ２４１２）、ステップ２４０７へ戻る。比較グループ２２１１は、たとえば処理対象が同じジョブ制御ファイルであれば、同じとする。また、比較レベル２２１２は、例えばジョブ制御ファイルの最初と最後のジョブステップを１とし、それ以外のジョブステップに２以上の値を連番で付与する。ステップ２４０３において、未処理のメインフレームのジョブ制御ファイル１６１がない場合は、対応生成部２０３２の処理を終了する。ステップ２４０７において、ステップ２４０６において作成した条件のオープンのジョブステップがないか、またはステップ２４０５において取得したジョブステップに未処理の入出力ファイルがない場合は、ステップ２４０５に戻る。ステップ２４０９において、ステップ２４０８において作成した条件のオープンの入出力ファイルが存在しないか、または、保存対象指定ファイル１６４または保存対象指定ファイル情報１８４に同じ入出力ファイルが指定されているか、または新旧対応指定ファイル情報２０２２に同じ対応がある場合は、ステップ２４０８に戻る。対応生成部２０３２の一連の処理により、比較すべきファイルの対応関係を作成することができる。
【００９３】
最後に、対応取得部２０３３の処理の流れを、図２５のフローチャート及び図１３の比較一時情報１５５と図１７のフローチャートを参照しながら、詳細に説明する。まず、図２５に示すように、対応取得部２０３３は、比較レベルを１とし、対象グループを１とする（ステップ２５０１）。次に、第一の実施の形態の対応取得部１５２の一例である図１７に示すステップ１７０１を行う。ステップ１７０１の次に、新旧対応指定ファイル１４１に現在の比較レベルであるレコードであり、かつ未読であるレコードがあるかを判断し（ステップ２５０２）、レコードがある場合は、図１７に示すステップ１７０３〜ステップ１７０５を実行する。ステップ１７０５の次に、ファイル「Ａ」とファイル「Ｂ」の両方が存在する（ステップ１７０６）場合は、ステップ１７０７〜ステップ１７１１を実行する。ステップ１７１１の後に、現在の比較レベルのレコードを対象としステップ１７１１において図１３の比較一時情報１５５の同異１３２２が「異なる」となる比較結果があったかを判断し（ステップ２５０３）、ある場合は、レベルを１増加し（ステップ２５０４）、ステップ１７０１に戻る。ステップ２５０３において、現在の比較レベルのレコードを対象としステップ１７１１において「異なる」となる比較結果がなかった場合は、新旧対応指定ファイル１４１に未処理のグループがあるかを判断し（ステップ２５０５）、ある場合は、比較レベルを１とし、対象グループを１増加させる（ステップ２５０６）。ステップ２５０６の後に、ステップ１７０１に戻る。ステップ１７０５の後、ファイル「Ａ」とファイル「Ｂ」の両方が存在しない（ステップ１７０６）場合は、ステップ１７０２に戻る。ステップ２５０２において、新旧対応指定ファイル１４１に現在の比較レベルでありかつ未読のレコードがない場合は、ステップ２５０３の判断と、ステップ２５０３に引き続くステップを実行する。ステップ２５０５において、新旧対応指定ファイル１４１に未処理のグループがない場合は、ステップ１７１２を実行し、対応取得部２０３３の処理を終了する。ステップ２５０３〜ステップ２５０６により、レベルの数値の小さいファイルの組み合わせから比較し、使用者が知りたい結果から先に受け取ることができる。また、グループの設定により、たとえばジョブ制御ファイルの最初と最後だけを比較し、問題がなければ途中の比較を省くことにより、比較の量を減らすことができる。
【００９４】
なお、第一の実施の形態と同じく、第二の実施の形態の装置構成において、メインフレーム計算機とオープン計算機は種類の異なる計算機である必要、もしくは特定の種類の計算機に縛られる必要はなく、第二の実施の形態を実行可能な計算機であれば、いかなる種類の計算機を用いて実現してもよい。
【００９５】
また、第一の実施の形態と同じく上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアを用いて実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することにより実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ等の記録装置、または、磁気テープ、ＤＶＤ等の記録媒体に置くことができる。
【００９６】
また、第一の実施の形態と同じく、構成要素間の接続は説明上必要と考えられるものを示しており、必ずしも全ての接続を示しているとは限らない。
【００９７】
最後に、本発明は上記した二つの実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【００９８】
１０１  比較用計算機
１０２  メインフレーム計算機
１０３  オープン計算機
１１４  入力装置
１１５  出力装置
１４１  新旧対応指定ファイル
１５２  対応取得部
１５３  比較処理部
１５５  比較結果情報
１６１  ジョブ制御ファイル
１６６  新ジョブ制御ファイル
１７１  ジョブ制御処理追加部
１７２  ジョブ投入部
１８１  ジョブ制御ファイル
１８６  新ジョブ制御ファイル
１９１  ジョブ制御処理追加部
１９２  ジョブ投入部
【図１】
2012226504.tif 000003
【図２】
2012226504.tif 000004
【図３】
2012226504.tif 000005
【図４】
2012226504.tif 000006
【図５】
2012226504.tif 000007
【図６】
2012226504.tif 000008
【図７】
2012226504.tif 000009
【図８】
2012226504.tif 000010
【図９】
2012226504.tif 000011
【図１０】
2012226504.tif 000012
【図１１】
2012226504.tif 000013
【図１２】
2012226504.tif 000014
【図１３】
2012226504.tif 000015
【図１４】
2012226504.tif 000016
【図１５】
2012226504.tif 000017
【図１６】
2012226504.tif 000018
【図１７】
2012226504.tif 000019
【図１８】
2012226504.tif 000020
【図１９】
2012226504.tif 000021
【図２０】
2012226504.tif 000022
【図２１】
2012226504.tif 000023
【図２２】
2012226504.tif 000024
【図２３】
2012226504.tif 000025
【図２４】
2012226504.tif 000026
【図２５】
2012226504.tif 000027