(57)【要約】【課題】システム設計者やシステム管理者及びシステムを操作するオペレータの負担を大幅に軽減するとともに、開発コストの大幅な削減を図ることができるバッチ処理の手法を提案する。【解決手段】バッチ処理装置は、少なくとも、データ項目名称、入力、加工処理内容、及び出力に関する情報であり所定のリポジトリに予め記憶されて登録されている情報であるメタデータを、リポジトリから取得し、この取得したメタデータの宣言処理に基づいて、入力データを入力し、入力データを加工して出力データを作成し、この出力データを出力する。この際、バッチ処理装置は、メタデータの変更に応じて、当該メタデータに関係する全ての出力データを変更して作成する。【選択図】  図１
2004152216.tif 000002
【特許請求の範囲】
【請求項１】
任意の入力データに基づいて所望の出力データを作成するバッチ処理装置であって、
少なくとも、データ項目名称、入力、加工処理内容、及び出力に関する情報であり所定の記憶手段に予め記憶されて登録されている情報であるメタデータを、上記記憶手段から取得するメタデータ取得手段と、
上記メタデータ取得手段を介して取得した上記メタデータの宣言処理に基づいて、上記入力データを入力するデータ入力手段と、
上記メタデータ取得手段を介して取得した上記メタデータの宣言処理に基づいて、上記データ入力手段を介して入力した上記入力データを加工して上記出力データを作成する加工処理手段と、
上記メタデータ取得手段を介して取得した上記メタデータの宣言処理に基づいて、上記加工処理手段によって作成された上記出力データを出力するデータ出力手段とを備え、
上記加工処理手段は、上記メタデータの変更に応じて、当該メタデータに関係する全ての出力データを変更して作成すること
を特徴とするバッチ処理装置。
【請求項２】
上記加工処理手段は、
サマリーデータを作成する場合に生成されるサマリー演算プロセスを行うサマリー演算プロセス手段と、
明細データを作成する場合に生成される明細演算プロセスを行う明細演算プロセス手段と、
上記入力データ上に存在する親子関係におけるグループ集計であるグループ演算プロセスを行うグループ演算プロセス手段と、
時系列データに対する更新を行う時系列演算プロセスを行う時系列演算プロセス手段とを有すること
を特徴とする請求項１記載のバッチ処理装置。
【請求項３】
上記メタデータは、上記入力データのデータ項目、上記入力データのフォーマット、上記データ項目がコードを有する場合には当該各コードで表されるカテゴリ、上記カテゴリの組み合わせから構成されるカテゴリ階層、上記出力データのデータ項目、上記出力データのフォーマット、データ項目を要素として上記出力データの出力単位を表現するための管理単位、上記入力データのデータ項目を要素として表現される抽出条件式、上記入力データのデータ項目によって導出される上記出力データを表現する導出演算式、上記入力データのデータ項目の値を上記出力データのコードに変換するコード変換内容と変換方法、親子関係におけるグループ演算のために当該親子関係を特定する上記入力データのデータ項目と集計方法、時系列演算によって出力される上記出力データのデータ項目名称の要素として表現される時点と対比とを表す用語、及び／又は、上記入力データが過去訂正データである場合に過去時系列データへの訂正方法を示すものであること
を特徴とする請求項１又は請求項２記載のバッチ処理装置。
【請求項４】
上記メタデータは、バッチ処理のプロセスフロー、各プロセスで作成される中間データの内容、及び／又は、各プロセスにおける入力データと出力データとの間のリンクを示すものであること
を特徴とする請求項１又は請求項２記載のバッチ処理装置。
【請求項５】
任意の入力データに基づいて所望の出力データを作成するバッチ処理方法であって、
少なくとも、データ項目名称、入力、加工処理内容、及び出力に関する情報であり所定の記憶手段に予め記憶されて登録されている情報であるメタデータを、上記記憶手段から取得するメタデータ取得工程と、
上記メタデータ取得工程にて取得した上記メタデータの宣言処理に基づいて、上記入力データを入力するデータ入力工程と、
上記メタデータ取得工程にて取得した上記メタデータの宣言処理に基づいて、上記データ入力工程にて入力した上記入力データを加工して上記出力データを作成する加工処理工程と、
上記メタデータ取得工程にて取得した上記メタデータの宣言処理に基づいて、上記加工処理工程にて作成された上記出力データを出力するデータ出力工程とを備え、
上記加工処理工程では、上記メタデータの変更に応じて、当該メタデータに関係する全ての出力データが変更されて作成されること
を特徴とするバッチ処理方法。
【請求項６】
任意の入力データに基づいて所望の出力データを作成するコンピュータ実行可能なバッチ処理プログラムであって、
少なくとも、データ項目名称、入力、加工処理内容、及び出力に関する情報であり所定の記憶手段に予め記憶されて登録されている情報であるメタデータを、上記記憶手段から取得するメタデータ取得処理と、
上記メタデータ取得処理にて取得した上記メタデータの宣言処理に基づいて、上記入力データを入力するデータ入力処理と、
上記メタデータ取得処理にて取得した上記メタデータの宣言処理に基づいて、上記データ入力処理にて入力した上記入力データを加工して上記出力データを作成する加工処理と、
上記メタデータ取得処理にて取得した上記メタデータの宣言処理に基づいて、上記加工処理にて作成された上記出力データを出力するデータ出力処理とを備え、
上記加工処理では、上記メタデータの変更に応じて、当該メタデータに関係する全ての出力データが変更されて作成されること
を特徴とするバッチ処理プログラム。
【請求項７】
任意の入力データに基づいて所望の出力データを作成するバッチ処理システムであって、
少なくとも、データ項目名称、入力、加工処理内容、及び出力に関する情報であるメタデータを予め記憶して登録する記憶装置と、
所定の仕様に基づいて上記メタデータを生成し、生成した上記メタデータを上記記憶装置に対して登録する第１の操作装置と、
上記メタデータを上記記憶装置から取得し、取得した上記メタデータの宣言処理に基づいて、上記入力データを入力し、入力した上記入力データを加工して上記出力データを作成し、上記出力データを出力する処理装置と、
上記処理装置に対して少なくともバッチ処理の起動指示を与える第２の操作装置とを備え、
上記処理装置は、上記メタデータの変更に応じて、当該メタデータに関係する全ての出力データを変更して作成すること
を特徴とするバッチ処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、任意の入力データに基づいて所望の出力データを作成するバッチ処理装置、バッチ処理方法、及びバッチ処理プログラム、並びにバッチ処理システムに関する。
【０００２】
【従来の技術】
近年、コンピュータ装置等の情報処理装置の普及及び高度化にともない、情報処理装置を利用した各種情報処理システムが開発されている。このような各種情報処理システムの１つとしては、いわゆるバッチ処理を行うものがある。
【０００３】
一般に、バッチ処理とは、１つ又は複数のプロセスからなる処理について予め一連の手順を設計しておき、ソースとなる入力データに対して自動的に連続処理を行うことによって所望の出力データを作成するものであり、例えば企業における売上データの集計処理といった大量のデータを収集して処理を行う場合に有効な処理方式である。このバッチ処理は、実行するにあたって１つ又は複数のプロセスを要し、各プロセスにおいては、当該プロセスを実現するプログラム内に記述された入力情報、加工処理内容、出力情報にしたがった処理が行われる。したがって、バッチ処理を行う情報処理システムを構築するにあたっては、まず、各プロセス間の相互関係を考慮したプロセスフローを設計した上で、各プロセスに対する入出力データの形式等を明確化し、入出力データ間の加工処理内容を設計することになる。そして、バッチ処理を行う情報処理システムを構築するにあたっては、加工処理内容を実現する機能を充足するプログラムを開発することになる。
【０００４】
このようなバッチ処理を行う情報処理システムとしては、プロセスフローを設計し、各プロセスの入出力データを明確化した上で、いわゆる構造化問い合わせ言語（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ；ＳＱＬ）等を用いて所定の加工処理を実現するプログラムを自動的に作成するものがある。
【０００５】
また、情報処理システムとしては、汎用的なプロセスを構築するために、プログラム内の一部に固定的な情報を有さず、当該一部を外部パラメータとして与えることにより、より汎用的なプログラムを作成するものもある。
【０００６】
なお、情報処理システムの具体例としては、例えば、特許文献１及び特許文献２等がある。
【０００７】
【特許文献１】
特開２００１−６０１５０号公報
【特許文献２】
特開平１１−１７５３２７号公報
【０００８】
【発明が解決しようとする課題】
ところで、所定の加工処理を実現するプログラムを作成する上述した従来の情報処理システムにおいては、１つのプロセスによって実現される加工処理内容が限定されることによってその機能を充足するプログラム自体が作成できない場合があった。また、このような従来の情報処理システムにおいては、加工処理内容を実現する機能を充足するために多くのプロセスの経由が必要である場合があるが、このような場合には、単一プロセス内や各プロセス間で授受される中間データが増大することにより、開発ボリュームの増大、開発後のシステムリスクの増大、処理時間の増大といった問題を招来していた。したがって、従来の情報処理システムにおいては、個々のアプリケーションに応じた独自のプログラム開発が必要とされているのが実情であった。
【０００９】
また、プログラム内の一部に固定的な情報を有さず、当該一部を外部パラメータとして与える上述した従来の情報処理システムにおいては、外部パラメータが単一プロセス毎に独自に与えられるものであった。したがって、このような従来の情報処理システムにおいては、データ項目や加工処理内容等を変更した場合には、それに関係する全てのプロセスへ当該変更の内容が伝播するわけではなく、全ての出力データが自動的に変更されるものではなかった。
【００１０】
このように、従来の情報処理システムは、個々のアプリケーションに応じた独自のプログラム開発が必要とされているのが実情であり、また、データ項目や加工処理内容等の変更に応じて、全ての出力データが自動的に変更されるものではなかった。
【００１１】
また、バッチ処理を行うにあたっては、近年の情報化社会における情報処理システムの規模の肥大化や複雑化にともない、以下のような問題点が生じている。
【００１２】
まず、第１の問題点としては、妥当なプロセスフローの設計指針が構築されないために、プロセスフローの多量複雑化とともに、プロセス上の入出力データの多量複雑化、換言すれば、いわゆるプロセスジャングル及びデータジャングルを招来することが挙げられる。
【００１３】
また、第２の問題点としては、中間的に直積データを作成する方法が用いられている場合には、大規模容量且つ高速の情報処理装置を必要とすることが挙げられる。
【００１４】
さらに、第３の問題点としては、取り扱う必要があるデータ項目が多くなるのにともない、類義項目及び同義項目が多量に発生し、いずれの処理にどのデータが用いられるのかを判別するのが困難となることが挙げられる。
【００１５】
さらにまた、第４の問題点としては、これらの要因により、プログラムの増大及び変更に際するシステム設計者やシステム管理者及びシステムを操作するオペレータの負荷が著しく増大することが挙げられる。
【００１６】
バッチ処理を行うにあたっては、これらの各種問題を要因として、開発コスト及び保守コストの増加、並びに品質の低下が顕著になりつつあることが懸念されている。
【００１７】
本発明は、このような実情に鑑みてなされたものであり、何ら煩雑な手間をかけることなく、低いコストのもとに任意の入力データに基づいて所望の出力データを作成することができるバッチ処理装置、バッチ処理方法、及びバッチ処理プログラム、並びにバッチ処理システムを提供することを目的とする。
【００１８】
【課題を解決するための手段】
上述した目的を達成する本発明にかかるバッチ処理装置は、任意の入力データに基づいて所望の出力データを作成するバッチ処理装置であって、少なくとも、データ項目名称、入力、加工処理内容、及び出力に関する情報であり所定の記憶手段に予め記憶されて登録されている情報であるメタデータを、記憶手段から取得するメタデータ取得手段と、このメタデータ取得手段を介して取得したメタデータの宣言処理に基づいて、入力データを入力するデータ入力手段と、メタデータ取得手段を介して取得したメタデータの宣言処理に基づいて、データ入力手段を介して入力した入力データを加工して出力データを作成する加工処理手段と、メタデータ取得手段を介して取得したメタデータの宣言処理に基づいて、加工処理手段によって作成された出力データを出力するデータ出力手段とを備え、加工処理手段は、メタデータの変更に応じて、当該メタデータに関係する全ての出力データを変更して作成することを特徴としている。
【００１９】
また、上述した目的を達成する本発明にかかるバッチ処理方法は、任意の入力データに基づいて所望の出力データを作成するバッチ処理方法であって、少なくとも、データ項目名称、入力、加工処理内容、及び出力に関する情報であり所定の記憶手段に予め記憶されて登録されている情報であるメタデータを、記憶手段から取得するメタデータ取得工程と、このメタデータ取得工程にて取得したメタデータの宣言処理に基づいて、入力データを入力するデータ入力工程と、メタデータ取得工程にて取得したメタデータの宣言処理に基づいて、データ入力工程にて入力した入力データを加工して出力データを作成する加工処理工程と、メタデータ取得工程にて取得したメタデータの宣言処理に基づいて、加工処理工程にて作成された出力データを出力するデータ出力工程とを備え、加工処理工程では、メタデータの変更に応じて、当該メタデータに関係する全ての出力データが変更されて作成されることを特徴としている。
【００２０】
さらに、上述した目的を達成する本発明にかかるバッチ処理プログラムは、任意の入力データに基づいて所望の出力データを作成するコンピュータ実行可能なバッチ処理プログラムであって、少なくとも、データ項目名称、入力、加工処理内容、及び出力に関する情報であり所定の記憶手段に予め記憶されて登録されている情報であるメタデータを、記憶手段から取得するメタデータ取得処理と、このメタデータ取得処理にて取得したメタデータの宣言処理に基づいて、入力データを入力するデータ入力処理と、メタデータ取得処理にて取得したメタデータの宣言処理に基づいて、データ入力処理にて入力した入力データを加工して出力データを作成する加工処理と、メタデータ取得処理にて取得したメタデータの宣言処理に基づいて、加工処理にて作成された出力データを出力するデータ出力処理とを備え、加工処理では、メタデータの変更に応じて、当該メタデータに関係する全ての出力データが変更されて作成されることを特徴としている。
【００２１】
さらにまた、上述した目的を達成する本発明にかかるバッチ処理システムは、任意の入力データに基づいて所望の出力データを作成するバッチ処理システムであって、少なくとも、データ項目名称、入力、加工処理内容、及び出力に関する情報であるメタデータを予め記憶して登録する記憶装置と、所定の仕様に基づいてメタデータを生成し、生成したメタデータを記憶装置に対して登録する第１の操作装置と、メタデータを記憶装置から取得し、取得したメタデータの宣言処理に基づいて、入力データを入力し、入力した入力データを加工して出力データを作成し、出力データを出力する処理装置と、処理装置に対して少なくともバッチ処理の起動指示を与える第２の操作装置とを備え、処理装置は、メタデータの変更に応じて、当該メタデータに関係する全ての出力データを変更して作成することを特徴としている。
【００２２】
このような本発明にかかるバッチ処理装置、バッチ処理方法、及びバッチ処理プログラム、並びにバッチ処理システムは、それぞれ、予め登録されている情報であるメタデータの宣言処理に基づいて、入力データを加工して出力データを作成する際に、メタデータの変更に応じて、当該メタデータに関係する全ての出力データを変更して作成する。
【００２３】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について図面を参照しながら詳細に説明する。
【００２４】
この実施の形態は、任意の入力データに基づいて所望の出力データを作成するバッチ処理装置である。このバッチ処理装置は、少なくとも、”データ項目名称は何か”、”入力は何か”、”加工処理内容は何か”、及び”出力は何か”といった情報をメタデータとして所定のリポジトリに予め記憶させて登録しておき、このメタデータの宣言によるバッチ処理を行うものであり、登録されたメタデータの宣言処理に基づいて、入力データを加工して出力データを作成するものである。
【００２５】
特に、バッチ処理装置は、メタデータの宣言処理によるノンプログラミング手法を確立するとともに、メタデータの変更に応じて当該メタデータに関係する全ての出力データを自動的に変更する処理を確立するものである。また、バッチ処理装置は、このような処理を行うために、必要なメタデータの登録機能とその一元管理機能とを有し、さらに、そのメタデータの登録内容に基づいて、目的の出力データを作成するための必要なプロセスフローと各プロセスで作成される中間データの内容とを、プロセス実行上のメタデータとして新たに生成し、これを登録することにより、必要なメタデータの登録のみで、ソースとなる入力データに基づいて、目的の出力データの作成を実現するものである。
【００２６】
まず、本発明の実施の形態として示すバッチ処理装置において登録されるメタデータの概念について説明する。
【００２７】
バッチ処理においては、例えばいわゆるＲＤＢＭＳ（Ｒｅｌａｔｉｏｎａｌ  ＤａｔａＢａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）等のリレーショナルデータモデルによって管理されるテーブル形式で表現された階層構造を有するデータに対して、各種集合演算等の所定の加工処理を施し、出力データを得るのが通常である。
【００２８】
この目的を達成するために、本発明の実施の形態として示すバッチ処理装置においては、図１に示すように、少なくとも、”データ項目名称は何か”、”入力は何か”、”加工処理内容は何か”、及び”出力は何か”といった情報をメタデータとして所定のリポジトリに予め登録する。
【００２９】
ここで、”データ項目名称は何か”を示すメタデータは、データ項目名称やデータ項目がコード（カテゴリ）を有する場合にはそのカテゴリ名称を定義するものである。また、”入力は何か”を示すメタデータは、入力データ、すなわち、管理対象を定義するものであり、入力データのフォーマットを示す他、データ項目がコードを有する場合には、当該各コード等を示すものである。さらに、”加工処理内容は何か”を示すメタデータは、処理対象に合致する入力データを抽出するための抽出条件式や入力データのデータ項目によって導出される出力データを表現する導出演算式等を定義するものであり、各データ項目、すなわち、列間の演算の他、複数のレコード間、すなわち、行間の演算をも定義するものである。さらにまた、”出力は何か”を示すメタデータは、出力データを定義するものであり、出力データのデータ項目やそのフォーマット等を示すものである。なお、これらのメタデータの具体例については、後述するものとする。
【００３０】
バッチ処理装置は、これらの各種メタデータをリポジトリから取得することにより、メタデータに応じた各種処理を行うことになる。
【００３１】
また、バッチ処理装置においては、リポジトリに予め登録されている上述した各種メタデータに基づいて、バッチ処理のプロセスフローを示す情報、各プロセスで作成される中間データのフォーマットといった中間データの内容、各プロセスにおける入力データと出力データとの間のリンク情報等がメタデータとして新たに生成され、リポジトリに登録される。
【００３２】
これにより、バッチ処理装置は、リポジトリに登録されたこれらのメタデータによって定義されている実行するプロセスとその起動タイミング、及び実行するプロセスの順序にしたがって各プロセスを実行する。このとき、バッチ処理装置は、前のプロセスが終了したら後続するプロセスを起動するといったように、プロセスフローにしたがって各プロセスを順次起動し、目的の出力データを作成することになる。
【００３３】
さて、以下では、このようなメタデータの宣言によるバッチ処理装置について具体的に説明する。
【００３４】
バッチ処理装置は、図２に示すように、ユーザ仕様を入力する表示及び操作部１０と、この表示及び操作部１０を介して作成されたユーザ仕様に基づいてメタデータを生成してリポジトリ３０に登録するメタデータ入力部２０と、メタデータを記憶するリポジトリ３０と、このリポジトリ３０に記憶されて登録されたメタデータに基づいて各種演算プロセスを実行する演算プロセス部４０と、プロセス運用を管理するために使用する表示及び操作部５０と、プロセス運用を管理するプロセス運用管理部６０とを備える。なお、同図においては、表示及び操作部１０，５０を、それぞれ、別個の部位として示しているが、バッチ処理装置を例えば１台のコンピュータ装置等によって構成する場合には、共通の部位として構成してもよい。
【００３５】
表示及び操作部１０は、例えばＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）といった表示装置や、キーボード及びマウスといった操作装置等のユーザ・インターフェースとして構成される。バッチ処理装置においては、システム設計者やシステム管理者が、この表示及び操作部１０を介して入力データや出力データの仕様や加工内容等の仕様といったユーザ仕様の登録及び変更を行う。この表示及び操作部１０を介して入力された情報は、メタデータ入力部２０に供給される。
【００３６】
メタデータ入力部２０は、表示及び操作部１０を介して入力されたユーザ仕様に基づいてメタデータを生成するとともに、生成したメタデータをリポジトリ３０に記憶させて登録するためのインターフェースとして機能する。メタデータは、このメタデータ入力部２０を介してリポジトリ３０に供給される。また、メタデータ入力部２０は、リポジトリ３０に記憶されているメタデータに基づいて、バッチ処理のプロセスフローを示す情報、各プロセスで作成される中間データのフォーマットといった中間データの内容、各プロセスにおける入力データと出力データとの間のリンク情報等をメタ−データとして新たに生成し、リポジトリに登録する。
【００３７】
リポジトリ３０は、例えば、ハードディスクや、これらのハードディスクを複数台用いていわゆるＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  （Ｉｎｅｘｐｅｎｓｉｖｅ）  Ｄｉｓｋｓ）構成とした装置といった所定の外部記憶装置上に作成されるものである。リポジトリ３０は、メタデータ入力部２０から供給されたメタデータを記憶することによって登録する。このリポジトリ３０に登録されたメタデータは、プロセス運用管理部６０の制御のもとに読み出され、演算プロセス部４０に供給される。また、リポジトリ３０に登録されたメタデータは、メタデータ入力部２０によっても読み出される。
【００３８】
演算プロセス部４０は、後に詳述するが、複数のプロセス部からなる。演算プロセス部４０は、プロセス運用管理部６０からバッチ処理の起動指示を示す制御信号が供給されると、リポジトリ３０からメタデータを取得し、このメタデータの宣言処理に基づいて、図示しない所定の外部記憶装置等に記憶されている１つ又は複数の入力データを入力し、プロセス運用管理部６０の制御のもとに各種演算プロセスを実行して加工処理を施し、１つ又は複数の出力ファイルからなる出力データとして出力する。なお、ここでの入力データとは、ソースとなるデータが含まれるのは勿論であるが、後述するように、ある一の演算プロセスで作成された中間データを他の演算プロセスに対する入力として用いる場合には、当該他の演算プロセスについては当該中間データも含まれる概念である。また、出力データについても同様に、最終的に出力するデータが含まれるのは勿論であるが、後述するように、ある一の演算プロセスで作成された中間データを他の演算プロセスに対する入力として用いる場合には、当該一の演算プロセスについては当該中間データも含まれる概念である。演算プロセス部４０は、中間データや出力データを作成すると、これらのデータを図示しない所定の外部記憶装置等に書き込み、必要に応じて、外部記憶装置等に書き込んだデータを読み出す。
【００３９】
表示及び操作部５０は、表示及び操作部１０と同様に、例えばＬＣＤといった表示装置や、キーボード及びマウスといった操作装置等のユーザ・インターフェースとして構成される。バッチ処理装置においては、システムを操作するオペレータが、当該バッチ処理装置を用いてバッチ処理を行う際に、この表示及び操作部５０を介してバッチ処理の起動指示等を与えるといったプロセス運用を管理するための操作を行う。また、表示及び操作部５０には、最終的に出力される出力データを表示することもできる。すなわち、表示及び操作部５０は、オペレータが操作してバッチ処理の起動指示や監視を行うものである。この表示及び操作部５０を介して入力されたバッチ処理の起動指示等を示す情報は、プロセス運用管理部６０に供給される。
【００４０】
プロセス運用管理部６０は、表示及び操作部５０を介して行われた指示に応じたプロセス運用を管理する。プロセス運用管理部６０は、表示及び操作部５０を介して指示が与えられると、対応するメタデータがリポジトリ３０から読み出されるように当該リポジトリ３０に対して制御信号を供給するとともに、演算プロセス部４０に対応する処理を行わせるための制御信号を供給する。
【００４１】
このようなバッチ処理装置は、具体的には図３に示すようなハードウェアによって実装される。なお、同図においては、表示及び操作部１０，５０については図示していない。すなわち、バッチ処理装置は、メタデータ入力部２０、演算プロセス部４０、及びプロセス運用管理部６０の機能を、メモリ１００上で展開されるプログラムにしたがって制御されるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０によって実現することができる。また、バッチ処理装置においては、演算プロセス部４０として機能するＣＰＵ１１０による演算プロセスの実行前に、メタデータ入力部２０として機能するＣＰＵ１１０により、リポジトリ３０が外部記憶装置１２０上に予め作成される。さらに、バッチ処理装置においては、ソースとなる入力データが外部記憶装置１２０に予め記憶されるとともに、出力データが作成されると、この出力データが外部記憶装置１２０に記憶される。
【００４２】
このように、バッチ処理装置は、メタデータ及び処理するデータをメモリ１００に展開する構成とすることにより、処理の高速化を図ることができる。
【００４３】
さて、このようなバッチ処理装置は、演算プロセス部４０によって各種演算プロセスを実行することにより、所定の加工処理を入力データに対して施す。ここで、演算プロセス部４０によって実現すべき機能を考えるために、バッチ処理に必要とされる機能について考える。
【００４４】
まず、バッチ処理に必要な機能としては、データの入出力機能が挙げられる。すなわち、バッチ処理においては、データの入出力機能として、リレーション制御をともなう複数の対象テーブルの入力機能と、対象テーブルへの出力機能とを必要とする。
【００４５】
また、バッチ処理に必要な機能としては、データ構造変換機能が挙げられる。すなわち、バッチ処理においては、データ構造変換機能として、出力のデータ構造に変換する機能を必要とする。
【００４６】
さらに、バッチ処理に必要な機能としては、１つのレコード上のデータ項目間、すなわち、列間の演算機能が挙げられる。すなわち、バッチ処理においては、データ項目間の演算機能として、処理対象に合致する入力データを抽出するための抽出条件機能、入力データのデータ項目がコードを有する場合に当該コードを出力データのコードに変換するコード変換機能、及び四則演算や各種関数演算といった条件付きの導出演算機能を必要とする。
【００４７】
さらにまた、バッチ処理に必要な機能としては、レコード間、すなわち、行間の演算機能が挙げられる。すなわち、バッチ処理においては、レコード間の演算機能として、例えば店舗や顧客といったデータ項目を要素として出力データの出力単位を表現するための管理単位毎に集約して出力するための管理単位演算機能を必要とする。また、バッチ処理においては、レコード間の演算機能として、例えば農業や漁業といった業種を一次産業という一の業種コードにまとめて演算を行うことを可能とするためのカテゴリ階層の演算機能とを必要とする。さらに、バッチ処理においては、レコード間の演算機能として、入力データ上に存在する親子関係の合計処理といったグループ演算を行うグループ演算機能を必要とする。さらにまた、バッチ処理においては、レコード間の演算機能として、例えば取引番号毎に演算を行い、顧客単位毎に集約するといった場合のように、演算単位と集約単位とを用いた四則演算や各種関数演算等の条件発行付きの導出演算機能を必要とする。
【００４８】
また、バッチ処理に必要な機能としては、時系列更新及び演算機能が挙げられる。すなわち、バッチ処理においては、時系列更新機能、過去計数設定機能、対比演算機能、及び過去訂正機能等を必要とする。
【００４９】
ここで、バッチ処理装置は、上述したように、メタデータ及び処理するデータをメモリ１００に展開する構成とすることにより、処理の高速化を図ることができる。しかしながら、バッチ処理装置においては、管理単位の１つのインスタンス内のデータ処理については、データ量が限定されるためにメモリ１００に展開して処理を行うことが可能であるが、上述したグループ演算及び時系列演算のように、管理単位の複数のインスタンスに跨るデータ間の演算処理を行う場合には、データ量が大きいためにメモリ１００に展開することが困難な場合が生じる。
【００５０】
そこで、バッチ処理装置は、メモリ１００に展開して処理を行うにもかかわらず、上述した各種機能を全て満足するために、演算プロセス部４０として、図４に示すように、３つのプロセス部、すなわち、上述したグループ演算及び時系列演算を除く通常演算を行う通常演算プロセス部１５０、入力データ上に存在する親子関係におけるグループ集計であるグループ演算プロセスを行うグループ演算プロセス部１６０、及び時系列データに対する更新を行う時系列演算プロセスを行う時系列演算プロセス部１７０を設け、さらに、グループ演算プロセス及び時系列演算プロセスの間に中間的にデータを作成するように構成される。また、バッチ処理装置においては、通常演算プロセス部１５０が、ここでは図示しないが、サマリーデータを作成する場合に生成されるサマリー演算プロセスを行うサマリー演算プロセス部と、明細データを作成する場合に生成される明細演算プロセスを行う明細演算プロセス部とに大別される。
【００５１】
なお、サマリーデータとは、例えば図５に示すように、支店番号、支店名、支店住所、サービス店舗表示といった情報からなる支店テーブルと、顧客番号、氏名、住所、業種コード、支店番号、契約日といった情報からなる顧客テーブルと、取引番号、顧客番号、商品コード、取引コード、取引金額といった情報からなる取引テーブルとをソースとなる入力データとし、この入力データに基づいて出力データ（ユーザビュー）として作成される支店別サマリーのクロス集計表等である。なお、ユーザビューは、表示画面上に出力表示する際の設計仕様であるが、実際にデータとして出力する出力データのフォーマットとは同一であってもよく、一部異なるものであってもよい。このユーザビューと出力データとの関係については、後に例を取り上げて説明する。
【００５２】
また、明細データとは、例えば図６に示すように、支店番号、支店名、支店住所、支店種類、地区コードといった情報からなる支店テーブルと、顧客番号、氏名、住所、業種コード、支店番号、残高といった情報からなる顧客テーブルと、取引番号、勘定日、勘定区分、取引金額、顧客番号といった情報からなる取引テーブルとをソースとなる入力データとし、この入力データに基づいて出力データ（ユーザビュー）として作成される顧客別明細票等である。
【００５３】
バッチ処理装置においては、これらの通常演算プロセス部１５０、グループ演算プロセス部１６０、及び時系列演算プロセス部１７０が、図７に示すように、互いに直列のプロセスフローを形成する。なお、演算プロセス部４０においては、３つのプロセス部のうち、グループ演算プロセス部１６０及び時系列演算プロセス部１７０については、メタデータＭＤとして生成されるプロセスフローに存在していた場合にのみ実行される。
【００５４】
ここで、図４に示した入力データは、図７におけるソースファイル又は中間ファイルに対応し、図４に示した出力データは、図７における中間ファイル又は出力ファイルに対応する。すなわち、バッチ処理装置においては、ある一の直列のプロセスフロー上の出力データは、他の直列のプロセスフロー上の入力データとして、メタデータ上に定義することができ、これにより、プロセスのネットワークを構成することができる。
【００５５】
具体的には、図７に示すように、通常演算プロセス部１５０は、メタデータＭＤを取得するメタデータ取得部１５１と、入力データとしてのソースファイルＳＦを入力する入力部１５２と、通常演算を行う通常演算部１５３と、出力データとしての中間ファイルＭＦ１を出力する出力部１５４とからなる。また、グループ演算プロセス部１６０は、メタデータＭＤを取得するメタデータ取得部１６１と、入力データとしての中間ファイルＭＦ１を入力する入力部１６２と、グループ演算を行うグループ演算部１６３と、出力データとしての中間ファイルＭＦ２を出力する出力部１６４とからなる。さらに、時系列演算プロセス部１７０は、メタデータＭＤを取得するメタデータ取得部１７１と、入力データとしての中間ファイルＭＦ２を入力する入力部１７２と、時系列演算を行う時系列演算部１７３と、出力データとしての出力ファイルＯＦを出力する出力部１７４とからなる。
【００５６】
このような３つのプロセス部からなる演算プロセス部４０においては、通常演算プロセスによって作成された出力データを、グループ演算プロセスにて用い、さらに、グループ演算プロセスによって作成された出力データを、時系列演算プロセスにて用いる場合には、以下のように、各演算プロセス間でデータの授受が行われる。
【００５７】
すなわち、演算プロセス部４０においては、メタデータＭＤが通常演算プロセス部１５０におけるメタデータ取得部１５１に入力されるとともに、入力データとしての１つ又は複数のソースファイルＳＦが入力部１５２に入力されると、通常演算部１５３によってメタデータＭＤに基づく所定の通常演算が行われ、出力データとしての１つの中間ファイルＭＦ１が出力部１５４から出力される。
【００５８】
続いて、演算プロセス部４０においては、メタデータＭＤがグループ演算プロセス部１６０におけるメタデータ取得部１６１に入力されるとともに、通常演算プロセス部１５０における出力部１５４から出力された１つの中間ファイルＭＦ１や図示しないがグループ情報が設定されているソースファイルが入力データとして入力部１６２に入力されると、グループ演算部１６３によってメタデータＭＤに基づく所定のグループ演算が行われ、出力データとしての１つの中間ファイルＭＦ２が出力部１６４から出力される。
【００５９】
そして、演算プロセス部４０においては、メタデータＭＤが時系列演算プロセス部１７０におけるメタデータ取得部１７１に入力されるとともに、グループ演算プロセス部１６０における出力部１６４から出力された１つの中間ファイルＭＦ２や図示しないが通常プロセス部１５０における出力部１５４から出力された中間ファイルが入力データとして入力部１７２に入力されると、時系列演算部１７３によってメタデータＭＤに基づく所定の時系列演算が行われ、出力データとしての１つ又は複数の出力ファイルＯＦが出力部１７４から出力される。
【００６０】
このように、バッチ処理装置においては、通常演算プロセスによって作成された出力データを、グループ演算プロセスにて用い、さらに、グループ演算プロセスによって作成された出力データを、時系列演算プロセスにて用いるように、プロセスのネットワークが構成される。また、バッチ処理装置においては、通常演算プロセスしか行う必要がない場合には、中間データを出力することなく１つ又は複数の出力データを作成して出力する。一方、バッチ処理装置においては、他のプロセスに移行する場合には、中間データを作成するが、この中間データは、最終的に複数の出力データを作成する場合であっても、１つのみ作成すればよい。すなわち、バッチ処理装置においては、最終的に複数の出力データを作成する場合であっても、これら複数の出力データに対応して中間データを別個に作成する必要はなく、複数の出力データを作成するに至るために必要な情報を１つの中間データとして作成することができる。
【００６１】
また、バッチ処理装置においては、例えば、メタデータ上に定義される任意の業務単位、日次や月次等の処理タイミング（処理サイクル）、店舗や顧客等の出力データの出力単位を特定する管理単位、及び明細データを作成するのかサマリーデータを作成するのかの区分毎にプロセスフローが生成され、これらのプロセスフロー上の出力データが、上述したように、他のプロセスフロー上の入力データとして用いられるように、メタデータを定義することができる。
【００６２】
例えば、バッチ処理装置においては、”○○業務についての日次の取引別明細”、”○○業務についての日次の支店別サマリー”、”○○業務についての月次の支店別サマリー”、”△△業務についての月次の顧客別明細”、”◇◇業務についての日次の顧客別明細”、及び”◇◇業務についての日次の顧客別サマリー”を作成したい場合には、図８に示すようなプロセスフローを生成するように、メタデータを定義する。
【００６３】
すなわち、バッチ処理装置においては、”○○業務についての日次の取引別明細”を作成するためには、管理単位及びサイクル毎のプロセスフローとして、図８中１段目に示すように、明細演算プロセスと、この明細演算プロセスによって作成された出力データを入力データとするグループ演算プロセスとを生成する。
【００６４】
また、バッチ処理装置においては、”○○業務についての日次の支店別サマリー”を作成するためには、管理単位及びサイクル毎のプロセスフローとして、図８中２段目に示すように、サマリー演算プロセスと、このサマリー演算プロセスによって作成された出力データを入力データとするグループ演算プロセスと、このグループ演算プロセスによって作成された出力データを入力データとする時系列演算プロセスとを生成する。このとき、バッチ処理装置においては、サマリー演算プロセスに対する入力データとして、”○○業務についての日次の取引別明細”を作成する際に行われた明細演算プロセスによって作成された出力データを用いるように、メタデータを定義する。
【００６５】
さらに、バッチ処理装置においては、”○○業務についての月次の支店別サマリー”を作成するためには、管理単位及びサイクル毎のプロセスフローとして、図８中３段目に示すように、サマリー演算プロセスと、このサマリー演算プロセスによって作成された出力データを入力データとする時系列演算プロセスとを生成する。
【００６６】
さらにまた、バッチ処理装置においては、”△△業務についての月次の顧客別明細”を作成するためには、管理単位及びサイクル毎のプロセスフローとして、図８中４段目に示すように、明細演算プロセスと、この明細演算プロセスによって作成された出力データを入力データとするグループ演算プロセスと、このグループ演算プロセスによって作成された出力データを入力データとする時系列演算プロセスとを生成する。
【００６７】
また、バッチ処理装置においては、”◇◇業務についての日次の顧客別明細”を作成するためには、管理単位及びサイクル毎のプロセスフローとして、図８中５段目に示すように、明細演算プロセスを生成する。
【００６８】
さらに、バッチ処理装置においては、”◇◇業務についての日次の顧客別サマリー”を作成するためには、管理単位及びサイクル毎のプロセスフローとして、図８中６段目に示すように、サマリー演算プロセスを生成する。
【００６９】
このように、バッチ処理装置においては、管理単位及びサイクル毎にプロセスフローが生成され、これらのプロセスフロー上の出力データが、他のプロセスフロー上の入力データとして用いられるように、メタデータを定義することにより、様々なプロセスのネットワークを構成することができる。
【００７０】
つぎに、以上のような処理概念からなるバッチ処理装置における各演算プロセス毎に生成されるメタデータの内容について具体的に説明するとともに、各演算プロセスの処理内容についてさらに詳述する。
【００７１】
まず、サマリー演算プロセスの場合について説明する。
【００７２】
バッチ処理装置においては、サマリー演算プロセスを実現するために、図９に示す構成からなるサマリー演算プロセスを行うサマリー演算プロセス部１５０１に対して、リポジトリ３０から各種メタデータが与えられる。
【００７３】
ここで、先に図７に示した通常演算プロセス部１５０における通常演算部１５３に対応するサマリー演算部１５３１は、図９に示すように、抽出条件を判定する抽出条件判定部２０１と、コード変換を行うコード変換部２０２と、四則演算や各種関数演算等の条件付きの導出演算を行う導出演算部２０３と、多次元多階層のサマリーデータを作成する場合にメタデータで定義されるカテゴリ間の階層に基づくカテゴリ演算を行うカテゴリ演算部２０４と、さらに多次元多階層のサマリーデータを作成するためにカテゴリ演算部２０４によるカテゴリ演算後に導出演算を行うカテゴリ演算後導出演算部２０５と、出力データの構造に変換するデータ構造変換部２０６とを有する。
【００７４】
また、バッチ処理装置においては、サマリー演算プロセスを行うために必要となるメタデータとして、後述する各種バッファやこれらバッファ間のリンク関係を示すインターフェースメタデータと、入力データ及び出力データを示す入出力情報メタデータと、入力データのデータ項目を要素として表現される抽出条件式を示す抽出条件メタデータと、入力データのデータ項目の値を出力データのコードに変換するコード変換の内容とその変換方法を示すコード変換メタデータと、入力データのデータ項目によって導出される出力データを表現する導出演算式を示す導出演算メタデータと、多次元多階層のサマリーデータを作成する場合にカテゴリ間の階層に基づくカテゴリ演算を示すカテゴリ演算メタデータと、さらに多次元多階層のサマリーデータを作成する場合にカテゴリ間の階層に基づくカテゴリ演算後の導出演算式を示すカテゴリ演算後導出演算メタデータと、後述する集計結果を保持するためのエリアである集計バッファを示す集計エリアメタデータと、出力データへの構造変換を示すデータ構造変換メタデータとを、リポジトリ３０に生成する。そして、バッチ処理装置においては、これら全てのメタデータが上述したメタデータ取得部１５１を介して各部に供給される。
【００７５】
まず、バッチ処理装置においては、インターフェースメタデータが、メタデータ取得部１５１を介して入力部１５２、サマリー演算部１５３１、及び出力部１５４に供給され、このインターフェースメタデータに基づいて各種バッファやこれらバッファ間のリンク関係が明示される。
【００７６】
また、バッチ処理装置においては、入出力情報メタデータが、メタデータ取得部１５１を介して入力部１５２及び出力部１５４に供給され、この入出力情報メタデータに基づいて、入力データや出力データの情報や、管理単位や複数のデータ間のリレーション関係が明示される。
【００７７】
さらに、バッチ処理装置においては、抽出条件メタデータが、メタデータ取得部１５１を介して抽出条件判定部２０１に供給され、この抽出条件メタデータに基づいて抽出条件の判定が行われる。
【００７８】
さらにまた、バッチ処理装置においては、コード変換メタデータが、メタデータ取得部１５１を介してコード変換部２０２に供給され、このコード変換メタデータに基づいてコード変換が行われる。
【００７９】
また、バッチ処理装置においては、導出演算メタデータが、メタデータ取得部１５１を介して導出演算部２０３に供給され、この導出演算メタデータに基づいて導出演算が行われる。
【００８０】
また、バッチ処理装置においては、カテゴリ演算メタデータが、メタデータ取得部１５１を介してカテゴリ演算部２０４に供給され、このカテゴリ演算メタデータに基づいてカテゴリ演算が行われる。
【００８１】
さらに、バッチ処理装置においては、集計エリアメタデータが、メタデータ取得部１５１を介してカテゴリ演算部２０４に供給され、このカテゴリ演算メタデータに基づいて集計バッファが明示される。
【００８２】
さらにまた、バッチ処理装置においては、カテゴリ演算後導出演算メタデータが、メタデータ取得部１５１を介してカテゴリ演算後導出演算部２０５に供給され、このカテゴリ演算後導出演算メタデータに基づいてカテゴリ演算後の導出演算が行われる。
【００８３】
そして、バッチ処理装置においては、データ構造変換メタデータが、メタデータ取得部１５１を介してデータ構造変換部２０６に供給され、このデータ構造変換メタデータに基づいて出力データの構造に構造変換を行う。
【００８４】
このような各種メタデータに基づく処理を行うサマリー演算プロセス部１５０１は、図１０に示す一連の工程を経ることにより、サマリー演算プロセスを実現する。
【００８５】
まず、サマリー演算プロセス部１５０１は、同図に示すように、ステップＳ１において、各種メタデータをリポジトリ３０から取得し、先に図３に示したメモリ１００に展開すると、ステップＳ２において、入力データを保持するための入力バッファ、処理のための中間バッファ、出力データを保持するための出力バッファ、及び集計結果を保持するための集計バッファを、インターフェースメタデータに基づいてメモリ１００に展開する。
【００８６】
続いて、サマリー演算プロセス部１５０１は、ステップＳ３において、入出力情報メタデータに基づいて入力データを読み込み、この入力データをメモリ１００に展開された入力バッファに設定する。なお、サマリー演算プロセス部１５０１は、複数の入力データを入力する場合には、複数の入力バッファをメモリ１００に展開し、複数の入力データを各入力バッファに設定する。
【００８７】
続いて、サマリー演算プロセス部１５０１は、ステップＳ４において、全ての入力データについて処理を行ったか否かを判定する。ここで、サマリー演算プロセス部１５０１は、全ての入力データについて処理を行っていないものと判定した場合には、ステップＳ５へと処理を移行する。一方、サマリー演算プロセス部１５０１は、全ての入力データについて処理を行ったものと判定した場合には、ステップＳ１２へと処理を移行する。
【００８８】
サマリー演算プロセス部１５０１は、ステップＳ４にて全ての入力データについて処理を行っていないものと判定した場合には、ステップＳ５において、抽出条件判定部２０１によって抽出条件メタデータに基づいて抽出条件を判定する。
【００８９】
そして、サマリー演算プロセス部１５０１は、ステップＳ６において、抽出条件を満たしていないものと判定した場合には、当該入力データについては処理を行わず、ステップＳ３からの処理を繰り返す。
【００９０】
一方、サマリー演算プロセス部１５０１は、ステップＳ６において、抽出条件を満たしているものと判定した場合には、ステップＳ７において、管理単位の値が変化したか否かを判定する。
【００９１】
ここで、サマリー演算プロセス部１５０１は、ステップＳ７にて管理単位の値が変化したものと判定した場合には、ステップＳ１２へと処理を移行し、カテゴリ演算後導出演算部２０５によってカテゴリ演算後導出演算メタデータに基づいてカテゴリ演算後の導出演算を行い、その結果をメモリ１００に展開された集計バッファに設定する。
【００９２】
続いて、サマリー演算プロセス部１５０１は、ステップＳ１３において、集計バッファの内容をメモリ１００に展開された出力バッファに設定し、ステップＳ１４において、出力バッファの内容をデータベースに出力する。なお、サマリー演算プロセス部１５０１は、複数の出力データを出力する場合には、複数の出力バッファをメモリ１００に展開し、データ構造変換部２０６によってデータ構造変換メタデータに基づいて集計バッファと複数の出力バッファとを関連付け、出力データの構造への変換を行う。そして、サマリー演算プロセス部１５０１は、ステップＳ８へと処理を移行する。
【００９３】
一方、サマリー演算プロセス部１５０１は、ステップＳ７にて管理単位の値が変化していないものと判定した場合には、ステップＳ８へと処理を移行する。サマリー演算プロセス部１５０１は、ステップＳ８において、入力バッファの内容をメモリ１００に展開された中間バッファに設定し、ステップＳ９において、コード変換部２０２によってコード変換メタデータに基づいてコード変換を行い、その結果を中間バッファに設定する。
【００９４】
続いて、サマリー演算プロセス部１５０１は、ステップＳ１０において、導出演算部２０３によって導出演算メタデータに基づいて導出演算を行い、その結果を中間バッファにさらに加算更新する。
【００９５】
そして、サマリー演算プロセス部１５０１は、ステップＳ１１において、カテゴリ演算部２０４によってカテゴリ演算メタデータ及び集計エリアメタデータに基づいてカテゴリ演算を行い、その結果を集計バッファにさらに加算更新し、ステップＳ３からの処理を繰り返す。
【００９６】
サマリー演算プロセス部１５０１は、以上のような工程を繰り返し行い、ステップＳ４にて全ての入力データについて処理を行ったものと判定した場合には、ステップＳ１２において、カテゴリ演算後導出演算部２０５によってカテゴリ演算後の導出演算を行い、その結果をメモリ１００に展開された集計バッファに加算更新する。
【００９７】
そして、サマリー演算プロセス部１５０１は、ステップＳ１３において、集計バッファの内容を出力バッファに設定した後、ステップＳ１４において、出力バッファの内容を最終的な出力データとしてデータベースに出力し、一連の処理を終了する。なお、サマリー演算プロセス部１５０１は、複数の出力データを出力する場合には、複数の出力バッファをメモリ１００に展開し、データ構造変換部２０６によってデータ構造変換メタデータに基づいて集計バッファと複数の出力バッファとを関連付け、出力データの構造への変換を行う。
【００９８】
サマリー演算プロセス部１５０１は、このような一連の工程を経ることにより、サマリー演算プロセスを実現することができる。
【００９９】
すなわち、サマリー演算プロセス部１５０１は、表示及び操作部５０によってバッチ処理の起動指示が入力され、プロセス運用管理部６０の制御のもとに当該サマリー演算プロセスが起動されるか又はプロセス運用管理部６０の制御のもとに次に起動すべきプロセスとして当該サマリー演算プロセスが起動されると、リポジトリ３０から各種メタデータを取得してメモリ１００に展開する。そして、サマリー演算プロセス部１５０１は、管理単位の取得命令に応じて、入出力情報メタデータに基づく管理単位を取得し、処理の対象となるデータの入力命令に応じて、入出力情報メタデータと抽出条件メタデータとに基づいて、入力データにおける必要なレコードを入力バッファに読み込み、その後入力バッファから必要なデータ項目を中間バッファに設定する。また、サマリー演算プロセス部１５０１は、コード変換命令に応じて、コード変換メタデータに基づいてコード変換を行うと、その結果を中間バッファに設定し、さらに、導出演算命令に応じて、導出演算メタデータに基づいて導出演算を行い、その結果を管理単位が変化するまで中間バッファに加算更新する。さらに、サマリー演算プロセス部１５０１は、カテゴリ演算命令に応じて、カテゴリ演算メタデータ及び集計エリアメタデータに基づいてカテゴリ演算を行い、その結果を管理単位が変化するまで集計バッファとしての中間バッファに加算更新し、さらに、管理単位が変化した後のカテゴリ演算後の導出演算命令に応じて、カテゴリ演算後導出演算メタデータに基づいてカテゴリ演算後の導出演算を行い、その結果を集計バッファに設定する。
【０１００】
そして、サマリー演算プロセス部１５０１は、管理単位が変化する毎に出力バッファへの設定命令を受け、これに応じて、データ構造変換メタデータに基づいて集計バッファの内容を出力バッファに設定し、データの出力命令に応じて、入出力情報メタデータに基づいて管理単位が変化する毎に出力バッファの内容を中間データ又は複数の目的別の出力データに書き込む。
【０１０１】
このように、サマリー演算プロセス部１５０１は、各種メタデータに基づくサマリー演算プロセスを実行し、多次元多階層のサマリーデータを作成することができる。
【０１０２】
つぎに、明細演算プロセスの場合について説明する。
【０１０３】
バッチ処理装置においては、明細演算プロセスを実現するために、図１１に示す構成からなる明細演算プロセスを行う明細演算プロセス部１５０２に対して、リポジトリ３０から各種メタデータが与えられる。
【０１０４】
ここで、先に図７に示した通常演算プロセス部１５０における通常演算部１５３に対応する明細演算部１５３２は、図１１に示すように、抽出条件を判定する抽出条件判定部２５１と、コード変換を行うコード変換部２５２と、四則演算や各種関数演算等の条件付きの導出演算を行う導出演算部２５３と、出力データの構造に変換するデータ構造変換部２５４とを有する。
【０１０５】
また、バッチ処理装置においては、明細演算プロセスを行うために必要となるメタデータとして、各種バッファやこれらバッファ間のリンク関係を示すインターフェースメタデータと、入力データ及び出力データを示す入出力情報メタデータと、入力データのデータ項目を要素として表現される抽出条件式を示す抽出条件メタデータと、入力データのデータ項目の値を出力データのコードに変換するコード変換の内容とその変換方法を示すコード変換メタデータと、入力データのデータ項目によって導出される出力データを表現する導出演算式を示す導出演算メタデータと、出力データへの構造変換を示すデータ構造変換メタデータとを、リポジトリ３０に生成する。そして、バッチ処理装置においては、これら全てのメタデータが上述したメタデータ取得部１５１を介して各部に供給される。
【０１０６】
まず、バッチ処理装置においては、インターフェースメタデータが、メタデータ取得部１５１を介して入力部１５１、明細演算部１５３２、及び出力部１５４に供給され、このインターフェースメタデータに基づいて各種バッファ間のリンク関係が明示される。
【０１０７】
また、バッチ処理装置においては、入出力情報メタデータが、メタデータ取得部１５１を介して入力部１５２及び出力部１５４に供給され、この入出力情報メタデータに基づいて、入力データや出力データの情報や、管理単位や複数のデータ間のリレーション関係が明示される。
【０１０８】
さらに、バッチ処理装置においては、抽出条件メタデータが、メタデータ取得部１５１を介して抽出条件判定部２５１に供給され、この抽出条件メタデータに基づいて抽出条件の判定が行われる。
【０１０９】
さらに、バッチ処理装置においては、コード変換メタデータが、メタデータ取得部１５１を介してコード変換部２５２に供給され、このコード変換メタデータに基づいてコード変換が行われる。
【０１１０】
さらにまた、バッチ処理装置においては、導出演算メタデータが、メタデータ取得部１５１を介して導出演算部２５３に供給され、この導出演算メタデータに基づいて導出演算が行われる。
【０１１１】
そして、バッチ処理装置においては、データ構造変換メタデータが、メタデータ取得部１５１を介してデータ構造変換部２５４に供給され、このデータ構造変換メタデータに基づいて出力データの構造に構造変換を行う。
【０１１２】
このような各種メタデータに基づく処理を行う明細演算プロセス部１５０２は、図１２に示す一連の工程を経ることにより、明細演算プロセスを実現する。
【０１１３】
まず、明細演算プロセス部１５０２は、同図に示すように、ステップＳ２１において、各種メタデータをリポジトリ３０から取得し、メモリ１００に展開すると、ステップＳ２２において、入力データを保持するための入力バッファ、処理のための中間バッファ、及び出力データを保持するための出力バッファを、インターフェースメタデータに基づいてメモリ１００に展開する。
【０１１４】
続いて、明細演算プロセス部１５０２は、ステップＳ２３において、入出力情報メタデータに基づいて入力データを読み込み、この入力データをメモリ１００に展開された入力バッファに設定する。なお、明細演算プロセス部１５０２は、複数の入力データを入力する場合には、複数の入力バッファをメモリ１００に展開し、複数の入力データを各入力バッファに設定する。
【０１１５】
続いて、明細演算プロセス部１５０２は、ステップＳ２４において、全ての入力データについて処理を行ったか否かを判定する。ここで、明細演算プロセス部１５０２は、全ての入力データについて処理を行っていないものと判定した場合には、ステップＳ２５へと処理を移行する。一方、明細演算プロセス部１５０２は、全ての入力データについて処理を行ったものと判定した場合には、ステップＳ３１へと処理を移行する。
【０１１６】
明細演算プロセス部１５０２は、ステップＳ２４にて全ての入力データについて処理を行っていないものと判定した場合には、ステップＳ２５において、抽出条件判定部２５１によって抽出条件メタデータに基づいて抽出条件を判定する。
【０１１７】
そして、明細演算プロセス部１５０２は、ステップＳ２６において、抽出条件を満たしていないものと判定した場合には、当該入力データについては処理を行わず、ステップＳ２３からの処理を繰り返す。
【０１１８】
一方、明細演算プロセス部１５０２は、ステップＳ２６において、抽出条件を満たしているものと判定した場合には、ステップＳ２７において、管理単位の値が変化したか否かを判定する。
【０１１９】
ここで、明細演算プロセス部１５０２は、ステップＳ２７にて管理単位の値が変化したものと判定した場合には、ステップＳ３１へと処理を移行し、メモリ１００に展開された中間バッファの内容を同じくメモリ１００に展開された出力バッファに設定し、ステップＳ３２において、出力バッファの内容をデータベースに出力する。そして、明細演算プロセス部１５０２は、ステップＳ２８へと処理を移行する。なお、明細演算プロセス部１５０２は、複数の出力データを出力する場合には、複数の出力バッファをメモリ１００に展開し、データ構造変換部２５４によってデータ構造変換メタデータに基づいて中間バッファと複数の出力バッファとを関連付け、出力データの構造への変換を行う。
【０１２０】
一方、明細演算プロセス部１５０２は、ステップＳ２７にて管理単位の値が変化していないものと判定した場合には、ステップＳ２８へと処理を移行する。明細演算プロセス部１５０２は、ステップＳ２８において、入力バッファの内容を中間バッファに設定し、ステップＳ２９において、コード変換部２５２によってコード変換メタデータに基づいてコード変換を行い、その結果を中間バッファに設定する。
【０１２１】
続いて、明細演算プロセス部１５０２は、ステップＳ３０において、導出演算部２５３によって導出演算メタデータに基づいて導出演算を行い、その結果を中間バッファにさらに加算更新し、ステップＳ２３からの処理を繰り返す。
【０１２２】
明細演算プロセス部１５０２は、以上のような工程を繰り返し行い、ステップＳ２４にて全ての入力データについて処理を行ったものと判定した場合には、ステップＳ３１において、中間バッファの内容を出力バッファに設定した後、ステップＳ３２において、出力バッファの内容を最終的な出力データとしてデータベースに出力し、一連の処理を終了する。なお、明細演算プロセス部１５０２は、複数の出力データを出力する場合には、複数の出力バッファをメモリ１００に展開し、データ構造変換部２５４によってデータ構造変換メタデータに基づいて中間バッファと複数の出力バッファとを関連付け、出力データの構造への変換を行う。
【０１２３】
明細演算プロセス部１５０２は、このような一連の工程を経ることにより、明細演算プロセスを実現することができる。
【０１２４】
すなわち、明細演算プロセス部１５０２は、表示及び操作部５０によってバッチ処理の起動指示が入力され、プロセス運用管理部６０の制御のもとに当該明細演算プロセスが起動されるか又はプロセス運用管理部６０の制御のもとに次に起動すべきプロセスとして当該明細演算プロセスが起動されると、リポジトリ３０から各種メタデータを取得してメモリ１００に展開する。そして、明細演算プロセス部１５０２は、管理単位の取得命令に応じて、入出力情報メタデータに基づく管理単位を取得し、処理の対象となるデータの入力命令に応じて、入出力情報メタデータと抽出条件メタデータとに基づいて、入力データにおける必要なレコードを入力バッファに読み込み、その後入力バッファから必要なデータ項目を中間バッファに設定する。また、明細演算プロセス部１５０２は、コード変換命令に応じて、コード変換メタデータに基づいてコード変換を行うと、その結果を中間バッファに設定し、さらに、導出演算命令に応じて、導出演算メタデータに基づいて導出演算を行い、その結果を管理単位が変化するまで中間バッファに加算更新する。
【０１２５】
そして、明細演算プロセス部１５０２は、管理単位が変化する毎に出力バッファへの設定命令を受け、これに応じて、データ構造変換メタデータに基づいて中間バッファの内容を出力バッファに設定し、データの出力命令に応じて、入出力情報メタデータに基づいて管理単位が変化する毎に出力バッファの内容を中間データ又は複数の目的別の出力データに書き込む。
【０１２６】
このように、明細演算プロセス部１５０２は、各種メタデータに基づく明細演算プロセスを実行し、明細データを作成することができる。
【０１２７】
つぎに、グループ演算プロセスの場合について説明する。
【０１２８】
バッチ処理装置においては、グループ演算プロセスを実現するために、図１３に示す構成からなるグループ演算プロセス部１６０に対して、リポジトリ３０から各種メタデータが与えられる。
【０１２９】
ここで、上述したグループ演算部１６３は、同図に示すように、入力データ上に存在する親子関係の合計処理に際するグループ演算を行うグループ演算部３０１と、このグループ演算部３０１によるグループ演算後に導出演算を行うグループ演算後導出演算部３０２と、出力データの構造に変換するデータ構造変換部３０３とを有する。
【０１３０】
また、バッチ処理装置においては、グループ演算プロセスを行うために必要となるメタデータとして、各種バッファやこれらバッファ間のリンク関係を示すインターフェースメタデータと、入力データ及び出力データを示す入出力情報メタデータと、グループ演算の内容を示すグループ演算メタデータと、グループ演算後の導出演算を示すグループ演算後導出演算メタデータと、出力データへの構造変換を示すデータ構造変換メタデータとを、リポジトリ３０に生成する。そして、バッチ処理装置においては、これら全てのメタデータが上述したメタデータ取得部１６１を介して各部に供給される。
【０１３１】
まず、バッチ処理装置においては、インターフェースメタデータが、メタデータ取得部１６１を介して入力部１６２、グループ演算部１６３、及び出力部１６４に供給され、このインターフェースメタデータに基づいて各種バッファ間のリンク関係が明示される。
【０１３２】
また、バッチ処理装置においては、入出力情報メタデータが、メタデータ取得部１６１を介して入力部１６２及び出力部１６４に供給され、この入出力情報メタデータに基づいて、入力データや出力データの情報や複数のデータ間のリレーション関係が明示される。
【０１３３】
さらに、バッチ処理装置においては、グループ演算メタデータが、メタデータ取得部１６１を介してグループ演算部３０１に供給され、このグループ演算メタデータに基づいてグループ演算が行われる。
【０１３４】
さらにまた、バッチ処理装置においては、グループ演算後導出演算メタデータが、メタデータ取得部１６１を介してグループ演算後導出演算部３０２に供給され、このグループ演算後導出演算メタデータに基づいてグループ演算後の導出演算が行われる。
【０１３５】
そして、バッチ処理装置においては、データ構造変換メタデータが、メタデータ取得部１６１を介してデータ構造変換部３０３に供給され、このデータ構造変換メタデータに基づいて出力データの構造に構造変換を行う。
【０１３６】
このような各種メタデータに基づく処理を行うグループ演算プロセス部１６０は、図１４に示す一連の工程を経ることにより、グループ演算プロセスを実現する。
【０１３７】
まず、グループ演算プロセス部１６０は、同図に示すように、ステップＳ４１において、各種メタデータをリポジトリ３０から取得し、メモリ１００に展開すると、ステップＳ４２において、入力データを保持するための入力バッファ、処理のための中間バッファ、及び出力データを保持するための出力バッファを、インターフェースメタデータに基づいてメモリ１００に展開する。
【０１３８】
続いて、グループ演算プロセス部１６０は、ステップＳ４３において、入出力情報メタデータに基づいて入力データを読み込み、この入力データをメモリ１００に展開された入力バッファに設定する。なお、グループ演算プロセス部１６０は、複数の入力データを入力する場合には、複数の入力バッファをメモリ１００に展開し、複数の入力データを各入力バッファに設定する。
【０１３９】
続いて、グループ演算プロセス部１６０は、ステップＳ４４において、全ての入力データについて処理を行ったか否かを判定する。ここで、グループ演算プロセス部１６０は、全ての入力データについて処理を行っていないものと判定した場合には、ステップＳ４５へと処理を移行する。一方、グループ演算プロセス部１６０は、全ての入力データについて処理を行ったものと判定した場合には、そのまま一連の処理を終了する。
【０１４０】
グループ演算プロセス部１６０は、ステップＳ４４にて全ての入力データについて処理を行っていないものと判定した場合には、ステップＳ４５において、グループ演算メタデータから親子関係におけるグループ集計のために当該親子関係を特定する入力データのデータ項目と集計方法を取得し、ステップＳ４６において、取得した情報に基づいて、親子関係があるか否かを判定する。
【０１４１】
ここで、グループ演算プロセス部１６０は、ステップＳ４６にて親子関係がないものと判定した場合には、ステップＳ５４へと処理を移行し、入力バッファの内容をメモリ１００に展開された出力バッファに設定した後、ステップＳ５５において、グループ演算後導出演算部３０２によってグループ演算後導出演算メタデータに基づいて導出演算を行い、その結果を出力バッファに設定する。なお、グループ演算プロセス部１６０は、複数の出力データを出力する場合には、複数の出力バッファをメモリ１００に展開し、データ構造変換部３０３によってデータ構造変換メタデータに基づいて中間バッファと複数の出力バッファとを関連付け、出力データの構造への変換を行う。
【０１４２】
そして、グループ演算プロセス部１６０は、ステップＳ５６において、出力バッファの内容をデータベースに出力し、ステップＳ４３からの処理を繰り返す。
【０１４３】
一方、グループ演算プロセス部１６０は、ステップＳ４６にて親子関係があるものと判定した場合には、ステップＳ４７へと処理を移行し、出力データのグループ合計レコードを読み込み、ステップＳ４８において、グループ合計レコードがあるか否かを判定する。
【０１４４】
ここで、グループ演算プロセス部１６０は、ステップＳ４８にてグループ合計レコードがないものと判定した場合には、ステップＳ４９へと処理を移行し、入力バッファの内容をメモリ１００に展開された中間バッファに設定した後、ステップＳ５０において、グループ演算部３０１によってグループ演算メタデータに基づいてグループ演算を行い、その結果を中間バッファに設定し、ステップＳ５３へと処理を移行する。
【０１４５】
一方、グループ演算プロセス部１６０は、ステップＳ４８にてグループ合計レコードがあるものと判定した場合には、ステップＳ５１へと処理を移行する。グループ演算プロセス部１６０は、ステップＳ５１において、グループ合計レコードの内容を中間バッファに設定し、ステップＳ５２において、入力データの値を中間バッファにさらに加算更新した後、ステップＳ５０において、グループ演算部３０１によってグループ演算メタデータに基づいてグループ演算を行い、その結果を中間バッファに設定し、ステップＳ５３へと処理を移行する。
【０１４６】
グループ演算プロセス部１６０は、ステップＳ５３において、作成した中間バッファの内容をデータベースに出力し、ステップＳ５４において、入力バッファの内容を出力バッファに設定する。なお、グループ演算プロセス部１６０は、複数の出力データを出力する場合には、複数の出力バッファをメモリ１００に展開し、データ構造変換部３０３によってデータ構造変換メタデータに基づいて中間バッファと複数の出力バッファとを関連付け、出力データの構造への変換を行う。
【０１４７】
そして、グループ演算プロセス部１６０は、ステップＳ５５において、グループ演算後導出演算部３０２によってグループ演算後の導出演算を行い、ステップＳ５６において、出力バッファの内容をデータベースに出力し、ステップＳ４３からの処理を繰り返す。
【０１４８】
グループ演算プロセス部１６０は、このような一連の工程を経ることにより、グループ演算プロセスを実現することができる。
【０１４９】
すなわち、グループ演算プロセス部１６０は、表示及び操作部５０によってバッチ処理の起動指示が入力され、プロセス運用管理部６０の制御のもとに次に起動すべきプロセスとして当該グループ演算プロセスが起動されると、リポジトリ３０から各種メタデータを取得してメモリ１００に展開する。そして、グループ演算プロセス部１６０は、処理の対象となるデータの入力命令に応じて、入出力情報メタデータに基づいて、入力データにおける必要なレコードを入力バッファに読み込み、その後入力バッファから必要なデータ項目を中間バッファに設定する。また、グループ演算プロセス部１６０は、グループ演算命令に応じて、グループ演算メタデータに基づいてグループ演算を行うと、その結果を中間バッファに設定し、さらに、グループ演算後の導出演算命令に応じて、グループ演算後導出演算メタデータに基づいてグループ演算後の導出演算を行い、その結果を中間バッファに設定する。
【０１５０】
そして、グループ演算プロセス部１６０は、出力バッファへの設定命令を受け、これに応じて、データ構造変換メタデータに基づいて入力バッファ又は中間バッファの内容を出力バッファに設定し、データの出力命令に応じて、入出力情報メタデータに基づいて出力バッファの内容を中間データ又は複数の目的別の出力データに書き込む。
【０１５１】
このように、グループ演算プロセス部１６０は、各種メタデータに基づくグループ演算プロセスを実行することができる。
【０１５２】
最後に、時系列演算プロセスの場合について説明する。
【０１５３】
バッチ処理装置においては、時系列演算プロセスを実現するために、図１５に示す構成からなる時系列演算プロセス部１７０に対して、リポジトリ３０から各種メタデータが与えられる。
【０１５４】
ここで、上述した時系列演算部１７３は、同図に示すように、時系列演算を行う時系列演算部３５１と、出力データの構造に変換するデータ構造変換部３５２とを有する。
【０１５５】
また、バッチ処理装置においては、時系列演算プロセスを行うために必要となるメタデータとして、各種バッファやこれらバッファ間のリンク関係を示すインターフェースメタデータと、入力データ及び出力データを示す入出力情報メタデータと、時系列演算の内容を示す時系列演算メタデータと、出力データへの構造変換を示すデータ構造変換メタデータとを、リポジトリ３０に生成する。そして、バッチ処理装置においては、これら全てのメタデータが上述したメタデータ取得部１７１を介して各部に供給される。
【０１５６】
まず、バッチ処理装置においては、インターフェースメタデータが、メタデータ取得部１７１を介して入力部１７２、時系列演算部１７３、及び出力部１７４に供給され、このインターフェースメタデータに基づいて各種バッファ間のリンク関係が明示される。
【０１５７】
また、バッチ処理装置においては、入出力情報メタデータが、メタデータ取得部１７１を介して入力部１７２及び出力部１７４に供給され、この入出力情報メタデータに基づいて、入力データや出力データの情報や複数のデータ間のリレーション関係が明示される。
【０１５８】
さらに、バッチ処理装置においては、時系列演算メタデータが、メタデータ取得部１７１を介して時系列演算部１７３に供給され、この時系列演算メタデータに基づいて時系列演算が行われる。
【０１５９】
そして、バッチ処理装置においては、データ構造変換メタデータが、メタデータ取得部１７１を介してデータ構造変換部３５２に供給され、このデータ構造変換メタデータに基づいて出力データの構造に構造変換を行う。
【０１６０】
このような各種メタデータに基づく処理を行う時系列演算プロセス部１７０は、図１６に示す一連の工程を経ることにより、時系列演算プロセスを実現する。
【０１６１】
まず、時系列演算プロセス部１７０は、同図に示すように、ステップＳ６１において、各種メタデータをリポジトリ３０から取得し、メモリ１００に展開すると、ステップＳ６２において、入力データを保持するための入力バッファ、処理のための中間バッファ、及び出力データを保持するための出力バッファを、インターフェースメタデータに基づいてメモリ１００に展開する。
【０１６２】
続いて、時系列演算プロセス部１７０は、ステップＳ６３において、入出力情報メタデータに基づいて入力データを読み込み、この入力データをメモリ１００に展開された入力バッファに設定する。なお、時系列演算プロセス部１７０は、複数の入力データを入力する場合には、複数の入力バッファをメモリ１００に展開し、複数の入力データを各入力バッファに設定する。
【０１６３】
続いて、時系列演算プロセス部１７０は、ステップＳ６４において、全ての入力データについて処理を行ったか否かを判定する。ここで、時系列演算プロセス部１７０は、全ての入力データについて処理を行っていないものと判定した場合には、ステップＳ６５へと処理を移行する。一方、時系列演算プロセス部１７０は、全ての入力データについて処理を行ったものと判定した場合には、そのまま一連の処理を終了する。
【０１６４】
時系列演算プロセス部１７０は、ステップＳ６４にて全ての入力データについて処理を行っていないものと判定した場合には、ステップＳ６５において、時系列演算部３５１により、時系列演算メタデータから、取得する過去訂正データを示す情報を取得し、入力データが過去訂正を行うための過去訂正データであるか否かを判定する。
【０１６５】
ここで、時系列演算プロセス部１７０は、ステップＳ６５にて入力データが過去訂正データであるものと判定した場合には、ステップＳ６６へと処理を移行する。時系列演算プロセス部１７０は、ステップＳ６６において、時系列演算部３５１によって時系列演算メタデータに基づいて、過去訂正を行うために対象となる出力データの該当過去日付のレコードを読み込み、このレコードをメモリ１００に展開された中間バッファに設定する。
【０１６６】
続いて、時系列演算プロセス部１７０は、ステップＳ６７において、時系列演算部３５１により、中間バッファに設定したレコードの値に対して、時系列演算メタデータによって示された過去訂正データの訂正数値を用いて加減算を行い、訂正した数値を中間バッファに設定し、ステップＳ６８において、中間バッファの内容をメモリ１００に展開された出力バッファに設定し、ステップＳ６９において、出力バッファの内容をデータベースに出力する。なお、時系列演算プロセス部１７０は、複数の出力データを出力する場合には、複数の出力バッファをメモリ１００に展開し、データ構造変換部３５２によってデータ構造変換メタデータに基づいて中間バッファと複数の出力バッファとを関連付け、出力データの構造への変換を行う。
【０１６７】
そして、時系列演算プロセス部１７０は、ステップＳ７０において、ステップＳ６６乃至ステップＳ６９の処理を直近日付までのレコードに対して行い、ステップＳ６３からの処理を繰り返す。
【０１６８】
一方、時系列演算プロセス部１７０は、ステップＳ６５にて入力データが過去訂正データでないものと判定した場合には、ステップＳ７１へと処理を移行し、時系列演算部３５１によって時系列演算メタデータに基づいて対比演算や過去データ設定が必要であるか否かを判定する。
【０１６９】
ここで、時系列演算プロセス部１７０は、ステップＳ７１にて対比演算や過去データ設定が必要でないものと判定した場合には、ステップＳ７２へと処理を移行し、入力バッファの内容を出力バッファに設定した後、ステップＳ７７において、出力バッファの内容をデータベースに出力し、ステップＳ６３からの処理を繰り返す。なお、時系列演算プロセス部１７０は、複数の出力データを出力する場合には、複数の出力バッファをメモリ１００に展開し、データ構造変換部３５２によってデータ構造変換メタデータに基づいて、中間バッファと複数の出力バッファとを関連付け、出力データの構造への変換を行う。
【０１７０】
一方、時系列演算プロセス部１７０は、ステップＳ７１にて対比演算や過去データ設定が必要であるものと判定した場合には、ステップＳ７３へと処理を移行する。時系列演算プロセス部１７０は、ステップＳ７３において、入力バッファの内容を中間バッファに設定した後、時系列演算部３５１によって時系列演算メタデータに基づいて対比演算及び／又は過去データ設定を行う。
【０１７１】
すなわち、時系列演算プロセス部１７０は、対比演算を行う場合には、ステップＳ７４において、時系列演算部３５１によって入力データの値と過去データの値との差分である対比計数を算出し、この対比計数を中間バッファに設定する。一方、時系列演算プロセス部１７０は、過去データ設定を行う場合には、ステップＳ７５において、時系列演算部３５１によって過去データの値を取得し、この値を中間バッファに設定する。
【０１７２】
そして、時系列演算プロセス部１７０は、ステップＳ７６において、中間バッファの内容を出力バッファに設定した後、ステップＳ７７において、出力バッファの内容をデータベースに出力し、ステップＳ６３からの処理を繰り返す。なお、時系列演算プロセス部１７０は、複数の出力データを出力する場合には、複数の出力バッファをメモリ１００に展開し、データ構造変換部３５２によってデータ構造変換メタデータに基づいて、中間バッファと複数の出力バッファとを関連付け、出力データの構造への変換を行う。
【０１７３】
時系列演算プロセス部１７０は、このような一連の工程を経ることにより、時系列演算プロセスを実現することができる。
【０１７４】
すなわち、時系列演算プロセス部１７０は、表示及び操作部５０によってバッチ処理の起動指示が入力され、プロセス運用管理部６０の制御のもとに次に起動すべきプロセスとして当該時系列演算プロセスが起動されると、リポジトリ３０から各種メタデータを取得してメモリ１００に展開する。そして、時系列演算プロセス部１７０は、処理の対象となるデータの入力命令に応じて、入出力情報メタデータに基づいて、入力データにおける必要なレコードを入力バッファに読み込み、その後入力バッファから必要なデータ項目を中間バッファに設定する。また、時系列演算プロセス部１７０は、過去データ設定命令に応じて、時系列演算メタデータによって示された設定する過去時点と計数のデータ項目名称とに基づいて過去データ設定を行うと、その結果を中間バッファに設定し、さらに、対比演算命令に応じて、時系列演算メタデータによって示された対比する計数のデータ項目名称に基づいて対比演算を行うと、その結果を中間バッファに設定し、さらに、過去データ訂正命令に応じて、時系列演算メタデータによって示された訂正する過去時点と計数のデータ項目名称とに基づいて過去データ訂正を行うと、その結果を中間バッファに設定する。
【０１７５】
そして、時系列演算プロセス部１７０は、出力バッファへの設定命令を受け、これに応じて、データ構造変換メタデータに基づいて中間バッファの内容を出力バッファに設定し、データの出力命令に応じて、時系列演算メタデータによって示された時系列データとして保有すべき期間である時系列保有期間と入出力情報メタデータとに基づいて、管理単位が変化する毎に出力バッファの内容を中間データ又は複数の目的別の出力データに書き込んで更新するとともに、時系列保有期間を超過したレコードを削除する。
【０１７６】
このように、時系列演算プロセス部１７０は、各種メタデータに基づく時系列演算プロセスを実行することができる。
【０１７７】
バッチ処理装置においては、以上のように各演算プロセス毎に必要な各種メタデータが生成され、これらの各種メタデータに基づいて各演算プロセスを柔軟に実行することができる。
【０１７８】
なお、バッチ処理装置においては、特に図示しないが、上述した各プロセスを実行するのに先だって、上述した各種メタデータにおけるデータ項目名称を管理するデータ辞書メタデータや、出力のユーザビューを管理するユーザビュー情報メタデータが生成され、リポジトリ３０に登録されている。これにより、バッチ処理装置においては、各種メタデータの生成が可能となり、ユーザビューに応じた出力データを作成することが可能となる。
【０１７９】
さて、最後に、以上のようなバッチ処理装置における処理イメージの明確化を図るために、具体的な処理例として、上述したサマリーデータを作成する場合を取り上げて説明する。ここでは、まず、取り上げるユーザ仕様について説明した後、このユーザ仕様に応じて必要とされるメタデータの具体例について説明する。
【０１８０】
まず、入力データは、図１７に示す仕様であるものとする。
【０１８１】
すなわち、入力データは、同図（Ａ）に示すように、支店番号、支店名、支店住所、支店種類、東日本表示、西日本表示といった情報からなる支店テーブルと、同図（Ｂ）に示すように、顧客番号、支店番号、氏名、住所、地区コード、業種コード、企業規模コード、契約日といった情報からなる顧客テーブルと、同図（Ｃ）に示すように、取引番号、顧客番号、商品コード、取引コード、取引金額、勘定日といった情報からなる取引テーブルとから構成されるものとする。これらのうち、支店テーブルと顧客テーブルとは、支店番号で関連付けられ、顧客テーブルと取引テーブルとは、顧客番号で関連付けられる。
【０１８２】
つぎに、ユーザビューは、図１８及び図１９に示す２つの仕様からなる”Ａ業務についての日次の支店別サマリー”であるものとし、これらのサマリーデータをファイルとして出力するものとする。
【０１８３】
すなわち、後述するユーザビュー番号が”１”とされる第１のユーザビューは、図１８に示すように、製造業、一次産業、二次産業、三次産業、東京都・大企業、中小企業、及び総合計を列項目とし、取引金額、ａ〜ｃ取引の取引金額、ｄ〜ｅ取引の取引金額、Ａ型商品の取引金額、及びＢ型商品の手数料を行項目とするクロス集計表であるものとする。また、この第１のユーザビューは、見出しとして、日付、支店番号、及び支店名が設けられるものとする。そして、この第１のユーザビューは、支店別に出力されるものとする。また、この第１のユーザビューにおいては、算計項目として、”手数料＝取引金額×０．０５”の演算を行うものとし、出力する支店の条件として、支店種類がサービス店舗であるもの抽出するものとする。さらに、この第１のユーザビューのデータは、時系列データとして３０日分保有されるものとする。すなわち、第１のユーザビューにおいては、上述した時系列保有期間が３０日であるものとする。
【０１８４】
また、第２のユーザビューは、図１９に示すように、商品１、商品２、商品３、商品４、商品５、中小企業、及び総合計を列項目とし、０円から５００万円までの取引金額、５００万円から１０００万円までの取引金額、１０００万円以上の取引金額、前日取引金額、及び前日取引金額の前月末比を行項目とするクロス集計表であるものとする。また、この第２のユーザビューは、見出しとして、日付、支店番号、及び支店名が設けられるものとする。そして、この第２のユーザビューは、支店別に出力されるものとする。また、この第２のユーザビューにおいては、出力する支店の条件として、支店種類がサービス店舗であるもの抽出するものとする。さらに、この第２のユーザビューにおいては、時系列保有期間が３０日であるものとする。
【０１８５】
つぎに、各コード（カテゴリ）とカテゴリ階層との関係は、図２０乃至図２５に示す仕様であるものとする。
【０１８６】
まず、業種コードについては、図２０に示すような仕様であるものとする。すなわち、業種コードとして、農業、林業、漁業水産業、養殖、一般機械製造業、精密機械製造業、○○製造業、食品、××××、銀行、金融サービス、及び△△△からなる各カテゴリが設けられるものとし、これらのうち、漁業水産業及び養殖を水産業というカテゴリ階層に属させ、一般機械製造業、精密機械製造業及び○○製造業を製造業というカテゴリ階層に属させ、さらに、農業、林業、漁業水産業、及び養殖を一次産業というカテゴリ階層に属させ、一般機械製造業、精密機械製造業、○○製造業、食品、及び××××を二次産業というカテゴリ階層に属させ、銀行、金融サービス、及び△△△を三次産業というカテゴリ階層に属させるものとする。
【０１８７】
また、地区コードについては、図２１に示すような仕様であるものとする。すなわち、地区コードとして、北海道、・・・、埼玉県、千葉県、東京都、神奈川県、・・・、沖縄県からなる各カテゴリが設けられるものとし、これらのうち、東京都のみを東京都というカテゴリ階層に属させるものとする。
【０１８８】
さらに、商品コードについては、図２２に示すような仕様であるものとする。すなわち、商品コードとして、商品１、商品２、商品３、商品４、及び商品５が設けられるものとし、これらのうち、商品１、商品２、商品３、及び商品４をＡ型商品というカテゴリ階層に属させ、商品４及び商品５をＢ型商品というカテゴリ階層に属させるものとする。
【０１８９】
さらにまた、取引コードについては、図２３に示すような仕様であるものとする。すなわち、取引コードとして、取引ａ、取引ｂ、取引ｃ、取引ｄ、及び取引ｅが設けられるものとし、これらのうち、取引ａ、取引ｂ、及び取引ｃを”ａ〜ｃ取引”というカテゴリ階層に属させ、取引ｄ及び取引ｅを”ｄ〜ｅ取引”というカテゴリ階層に属させるものとする。
【０１９０】
また、企業規模コードについては、図２４に示すような仕様であるものとする。すなわち、企業規模コードとして、大企業、中企業、及び小企業が設けられるものとし、これらのうち、大企業を大企業というカテゴリ階層に属させ、中企業及び小企業を中小企業というカテゴリ階層に属させるものとする。
【０１９１】
さらに、金額階層コードについては、図２５に示すような仕様であるものとする。すなわち、金額階層コードとして、０円から５００万円、５００万円から１０００万円、及び１０００万円以上からなる各カテゴリが設けられるものとし、これらのうち、０円から５００万円を０円から５００万円というカテゴリ階層に属させ、５００万円から１０００万円を５００万円から１０００万円というカテゴリ階層に属させ、１０００万円以上を１０００万円以上というカテゴリ階層に属させるものとする。なお、この金額階層コードは、取引金額に基づいて判断されて作成されるものである。
【０１９２】
つぎに、親子表示を行うための店舗テーブルは、図２６に示す仕様であるものとする。
【０１９３】
すなわち、店舗テーブルは、支店番号００１，００２，００３，００４，００５を、それぞれ、札幌支店、仙台支店、東京支店、大阪支店、福岡支店とし、これらのうち、東日本表示を行う支店として、札幌支店、仙台支店、及び東京支店が該当し、西日本表示を行う支店として、大阪支店及び福岡支店が該当する旨を示すフラグがたてられるものとする。ユーザビューとしては、これらの各支店の計数の他に、図示しないが、地域表示として東日本表示又は西日本表示が判断され、東日本表示の合計を示す数値を、支店番号１００として出力するとともに、西日本表示の合計を示す数値を、支店番号１０１として出力するものとする。
【０１９４】
さらに、これらの各仕様の他に、保有する時系列データに対する過去訂正の取扱いに関する仕様が必要となる。時系列保有の仕様としては、特に図示しないが、取引明細上の取引に、取引金額の過去訂正があった場合、すなわち、勘定日が過去日付であるものがあった場合には、これに応じて時系列データを訂正するものとする。
【０１９５】
さて、このような仕様に応じて上述したメタデータ入力部２０によって生成されてリポジトリ３０に登録されるメタデータは、以下のような構成からなるものとなる。
【０１９６】
まず、上述した”データ項目名称は何か”を示すメタデータについて説明する。なお、このメタデータは、上述したデータ辞書メタデータに該当するものである。
【０１９７】
このメタデータとしては、具体的には図２７に示すように、一般属性の情報、分類属性の情報、カテゴリの情報、及びカテゴリ階層の情報がリポジトリ３０に登録される。
【０１９８】
一般属性の情報としては、同図（Ａ）に示すように、支店番号や顧客氏名といったコード値を保有しないデータ項目を表すデータ項目名称と、これらデータ項目名称の読み仮名と、その他各種情報とが設定される。また、分類属性の情報としては、同図（Ｂ）に示すように、商品コードや業種コードといったコード値を保有するデータ項目を表すデータ項目名称と、これらデータ項目名称の読み仮名と、その他各種情報とが設定される。さらに、カテゴリの情報としては、同図（Ｃ）に示すように、商品コードや業種コードといったコード値を表す分類属性名称と、これら分類属性名称のそれぞれを商品１，商品２，農業，製造業といったカテゴリ毎に区分するためのカテゴリ名称と、これらカテゴリ名称の読み仮名と、カテゴリ名称のコード値と、その他各種情報とが設定される。さらにまた、カテゴリ階層の情報としては、分類属性名称と、カテゴリ名称と、これらカテゴリ名称のそれぞれをＡ型商品、一次産業といった階層毎に区分するためのカテゴリ階層名称と、その他各種情報とが設定される。
【０１９９】
バッチ処理装置においては、”データ項目名称は何か”を示すメタデータとして、このような内容からなるものがメタデータ入力部２０によって生成され、リポジトリ３０に登録される。
【０２００】
つぎに、上述した”入力は何か”及び”出力は何か”を示すメタデータについて説明する。なお、これらのメタデータは、上述した入出力情報メタデータに該当するものである。
【０２０１】
これらのメタデータとしては、具体的には図２８に示すように、ファイルの一覧、ファイルに関するスキーマ、管理単位、処理毎の使用ファイルの一覧、処理毎の使用ファイルのリレーション一覧がリポジトリ３０に登録される。
【０２０２】
ファイルの一覧としては、同図（Ａ）に示すように、例えばＡ業務といった予め設定されている業務の区分を表す業務区分と、支店テーブル、顧客テーブル、及び取引テーブルといった入力データとしてのファイルであるテーブルの名称を表すテーブル名称と、ファイルが格納される媒体の種別を表す媒体種別とが設定され、その他図示しないが、リレーショナルデータベースを制御するために必要なその他各種のＤＤＬ（Ｄａｔａ  Ｄｅｆｉｎｉｔｉｏｎ  Ｌａｎｇｕａｇｅ）情報等が設定される。また、ファイルに関するスキーマとしては、同図（Ｂ）に示すように、業務区分と、テーブル名称と、データ項目名称と、例えば支店番号といったカラム（列）の名称を表すカラム名称と、データの属性を表すデータ属性と、データ長を表すレングスと、その他各種情報とが設定される。さらに、管理単位としては、同図（Ｃ）に示すように、業務区分と、例えば支店といった予め設定されている管理単位の名称を表す管理単位名称と、この管理単位が該当する支店テーブルといったファイルを表す該当ファイルと、プライマリキー（ＰＫ）としての複数のカラム名称と、その他各種情報とが設定される。さらにまた、処理毎の使用ファイルの一覧としては、同図（Ｄ）に示すように、業務区分と、例えば日次といった予め設定されているサイクル区分を表すサイクルと、管理単位と、明細データを作成するのかサマリーデータを作成するのかの区分を表す明細／サマリーと、支店テーブル、顧客テーブル、及び取引テーブルといった入力データとしてのファイルを表す入力ファイルと、その他各種情報とが設定される。また、処理毎の使用ファイルのリレーション一覧としては、同図（Ｅ）に示すように、業務区分と、サイクルと、管理単位と、明細／サマリーと、使用するファイルを表すファイルと、プライマリキーとしての複数のカラム名称と、フォーリンキー（ＦＫ）としての複数のカラム名称とが設定される。
【０２０３】
バッチ処理装置においては、”入力は何か”及び”出力は何か”を示すメタデータとして、先に図２７に示したデータ項目名称を用いてこのような内容からなるものがメタデータ入力部２０によって生成され、リポジトリ３０に登録される。ここで、内部的に用いられる中間ファイルや最終目的のユーザビューの出力ファイルについての入出力情報メタデータは、既に定義した入力ファイルについての他の入出力情報メタデータやユーザビュー情報メタデータ等に基づいて、後に詳述するインターフェースメタデータ、集計エリアメタデータ、及びデータ構造変換メタデータが生成されるのと同時に生成される。なお、先に図１８及び図１９に示した２種類のユーザビューが、”Ａ業務についての日次の支店別サマリー”であることから、図２８においては、業務区分として”Ａ業務”、サイクルとして”日次”、管理単位として”支店”、明細／サマリーとして”サマリー”としている。
【０２０４】
つぎに、上述した”出力は何か”を示すメタデータの１つである”出力目的のユーザビューは何か”について説明する。なお、このメタデータは、上述したユーザビュー情報メタデータに該当するものである。
【０２０５】
このメタデータとしては、具体的には図２９に示すように、ユーザビューのデータ構造、すなわち、実際にデータとして出力する出力データの構造がリポジトリ３０に登録される。より具体的には、”出力目的のユーザビューは何か”を示すメタデータとしては、ユーザビューの名称、ユーザビューの見出し項目、ユーザビューの行項目、ユーザビューの列項目がリポジトリ３０に登録される。
【０２０６】
ユーザビューの名称としては、同図（Ａ）に示すように、業務区分と、サイクルと、管理単位と、明細／サマリーと、ユーザビュー名称と、ユーザビュー番号と、時系列保有期間と、その他各種情報とが設定される。また、ユーザビューの見出し項目としては、同図（Ｂ）に示すように、業務区分と、サイクルと、管理単位と、明細／サマリーと、ユーザビュー番号と、例えば日付、支店番号、支店名といった属性を表す属性名称と、その他各種情報とが設定される。さらに、ユーザビューの行項目としては、同図（Ｃ）に示すように、業務区分と、サイクルと、管理単位と、明細／サマリーと、ユーザビュー番号と、例えば取引金額といった計数を表す一般属性名称と、分類属性名称と、カテゴリ名称と、その他各種情報とが設定される。さらにまた、ユーザビューの列項目としては、同図（Ｄ）に示すように、業務区分と、サイクルと、管理単位と、明細／サマリーと、ユーザビュー番号と、分類属性名称と、カテゴリ名称と、その他各種情報とが設定される。
【０２０７】
バッチ処理装置においては、”出力目的のユーザビューは何か”を示すメタデータとして、先に図２７に示したデータ項目名称を用いてこのような内容からなるものがメタデータ入力部２０によって生成され、リポジトリ３０に登録される。これにより、バッチ処理装置においては、所望の構造からなる出力データを作成して出力することが可能となる。
【０２０８】
つぎに、上述した”加工処理内容は何か”を示すメタデータについて説明する。
【０２０９】
このメタデータとしては、具体的には図３０乃至図３４に示すようなものがリポジトリ３０に登録される。
【０２１０】
まず、”加工処理内容は何か”を示すメタデータとしては、先に図１８及び図１９に示した２種類のユーザビューの仕様に対応するために、図３０に示すように、抽出条件メタデータ、コード変換メタデータ、及び導出演算メタデータ（カテゴリ演算後導出演算メタデータ及びグループ演算後導出演算メタデータを含む。）がリポジトリ３０に登録される。
【０２１１】
具体的には、抽出条件メタデータとしては、同図（Ａ）に示すように、業務区分と、サイクルと、管理単位と、明細／サマリーと、所定の抽出条件式と、その他各種情報とが設定される。これらのうち、抽出条件式としては、支店種類がサービス店舗であるものを抽出するために、”支店種類＝サービス店舗表示”といった条件式が設定される。
【０２１２】
また、コード変換メタデータとしては、同図（Ｂ）に示すように、業務区分と、サイクルと、管理単位と、明細／サマリーと、一般属性名称と、変換元の分類属性及び／又は変換元のコード値を表す変換元分類属性／コードと、変換後の分類属性及び／又は変換後のコード値を表す変換後分類属性／コードと、コード値を所定のレンジに変換するためのレンジ変換と、その他各種情報とが設定される。これらのうち、変換後分類属性／コードとしては、金額階層コードが”０円から５００万円”、”５００万円から１０００万円”、及び”１０００万円以上”として設定され、これに対応して、レンジ変換としては、”０＜，＜５００”、”５００＜，＜１０００”、及び”＜１０００”といったように数値の不等号表示が設定される。
【０２１３】
さらに、導出演算メタデータとしては、同図（Ｃ）に示すように、業務区分と、サイクルと、管理単位と、明細／サマリーと、演算単位を表す演算単位項目と、集約単位を表す集約単位項目と、所定の条件式と、所定の導出演算式と、その他各種情報とが設定される。これらのうち、導出演算式としては、”手数料＝取引金額×０．０５”といった演算式が設定される。
【０２１４】
バッチ処理装置においては、”加工処理内容は何か”を示すメタデータとして、先に図２７に示したデータ項目名称を用いてこのような内容からなるものがメタデータ入力部２０によって生成され、リポジトリ３０に登録される。これにより、バッチ処理装置においては、所定の抽出条件に基づいて所望の入力データを抽出し、所望のコード変換及び導出演算を行うことが可能となる。
【０２１５】
また、”加工処理内容は何か”を示すメタデータとしては、先に図２６に示した店舗テーブル上に設定されている仕様に対応するために、図３１に示すような分類表示対応のグループ演算メタデータがリポジトリ３０に登録される。すなわち、この分類表示対応のグループ演算メタデータは、図２６に示した店舗テーブル上に設定されている東日本表示及び西日本表示により、東日本に属する支店の合計値と、西日本に属する支店の合計値とを算出し、各結果を、支店番号が”１００”とされる東日本店、支店番号が”１０１”とされる西日本店として出力するために設けられるものである。
【０２１６】
具体的には、グループ演算メタデータとしては、同図に示すように、業務区分と、サイクルと、管理単位と、明細／サマリーと、例えば東日本表示、西日本表示といった表示データ項目を表す表示データ項目名称と、例えば支店番号といった設定データ項目を表す設定データ項目名称と、この設定データ項目名称に対応する値を表す設定値と、設定された具体的な内容を表す設定内容と、その他各種情報とが設定される。
【０２１７】
バッチ処理装置においては、グループ演算を行うために、”加工処理内容は何か”を示すメタデータとして、先に図２７に示したデータ項目名称を用いてこのような内容からなるものがメタデータ入力部２０によって生成され、リポジトリ３０に登録される。これにより、バッチ処理装置においては、グループ演算を行うことが可能となる。
【０２１８】
なお、ここで、上述した仕様例によるグループ演算とは異なる例として、入力データ上に親子関係の情報がある場合について補足説明する。すなわち、入力データは、図３２（Ａ）に示すように、顧客番号、氏名、親顧客番号、グループ番号、金額といった情報からなる顧客テーブルと、同図（Ｂ）に示すように、代表顧客番号、グループ番号といった情報からなるグループ代表顧客テーブルとから構成されるものとする。また、出力データは、同図（Ｃ）に示すように、顧客番号、親子区分、金額等からなる顧客別サマリーであるものとする。なお、出力データにおける親子区分は、各顧客単独の計数のレコードを”０”とし、顧客番号の親子関係による合計計数レコードを”１”とし、グループ番号による合計計数レコードを”２”とするものとする。
【０２１９】
この場合、”加工処理内容は何か”を示すメタデータとしては、図３３に示すような親子対応のグループ演算メタデータがリポジトリ３０に登録される。すなわち、この親子対応のグループ演算メタデータは、入力データ上に親子関係の情報があった場合に、その情報に基づいて顧客別サマリーを出力するために設けられるものであり、入力データとしての顧客テーブルに存在する親顧客番号に基づく第１のグループ演算を行うとともに、顧客テーブルに存在するグループ番号に基づく第２のグループ演算を行うために設けられるものである。
【０２２０】
具体的には、グループ演算メタデータとしては、同図に示すように、業務区分と、サイクルと、管理単位と、明細／サマリーと、例えば親顧客番号といった親項目を表す親項目名称と、例えば顧客番号といった子項目を表す子項目名称と、例えばグループ番号といったグループ項目を表すグループ項目名称と、親子区分項目名称と、その他各種情報とが設定される。ここで、親子区分項目名称には、上述したように、親子区分として、単独の計数のレコードの場合には”０”が設定され、親子関係による合計計数レコードの場合には”１”が設定され、グループ番号による合計計数レコードの場合には”２”が設定される。
【０２２１】
バッチ処理装置においては、入力データ上に親子関係の情報がある場合には、グループ演算を行うために、”加工処理内容は何か”を示すメタデータとして、先に図２７に示したデータ項目名称を用いてこのような内容からなるものがメタデータ入力部２０によって生成され、リポジトリ３０に登録される。これにより、バッチ処理装置においては、入力データ上に親子関係の情報がある場合にグループ演算を行うことが可能となる。
【０２２２】
さらに、”加工処理内容は何か”を示すメタデータとしては、先に図１９に示したユーザビューの仕様に対応するために、図３４に示すように、前日取引金額及び前日取引金額前月末比を算出するための時系列演算メタデータがリポジトリ３０に登録される。この時系列演算メタデータとしては、データを取得する時点や計数項目といった取得する過去訂正データを示す過去データ取得情報と、出力データのデータ項目名の要素として表現される時点と対比とを表す用語、すなわち、対比する計数の演算を示す対比計数演算情報と、入力データが過去訂正データである場合に過去時系列データへの訂正方法を示す過去データ訂正情報と、時系列保有期間を示す時系列保有期間情報とが用意される。
【０２２３】
具体的には、時系列演算メタデータにおける過去データ取得情報としては、同図（Ａ）に示すように、業務区分と、サイクルと、管理単位と、明細／サマリーと、取得するデータの範囲である時点を表す時点区分と、計数を表す計数項目名称と、その他各種情報とが設定される。これらのうち、時点区分としては、前日までのデータを取得するために”前日”といった時点が設定され、計数項目名称としては、”取引金額”といった計数が設定される。
【０２２４】
また、時系列演算メタデータにおける対比計数演算情報としては、同図（Ｂ）に示すように、業務区分と、サイクルと、管理単位と、明細／サマリーと、時点区分と、対比対象を表す対比区分と、計数項目名称と、その他各種情報とが設定される。これらのうち、対比区分としては、前月末との対比を行うために”前月末比”といった計数が設定される。
【０２２５】
さらに、時系列演算メタデータにおける過去データ訂正情報としては、同図（Ｃ）に示すように、業務区分と、サイクルと、管理単位と、明細／サマリーと、訂正方法を表す訂正区分と、計数項目名称と、その他各種情報とが設定される。これらのうち、訂正区分としては、過去に遡及して訂正を行うために”遡及訂正”といった訂正方法が設定される。
【０２２６】
さらにまた、時系列演算メタデータにおける時系列保有期間情報としては、同図（Ｄ）に示すように、業務区分と、サイクルと、管理単位と、明細／サマリーと、時系列保有期間を表す保有期間と、その他各種情報とが設定される。これらのうち、保有期間としては、時系列データとして３０日分保有するために”３０日”といった期間が設定される。
【０２２７】
バッチ処理装置においては、時系列演算を行うために、”加工処理内容は何か”を示すメタデータとして、このような内容からなるものがメタデータ入力部２０によって生成され、リポジトリ３０に登録される。これにより、バッチ処理装置においては、先に図２９（Ａ）に示した３０日とされる時系列保有期間の分だけ時系列データを保有し、取引金額の過去訂正データに対して、保有している過去の時系列データへの反映を行うことが可能となる。
【０２２８】
つぎに、図２８、図２９、図３０、図３１、及び図３４に示した各種メタデータに基づいて生成されるメタデータの具体例を図３５及び図３６に示す。
【０２２９】
このような処理過程で生成されるメタデータとしては、具体的には同図に示すように、各処理におけるデータが一時的に格納される入力バッファ、中間バッファ、及び出力バッファのレイアウトを表すインターフェースメタデータ、サマリープロセス演算部１５０１によって使用される集計バッファの分類属性情報及び計数項目情報を表す集計エリアメタデータ、集計バッファと出力バッファとのリンク関係を表すデータ構造変換メタデータが生成され、リポジトリ３０に登録される。
【０２３０】
具体的には、インターフェースメタデータとしては、図３５（Ａ）に示すように、業務区分と、サイクルと、管理単位と、明細／サマリーと、実行するタスクの内容を表すタスク内容と、このタスクにおいて実行する具体的な処理の内容を表す処理内容と、データ項目名称と、その他各種情報とが設定される。これらのうち、タスク内容としては、”カテゴリ演算（サマリー演算）”、”グループ演算”、又は”時系列演算”といった内容が設定され、処理内容としては、”入力”又は”条件判定”といった内容が設定される。
【０２３１】
また、集計バッファの分類属性情報を表す集計エリアメタデータとしては、同図（Ｂ）に示すように、業務区分と、サイクルと、管理単位と、明細／サマリーと、分類属性名称と、カテゴリ名称と、出力する集計バッファの行番号を表すセット番号と、後述する集計バッファの計数項目情報を表す集計エリアメタデータにおける列番号を表す計数項目番号と、その他各種情報とが設定される。
【０２３２】
さらに、集計バッファの計数項目情報を表す集計エリアメタデータとしては、図３６（Ａ）に示すように、業務区分と、サイクルと、管理単位と、明細／サマリーと、計数項目番号と、計数項目名称と、その他各種情報とが設定される。
【０２３３】
さらにまた、データ構造変換メタデータとしては、図３６（Ｂ）に示すように、業務区分と、サイクルと、管理単位と、明細／サマリーと、セット番号と、計数項目番号と、ユーザビュー番号と、列番号と、行場号と、その他各種情報とが設定される。
【０２３４】
バッチ処理装置においては、リポジトリ３０に予め登録されている各種メタデータに基づいて、このような内容からなるメタデータが処理過程でメタデータ入力部２０による生成指示によって生成され、リポジトリ３０に登録される。また、バッチ処理装置においては、上述したように、このメタデータの生成と同時に、内部的に用いられる中間ファイルや最終目的のユーザビューの出力ファイルについての入出力情報メタデータがメタデータ入力部２０によって生成され、リポジトリ３０に登録される。
【０２３５】
さて、バッチ処理装置においては、図２７乃至図３６に示した各種メタデータがリポジトリ３０に登録され、これら各種メタデータに基づいて、カテゴリ演算（サマリー演算）、グループ演算、及び時系列演算のそれぞれについてのプロセスが生成され、任意のプロセスの起動順序を示すプロセスのネットワークが構成される。バッチ処理装置においては、プロセス運用管理部６０を介してバッチ処理の起動指示が与えられることにより、各プロセスが順次実行され、目的の出力データを作成する。
【０２３６】
具体的には、バッチ処理装置においては、図３７にプロセスフローを示すように、先に図１７に示した支店テーブル、顧客テーブル、及び取引テーブルを入力データとして入力すると、サマリー演算プロセス部１５０１によってカテゴリ演算（サマリー演算プロセス）を実行し、中間データとして１つの第１の中間テーブルを作成する。
【０２３７】
この第１の中間テーブルは、具体的には図３８に示すように、日付、支店番号、業種コード、地区コード、企業規模コード、取引コード、商品コード、金額階層コード、取引金額、及び手数料といった情報から構成される。
【０２３８】
続いて、バッチ処理装置においては、図３７に示すように、図３８に示した第１の中間テーブルを入力データとし、グループ演算プロセス部１６０によってグループ演算を実行し、中間データとして１つの第２の中間テーブルを作成する。
【０２３９】
この第２の中間テーブルは、具体的には図３９に示すように、第１の中間テーブルと同一の項目について、グループ演算の結果が反映された情報から構成される。
【０２４０】
そして、バッチ処理装置においては、図３７に示すように、図３９に示した第２の中間テーブルを入力データとし、時系列演算プロセス部１７０によって時系列演算を実行し、先に図１８及び図１９に示した２つのユーザビューの仕様に合致した目的の出力データとして、第１の出力テーブル及び第２の出力テーブルを作成する。
【０２４１】
第１の出力テーブルは、具体的には図４０に示すように、日付、支店番号、業種コード、地区コード、企業規模コード、取引金額、ａ〜ｃ取引金額、ｄ〜ｅ取引金額、Ａ型商品取引金額、及びＢ型商品手数料といった情報から構成される。すなわち、第１の出力テーブルは、先に図１８に第１のユーザビューとして示したクロス集計表を支店別の業種コード、地区コード及び企業規模コード毎に１つのレコードとして作成し、これら複数のレコードを１つのテーブルとしてまとめたものである。なお、この第１の出力テーブルにおいては、第１のユーザビューにおける見出しである日付、支店番号、及び支店名も各レコードに設定している。
【０２４２】
また、第２の出力テーブルは、具体的には図４１に示すように、日付、支店番号、支店名、商品コード、企業規模コード、０円〜５００万円取引金額、５００万円〜１０００万円取引金額、１０００万円以上取引金額、前日取引金額、及び前日取引金額前月末比といった情報から構成される。すなわち、第２の出力テーブルは、先に図１９に第２のユーザビューとして示したクロス集計表を支店別の商品コード及び企業規模コード毎に１つのレコードとして作成し、これら複数のレコードを１つのテーブルとしてまとめたものである。なお、この第２の出力テーブルにおいても、第２のユーザビューにおける見出しである日付、支店番号、及び支店名も各レコードに設定している。
【０２４３】
このように、バッチ処理装置においては、図１７乃至図２６に示した仕様に応じて、図２７乃至図３４に示した各種メタデータをメタデータ入力部２０によって生成し、リポジトリ３０に登録することにより、図４０及び図４１に示した２つの出力テーブルを作成して出力することができる。特に、バッチ処理装置においては、メタデータに基づいて処理を行うことから、出力データに異なる複数の仕様が求められる場合であっても容易に対応することができ、上述したように、異なる複数の仕様からなる出力データを同時に作成することができる。
【０２４４】
なお、以上説明した仕様は、”Ａ業務についての日次の支店別サマリー”を作成するものであったが、バッチ処理装置においては、これ以外の仕様に基づく明細データの作成についても、当該仕様に応じたメタデータを生成し、このメタデータに基づいて各プロセスを実行することに変わりはない。
【０２４５】
以上説明したように、本発明の実施の形態として示すバッチ処理装置は、必要な各種メタデータを登録しておき、これら各種メタデータの宣言処理に基づいて入力データを加工して出力データを作成することにより、メタデータが一元管理され、出力データの構成がメタデータの組み合わせによって決定されることから、メタデータの変更の影響を当該メタデータに関係する全ての出力データに適切に伝播させることが可能となり、メタデータの変更のみで当該メタデータに関係する全ての出力データを自動的に変更することが可能となる。
【０２４６】
したがって、バッチ処理装置においては、生産効率の向上と品質保持とを図ることが可能となる。また、バッチ処理装置においては、ノンプログラミングアプローチやメタデータアプローチにより、システム設計やプログラム開発、文書管理、ライブラリ管理といった一定の運用管理等が一切不要となることから、システム設計者やシステム管理者及びシステムを操作するオペレータの負担が大幅に軽減され、将来にわたる開発コストの大幅な削減を図ることが可能となる。
【０２４７】
また、バッチ処理装置は、業務仕様を定義することによって稼働するシステムであることから、新たにプログラム開発を行うことに起因するトラブルがなく、品質を維持することができ、メタデータによって稼働することから、出力名称と出力データ等の整合性を常に保つことができる。
【０２４８】
さらに、バッチ処理装置においては、当該バッチ処理装置を用いた処理に携わる人々の知識を共有することができ、属人化知識を排除することができ、また、同時に全社的な知識の共有が可能となり、主体や時期を問わず知識内容を容易に閲覧することが可能となる。また、バッチ処理装置においては、エンドユーザによるプログラミングが一掃されることから、人員コストや事務コストを削減することが可能となる。
【０２４９】
さらにまた、バッチ処理装置においては、ユーザニーズに即時に応えることが可能となるのみではなく、新たな業務ニーズにおいて必要な出力情報をどうするか、といったケースにおいても、本番のシステム上でシミュレーションが即時且つスパイラルに可能であることから、ビジネス企画段階における生産性の向上や新たな発見を図ることができる。
【０２５０】
また、バッチ処理装置においては、プロセスフローや中間データを自動的に生成することができることから、いわゆるプロセスジャングルやデータジャングルを回避することができる。
【０２５１】
このように、バッチ処理装置は、システム設計者やシステム管理者及びオペレータに対して極めて優れた利便を提供することができるものである。
【０２５２】
なお、本発明は、上述した実施の形態に限定されるものではなく、例えば、上述した実施の形態では、バッチ処理装置を恰も１台のコンピュータ装置等によって構成するものとして説明したが、本発明は、複数のコンピュータ装置等をネットワーク等を介して接続したバッチ処理システムとして構築する場合にも適用することができる。
【０２５３】
すなわち、バッチ処理システムとしては、システム設計者やシステム管理者サイドとオペレータサイドとを分け、ユーザ仕様を入力するための表示及び操作部１０及び／又はメタデータ入力部２０を１台のコンピュータ装置等によって構成し、これをリポジトリ３０と接続するとともに、演算プロセス部４０を１台のコンピュータ装置等によってバッチ処理装置として構成し、これをリポジトリ３０と接続するようにしてもよい。そして、バッチ処理システムとしては、表示及び操作部５０及びプロセス運用管理部６０を１台のコンピュータ装置等によって構成し、これをネットワーク等を介して演算プロセス部４０としてのコンピュータ装置等と接続するようにしてもよい。このように、本発明は、いわゆる分散環境型のシステムとすることにより、利便を向上させた様々なサービスを提供することができる。
【０２５４】
このように、本発明は、その趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【０２５５】
【発明の効果】
以上詳細に説明したように、本発明にかかるバッチ処理装置、バッチ処理方法、及びバッチ処理プログラム、並びにバッチ処理システムは、それぞれ、予め登録されている情報であるメタデータの宣言処理に基づいて、入力データを加工して出力データを作成する際に、メタデータの変更に応じて、当該メタデータに関係する全ての出力データを変更して作成することにより、システム設計者やシステム管理者及びシステムを操作するオペレータの負担を大幅に軽減することができ、開発コストの大幅な削減を図ることが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態として示すバッチ処理装置において登録されるメタデータについて説明するための図である。
【図２】同バッチ処理装置の構成を説明するブロック図である。
【図３】同バッチ処理装置の具体的なハードウェア構成を説明するブロック図である。
【図４】同バッチ処理装置が備える演算プロセス部の構成を説明するブロック図である。
【図５】サマリーデータの例について説明する図である。
【図６】明細データの例について説明する図である。
【図７】同バッチ処理装置におけるプロセスフローと同演算プロセス部の構成とを説明する図である。
【図８】同バッチ処理装置におけるプロセスフローの例について説明する図である。
【図９】同演算プロセス部が有するサマリー演算プロセス部の構成とメタデータの内容とを説明する図である。
【図１０】同サマリー演算プロセス部によってサマリー演算プロセスを行う際の一連の工程を説明するフローチャートである。
【図１１】同演算プロセス部が有する明細演算プロセス部の構成とメタデータの内容とを説明する図である。
【図１２】同明細演算プロセス部によって明細演算プロセスを行う際の一連の工程を説明するフローチャートである。
【図１３】同演算プロセス部が有するグループ演算プロセス部の構成とメタデータの内容とを説明する図である。
【図１４】同グループ演算プロセス部によってグループ演算プロセスを行う際の一連の工程を説明するフローチャートである。
【図１５】同演算プロセス部が有する時系列演算プロセス部の構成とメタデータの内容とを説明する図である。
【図１６】同時系列演算プロセス部によって時系列演算プロセスを行う際の一連の工程を説明するフローチャートである。
【図１７】入力データの仕様例を示す図であり、（Ａ）は、支店テーブルの内容を示し、（Ｂ）は、顧客テーブルの内容を示し、（Ｃ）は、取引テーブルの内容を示す図である。
【図１８】第１のユーザビューの仕様例を示す図である。
【図１９】第２のユーザビューの仕様例を示す図である。
【図２０】業種コードの仕様例を示す図である。
【図２１】地区コードの仕様例を示す図である。
【図２２】商品コードの仕様例を示す図である。
【図２３】取引コードの仕様例を示す図である。
【図２４】企業規模コードの仕様例を示す図である。
【図２５】金額階層コードの仕様例を示す図である。
【図２６】親子表示を行うための店舗テーブルの仕様例を示す図である。
【図２７】データ項目名称は何かを示すメタデータとしてのデータ辞書メタデータの具体例を示す図であり、（Ａ）は、一般属性の情報の内容を示し、（Ｂ）は、分類属性の情報の内容を示し、（Ｃ）は、カテゴリの情報の内容を示し、（Ｄ）は、カテゴリ階層の情報の内容を示す図である。
【図２８】入力は何か及び出力は何かを示すメタデータとしての入出力情報メタデータの具体例を示す図であり、（Ａ）は、ファイルの一覧の内容を示し、（Ｂ）は、ファイルに関するスキーマの内容を示し、（Ｃ）は、管理単位の内容を示し、（Ｄ）は、処理毎の使用ファイルの一覧の内容を示し、（Ｅ）は、処理毎の使用ファイルのリレーション一覧の内容を示す図である。
【図２９】出力目的のユーザビューは何かを示すメタデータとしてのユーザビュー情報メタデータの具体例を示す図であり、（Ａ）は、ユーザビューの名称の内容を示し、（Ｂ）は、ユーザビューの見出し項目の内容を示し、（Ｃ）は、ユーザビューの行項目の内容を示し、（Ｄ）は、ユーザビューの列項目の内容を示す図である。
【図３０】加工処理内容は何かを示すメタデータとしての抽出条件メタデータ、コード変換メタデータ、及び導出演算メタデータの具体例を示す図であり、（Ａ）は、抽出条件メタデータの内容を示し、（Ｂ）は、コード変換メタデータの内容を示し、（Ｃ）は、導出演算メタデータの内容を示す図である。
【図３１】加工処理内容は何かを示すメタデータとしての分類表示対応のグループ演算メタデータの具体例を示す図である。
【図３２】図１７に示す入力データとは異なる入力データ、並びに図１８及び図１９とは異なる出力データの仕様例を示す図であり、（Ａ）は、顧客テーブルの内容を示し、（Ｂ）は、グループ代表顧客テーブルの内容を示し、（Ｃ）は、出力データの内容を示す図である。
【図３３】加工処理内容は何かを示すメタデータとしての親子対応のグループ演算メタデータの具体例を示す図である。
【図３４】加工処理内容は何かを示すメタデータとしての時系列演算メタデータの具体例を示す図であり、（Ａ）は、過去データ取得情報の内容を示し、（Ｂ）は、対比計数演算情報の内容を示し、（Ｃ）は、過去データ訂正情報の内容を示し、（Ｄ）は、時系列保有期間情報の内容を示す図である。
【図３５】図２８、図２９、図３０、図３１、及び図３４に示す各種メタデータに基づいて生成されるメタデータの具体例を示す図であり、（Ａ）は、インターフェースメタデータの内容を示し、（Ｂ）は、集計バッファの分類属性情報を表す集計エリアメタデータの内容を示す図である。
【図３６】図２８、図２９、図３０、図３１、及び図３４に示す各種メタデータに基づいて生成されるメタデータの具体例を示す図であり、（Ａ）は、計数項目情報を表す集計エリアメタデータの内容を示し、（Ｂ）は、データ構造変換メタデータの内容を示す図である。
【図３７】図１７乃至図２６に示す仕様に応じたプロセスフローについて説明する図である。
【図３８】第１の中間テーブルの具体例を示す図である。
【図３９】第２の中間テーブルの具体例を示す図である。
【図４０】出力データとしての第１の出力テーブルの具体例を示す図である。
【図４１】出力データとしての第２の出力テーブルの具体例を示す図である。
【符号の説明】
１０，５０  表示及び操作部、  ２０  メタデータ入力部、  ３０  リポジトリ、  ４０  演算プロセス部、  ６０  プロセス運用管理部、  １００  メモリ、  １１０  ＣＰＵ、  １２０  外部記憶装置、  １５０  通常演算プロセス部、  １５１，１６１，１７１  メタデータ取得部、  １５２，１６２，１７２  入力部、  １５３  通常演算部、  １５４，１６４，１７４  出力部、  １６０グループ演算プロセス部、  １６３，３０１  グループ演算部、  １７０  時系列演算プロセス部、  １７３，３５１  時系列演算部、  ２０１，２５１  抽出条件判定部、  ２０２，２５２  コード変換部、  ２０３，２５３  導出演算部、  ２０４  カテゴリ演算部、  ２０５  カテゴリ演算後導出演算部、  ２０６，２５４，３０３，３５２  データ構造変換部、  ３０２  グループ演算後導出演算部
【図１】
2004152216.tif 000003
【図２】
2004152216.tif 000004
【図３】
2004152216.tif 000005
【図４】
2004152216.tif 000006
【図５】
2004152216.tif 000007
【図６】
2004152216.tif 000008
【図７】
2004152216.tif 000009
【図８】
2004152216.tif 000010
【図９】
2004152216.tif 000011
【図１０】
2004152216.tif 000012
【図１１】
2004152216.tif 000013
【図１２】
2004152216.tif 000014
【図１３】
2004152216.tif 000015
【図１４】
2004152216.tif 000016
【図１５】
2004152216.tif 000017
【図１６】
2004152216.tif 000018
【図１７】
2004152216.tif 000019
【図１８】
2004152216.tif 000020
【図１９】
2004152216.tif 000021
【図２０】
2004152216.tif 000022
【図２１】
2004152216.tif 000023
【図２２】
2004152216.tif 000024
【図２３】
2004152216.tif 000025
【図２４】
2004152216.tif 000026
【図２５】
2004152216.tif 000027
【図２６】
2004152216.tif 000028
【図２７】
2004152216.tif 000029
【図２８】
2004152216.tif 000030
【図２９】
2004152216.tif 000031
【図３０】
2004152216.tif 000032
【図３１】
2004152216.tif 000033
【図３２】
2004152216.tif 000034
【図３３】
2004152216.tif 000035
【図３４】
2004152216.tif 000036
【図３５】
2004152216.tif 000037
【図３６】
2004152216.tif 000038
【図３７】
2004152216.tif 000039
【図３８】
2004152216.tif 000040
【図３９】
2004152216.tif 000041
【図４０】
2004152216.tif 000042
【図４１】
2004152216.tif 000043