(57)【特許請求の範囲】
【請求項１】
複数のバッチ処理用プログラムと複数のバッチ処理様式とが格納された記憶装置と、
制御装置と
を具備し、
前記複数のバッチ処理様式の各々は、特定の処理を一括して実行させるためのバッチ処理を表し、バッチ処理単位群とパラメータ群とを対応付け、
前記バッチ処理単位群の各々は、前記特定の処理を表し、
前記パラメータ群は、それぞれ、起動命令群と、起動条件群とを含み、前記起動命令群は、それぞれ前記複数のバッチ処理用プログラムのうちの１つを起動させるための命令であり、前記起動条件群は、それぞれ前記バッチ処理単位群が表す処理を実行させるための条件を表し、
前記制御装置は、
各々異なる複数の起動条件のうちからユーザの操作により選択される入力起動条件群が与えられたとき、前記記憶装置に格納された前記複数のバッチ処理様式の中から、前記入力起動条件群に一致する起動条件群に対応する特定バッチ処理様式を選択し、前記特定バッチ処理様式に含まれるバッチ処理単位群である特定バッチ処理単位群を特定するバッチ処理管理部と、
前記記憶装置に格納された複数の前記パラメータ群の中から、前記特定バッチ処理単位群に対応し、且つ、前記入力起動条件群を含む特定パラメータ群を選択し、前記特定パラメータ群に含まれる起動命令群である特定起動命令群を特定するパラメータ管理部と、
前記複数のバッチ処理用プログラムの中から、前記特定起動命令群に従ってそれぞれ特定バッチ処理用プログラム群を起動し、前記入力起動条件群に従ってそれぞれ前記特定バッチ処理単位群が表す処理を実行するプログラム起動部と
を具備するバッチ処理装置。
【請求項２】
前記起動条件群は、それぞれ前記バッチ処理単位群が表す処理を実行させるための条件である値を含む
請求項１に記載のバッチ処理装置。
【請求項３】
前記制御装置は、
前記バッチ処理管理部が前記特定バッチ処理単位群と前記入力起動条件群とを出力したとき、前記特定パラメータ群に含まれる起動条件群の値を変更するか否かをユーザに問い合わせ、ユーザの操作により前記特定パラメータ群に含まれる起動条件群の値を変更するパラメータ指定部
を更に具備する請求項２に記載のバッチ処理装置。
【請求項４】
複数のバッチ処理用プログラム、複数のバッチ処理様式が格納された記憶装置と、バッチ処理管理部、パラメータ管理部、プログラム起動部を備える制御装置とを具備するコンピュータがバッチ処理を実行する方法であって、
前記バッチ処理管理部が、各々異なる複数の起動条件のうちからユーザの操作により選択される入力起動条件群を入力するステップと、前記複数のバッチ処理様式の各々は、特定の処理を一括して実行させるためのバッチ処理を表し、バッチ処理単位群とパラメータ群とを対応付け、前記バッチ処理単位群の各々は、前記特定の処理を表し、前記パラメータ群は、それぞれ、起動命令群と、起動条件群とを含み、前記起動命令群は、それぞれ前記複数のバッチ処理用プログラムのうちの１つを起動させるための命令であり、前記起動条件群は、それぞれ前記バッチ処理単位群が表す処理を実行させるための条件を表し、
前記バッチ処理管理部が、前記記憶装置に格納された前記複数のバッチ処理様式の中から、前記入力起動条件群に一致する起動条件群に対応する特定バッチ処理様式を選択し、前記特定バッチ処理様式に含まれるバッチ処理単位群である特定バッチ処理単位群を特定するステップと、
前記パラメータ管理部が、前記記憶装置に格納された複数の前記パラメータ群の中から、前記特定バッチ処理単位群に対応し、且つ、前記入力起動条件群を含む特定パラメータ群を選択し、前記特定パラメータ群に含まれる起動命令群である特定起動命令群を特定するステップと、
前記プログラム起動部が、前記複数のバッチ処理用プログラムの中から、前記特定起動命令群に従ってそれぞれ特定バッチ処理用プログラム群を起動し、前記入力起動条件群に従ってそれぞれ前記特定バッチ処理単位群が表す処理を実行するステップと
を具備するバッチ処理方法。
【請求項５】
前記起動条件群は、それぞれ前記バッチ処理単位群が表す処理を実行させるための条件である値を含む
請求項４に記載のバッチ処理方法。
【請求項６】
前記制御装置は、パラメータ指定部を更に備え、
前記バッチ処理管理部が前記特定バッチ処理単位群と前記入力起動条件群とを出力したとき、前記パラメータ指定部が、前記特定パラメータ群に含まれる起動条件群の値を変更するか否かをユーザに問い合わせ、ユーザの操作により前記特定パラメータ群に含まれる起動条件群の値を変更するステップ
を更に具備する請求項５に記載のバッチ処理方法。
【請求項７】
複数のバッチ処理用プログラム、複数のバッチ処理様式が格納された記憶装置と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）とを具備するコンピュータに実行させるコンピュータプログラムであって、
前記ＣＰＵが、各々異なる複数の起動条件のうちからユーザの操作により選択される入力起動条件群を入力するステップと、前記複数のバッチ処理様式の各々は、特定の処理を一括して実行させるためのバッチ処理を表し、バッチ処理単位群とパラメータ群とを対応付け、前記バッチ処理単位群の各々は、前記特定の処理を表し、前記パラメータ群は、それぞれ、起動命令群と、起動条件群とを含み、前記起動命令群は、それぞれ前記複数のバッチ処理用プログラムのうちの１つを起動させるための命令であり、前記起動条件群は、それぞれ前記バッチ処理単位群が表す処理を実行させるための条件を表し、
前記ＣＰＵが、前記記憶装置に格納された前記複数のバッチ処理様式の中から、前記入力起動条件群に一致する起動条件群に対応する特定バッチ処理様式を選択し、前記特定バッチ処理様式に含まれるバッチ処理単位群である特定バッチ処理単位群を特定するステップと、
前記ＣＰＵが、前記記憶装置に格納された複数の前記パラメータ群の中から、前記特定バッチ処理単位群に対応し、且つ、前記入力起動条件群を含む特定パラメータ群を選択し、前記特定パラメータ群に含まれる起動命令群である特定起動命令群を特定するステップと、
前記ＣＰＵが、前記複数のバッチ処理用プログラムの中から、前記特定起動命令群に従ってそれぞれ特定バッチ処理用プログラム群を起動し、前記入力起動条件群に従ってそれぞれ前記特定バッチ処理単位群が表す処理を実行するステップと
を前記コンピュータに実行させるコンピュータプログラム。
【請求項８】
前記起動条件群は、それぞれ前記バッチ処理単位群が表す処理を実行させるための条件である値を含む
請求項７に記載のコンピュータプログラム。
【請求項９】
前記ＣＰＵが、前記特定バッチ処理単位群と前記入力起動条件群とを出力したとき、前記特定パラメータ群に含まれる起動条件群の値を変更するか否かをユーザに問い合わせ、ユーザの操作により前記特定パラメータ群に含まれる起動条件群の値を変更するステップ
を更に前記コンピュータに実行させる請求項８に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バッチ処理用プログラムの起動を制御するバッチ処理装置、バッチ処理方法、及び、コンピュータプログラムに関する。
【背景技術】
【０００２】
近年、情報化の急速な進展に従い、企業で管理する情報システムの種類が急速に増えており、これに伴い、バッチ処理を行なうためのバッチ処理用プログラムの種類や数も増大している。バッチ処理としては、締め、帳票、原価計算や、他システムとのインターフェースなどに用いられる。通常、バッチ処理は日次、月次などのタイミングで行われるため、複数の異なるプログラムを一括して処理する必要がある。
【０００３】
図１を用いて、複数の異なるプログラムを一括して処理するバッチ処理装置１００を考えてみる。バッチ処理装置１００は、コンピュータであり、入力部１０１、制御装置１０２、記憶装置１０３を具備している。記憶装置１０３には、コンピュータプログラムであるバッチ処理管理部１２１、プログラム起動部１２２が格納されている。制御装置１０２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、バッチ処理管理部１２１、プログラム起動部１２２を実行する。
【０００４】
記憶装置１０３には、更に、バッチ処理を行なうための複数のバッチ処理用プログラムが格納されている。図２に示されるように、記憶装置１０３は、例えば図２に示されるようなデータベース（図示しない）を備えている。このデータベースには、定義データとしてバッチ処理単位群１３２と起動条件群とを対応付けるバッチ処理様式１３１が複数格納されている。複数のバッチ処理様式１３１の各々は、特定の処理を一括して実行させるためのバッチ処理を表している。バッチ処理単位群１３２の各々は、その特定の処理として一つ一つの処理を表している。起動条件群は、それぞれバッチ処理単位群１３２が表す処理を実行させるための条件を表している。この起動条件群は各々異なる。
【０００５】
例えば複数のバッチ処理用プログラムは、バッチ処理用プログラム群Ａ、Ｂ、Ｃを含んでいるものとする。複数のバッチ処理様式１３１のうちの１つであるバッチ処理様式群Ｘは、バッチ処理単位群ＸＡ、ＸＢ、ＸＣと、起動条件群Ｘａ、Ｘｂ、Ｘｃとを含んでいる。バッチ処理単位群ＸＡ、ＸＢ、ＸＣは、それぞれバッチ処理用プログラム群Ａ、Ｂ、Ｃを起動させるための命令である。起動条件群Ｘａ、Ｘｂ、Ｘｃは、それぞれバッチ処理単位群ＸＡ、ＸＢ、ＸＣが表す処理を実行させるための条件を表している。
【０００６】
ここで、バッチ処理様式Ｘによるバッチ処理単位群ＸＡ、ＸＢ、ＸＣが表す処理をこの順番に実行する場合について説明する。
【０００７】
ユーザは、入力部１０１を用いて、バッチ処理様式Ｘによるバッチ処理を行なうためのユーザ名やパスワード名などの入力起動条件群をバッチ処理管理部１２１に与える。入力起動条件群は各々異なる。バッチ処理管理部１２１は、記憶装置１０３に格納された複数のバッチ処理様式１３１の中から、入力起動条件群に一致する特定起動条件群Ｘａ、Ｘｂ、Ｘｃを含むバッチ処理様式１３１である特定バッチ処理様式Ｘを選択する。これにより、バッチ処理管理部１２１は、特定バッチ処理様式Ｘに含まれるバッチ処理単位群１３２である特定バッチ処理単位群ＸＡ、ＸＢ、ＸＣを特定する。バッチ処理管理部１２１は、特定バッチ処理単位群ＸＡ、ＸＢ、ＸＣと、入力起動条件群Ｘａ、Ｘｂ、Ｘｃとをプログラム起動部１２２に出力する。
【０００８】
プログラム起動部１２２は、特定バッチ処理単位群ＸＡ、ＸＢ、ＸＣに従ってそれぞれ特定バッチ処理用プログラム群Ａ、Ｂ、Ｃを起動し、入力起動条件群Ｘａ、Ｘｂ、Ｘｃに従ってそれぞれ特定バッチ処理単位群ＸＡ、ＸＢ、ＸＣが表す処理を実行し、その実行結果を出力装置（例示；表示装置、印刷装置、その他のコンピュータ）に出力する。
【０００９】
このように、特定バッチ処理様式Ｘによる特定バッチ処理単位群ＸＡ、ＸＢ、ＸＣが表す処理をこの順番に実行する。このとき、図３に示されるように、特定バッチ処理単位ＸＡを実行する場合、特定バッチ処理用プログラムＡが起動される。特定バッチ処理単位ＸＢを実行する場合、特定バッチ処理用プログラムＢが起動される。特定バッチ処理単位ＸＣを実行する場合、特定バッチ処理用プログラムＣが起動される。
【００１０】
しかしながら、従来のバッチ処理装置１００は、バッチ処理管理部１２１からプログラムの起動条件が切り離されていない。即ち、特定バッチ処理単位群ＸＡ、ＸＢ、ＸＣが表す処理を実行させる場合、バッチ処理用プログラム群Ａ、Ｂ、Ｃが起動するように、バッチ処理管理部１２１が管理する特定起動条件群Ｘａ、Ｘｂ、Ｘｃとバッチ処理用プログラム群Ａ、Ｂ、Ｃとを紐付けている。このように、バッチ処理管理部１２１に、起動するプログラムを直接的に紐付けているため、同一のプログラムを異なる起動条件で起動することができない。このため、起動条件が異なる場合、プログラム自体を別に作ることになり、プログラム自体の本数が増えていくという問題がある。また、バッチ処理管理部１２１にプログラムの起動条件を直接当てはめると、バッチ処理管理部１２１自体がプログラムに依存してしまうことになるので、汎用的なバッチ処理装置が提供しにくいという問題もある。
【００１１】
ビジネスの環境変化に従い、取り扱うバッチ処理用プログラムの数や内容も変化している。このため、目的別に、バッチ処理用プログラムの数や実行順番を変更したり、そのプログラムの挙動自体を変更したりするというニーズが増大している。従来のバッチ処理装置１００では、異なる起動条件により、目的毎に起動するプログラム群を指定することはできるが、目的別にプログラムの挙動自体を変更することはできなかった。このように、目的別にプログラムの挙動を変更できる拡張可能なバッチ処理装置が求められている。
【００１２】
バッチ処理に関連する技術として、特開平１１−１４３７５６号公報にプログラム起動制御装置が開示されている。このプログラム起動制御装置は、プログラム定義情報記憶手段と、プログラム起動制御手段とを有していることを特徴としている。前記プログラム定義情報記憶手段は、計算機にファイルを格納しておくためのファイル格納領域に格納されたファイルに基づき所定の処理を実行するプログラムの識別情報を予め保持する。前記プログラム起動制御手段は、ファイル格納領域へのファイルの書込みを常時監視するとともにファイルがファイル格納領域に書き込まれた時点で当該ファイル格納領域に対応した前記プログラム定義情報記憶手段を参照することによって当該ファイル格納領域に対応したプログラムを起動する。
また、前記プログラム定義情報記憶手段には、各プログラムの起動時に指定するパラメータの設定領域が設けられている。前記プログラム起動制御手段は、ファイルが書き込まれたファイル格納領域に対応したプログラムを、当該プログラムのために予め設定されているパラメータを指定して起動することを特徴としている。
【００１３】
特開平５−３３４０５９号公報に業務プログラミング方法が開示されている。この業務プログラミング方法は、複数の種類の帳票の写像を定義する関連によって構成される業務をプログラミングする方法であって、業務定義手順処理と、実行メニュー生成処理と、帳票定義処理と、実行処理を有することを特徴としている。前記業務定義手順処理は、帳票群の入出力の対応関係によって該業務の手順を記述する。前記実行メニュー生成処理は、前記業務定義手順処理によって定義された業務手順に基づいて複数の帳票の実行を制御するための実行メニューを生成する。前記帳票定義処理は、帳票の書式の記述とその帳票の計算及び編集手続きを含む処理仕様の記述によって帳票の構造を定義する。前記実行処理は、前記実行メニュー生成処理によって生成された実行メニューに基づいて前記帳票定義処理によって定義された帳票仕様を実行する。
【００１４】
特開平４−２４５３７４号公報に業務システム構築方法が開示されている。この業務システム構築方法は、予め処理単位毎に標準化されてシステム設計されている数種類の標準ユニットを適宜選択して組み合わせると共に、組み合わせられた各標準ユニット毎にレコードの処理内容を定義する固有情報を設定することで所望する一連の業務システムを構築するようにしたことを特徴としている。
【００１５】
特開２００４−１５２２１６号公報にバッチ処理装置が開示されている。このバッチ処理装置は、任意の入力データに基づいて所望の出力データを作成するものであって、メタデータ取得手段と、データ入力手段と、加工処理手段と、データ出力手段とを備えていることを特徴としている。上記メタデータ取得手段は、少なくとも、データ項目名称、入力、加工処理内容、及び出力に関する情報であり所定の記憶手段に予め記憶されている情報であるメタデータを、上記記憶手段から取得する。上記データ入力手段は、上記メタデータ取得手段を介して取得した上記メタデータの宣言処理に基づいて、上記入力データを入力する。上記加工処理手段は、上記メタデータ取得手段を介して取得した上記メタデータの宣言処理に基づいて、上記データ入力手段を介して入力した上記入力データを加工して上記出力データを作成する。上記データ出力手段は、上記メタデータ取得手段を介して取得した上記メタデータの宣言処理に基づいて、上記加工処理手段によって作成された上記出力データを出力する。上記加工処理手段は、上記メタデータの変更に応じて、当該メタデータに関係する全ての出力データを変更して作成することを特徴としている。
【００１６】
【特許文献１】特開平１１−１４３７５６号公報（請求項１、２）
【特許文献２】特開平５−３３４０５９号公報（請求項１）
【特許文献３】特開平４−２４５３７４号公報（請求項１）
【特許文献４】特開２００４−１５２２１６号公報（請求項１）
【発明の開示】
【発明が解決しようとする課題】
【００１７】
本発明の課題は、目的別にプログラムの挙動を変更できる拡張可能なバッチ処理装置、バッチ処理方法、及び、コンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００１８】
以下に、［発明を実施するための最良の形態］で使用する番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］の記載との対応関係を明らかにするために付加されたものであるが、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１９】
本発明のバッチ処理装置（１０）は、記憶装置（３）と、制御装置（２）とを具備している。前記制御装置（２）は、コンピュータであり、前記記憶装置（３）に接続されている。
前記記憶装置（３）には、複数のバッチ処理用プログラムが格納されている。
前記制御装置（２）は、各々異なる複数の起動条件のうちからユーザの操作により選択される入力起動条件群が与えられたとき（Ｓ１）、前記複数のバッチ処理用プログラムのうちの前記入力起動条件群に対応する特定バッチ処理用プログラム群（Ａ、Ａ、Ｂ）を起動する（Ｓ２〜Ｓ４）。
前記特定バッチ処理用プログラム群（Ａ、Ａ、Ｂ）は、各々異なる前記入力起動条件群に対して、起動されるプログラムが同一であることもある。
【００２０】
前記記憶装置（３）には、更に、バッチ処理単位群とパラメータ群とを対応付けるバッチ処理様式が複数格納されている。
前記複数のバッチ処理様式の各々は、特定の処理を一括して実行させるためのバッチ処理を表している。
前記バッチ処理単位群の各々は、前記特定の処理を表している。
前記パラメータ群は、それぞれ、起動命令群と、起動条件群とを含み、前記起動命令群は、それぞれ前記複数のバッチ処理用プログラムのうちの１つを起動させるための命令であり、前記起動条件群は、それぞれ前記バッチ処理単位群が表す処理を実行させるための条件を表している。
前記制御装置（２）は、前記入力起動条件群が与えられたとき、前記記憶装置（３）に格納された複数の前記パラメータ群の中から、前記入力起動条件群を含むパラメータ群である特定パラメータ群（Ｐ１、Ｐ２、Ｐ３）を選択する（Ｓ２、Ｓ３）。前記制御装置（２）は、前記特定パラメータ群（Ｐ１、Ｐ２、Ｐ３）に含まれる起動命令群である特定起動命令群（Ａ’、Ａ’、Ｂ’）に従って前記特定バッチ処理用プログラム群（Ａ、Ａ、Ｂ）を起動する（Ｓ４）。
前記特定起動命令群（Ａ’、Ａ’、Ｂ’）のうちの少なくとも２つの起動命令（Ａ’、Ａ’）は、前記特定バッチ処理用プログラム群（Ａ、Ａ、Ｂ）のうちの同一のプログラムを起動させるための命令である。
【００２１】
前記制御装置（２）は、バッチ処理管理部（２１）と、パラメータ管理部（２２）と、プログラム起動部（２３）とを具備している。
前記バッチ処理管理部（２１）は、前記入力起動条件群が与えられたとき、前記記憶装置（３）に格納された前記複数のバッチ処理様式の中から、前記入力起動条件群に一致する起動条件群（Ｙａ１、Ｙａ２、Ｙｂ）に対応する特定バッチ処理様式（Ｙ）を選択し、前記特定バッチ処理様式（Ｙ）に含まれるバッチ処理単位群である特定バッチ処理単位群（Ｙ１、Ｙ２、Ｙ３）を特定する（Ｓ２）。
前記パラメータ管理部（２２）は、前記記憶装置（３）に格納された前記複数のパラメータ群の中から、前記特定バッチ処理単位群（Ｙ１、Ｙ２、Ｙ３）に対応し、且つ、前記入力起動条件群（Ｙａ１、Ｙａ２、Ｙｂ）を含む前記特定パラメータ群（Ｐ１、Ｐ２、Ｐ３）を選択し、前記特定パラメータ群（Ｐ１、Ｐ２、Ｐ３）に含まれる前記特定起動命令群（Ａ’、Ａ’、Ｂ’）を特定する（Ｓ３）。
前記プログラム起動部（２３）は、前記特定起動命令群（Ａ’、Ａ’、Ｂ’）に従ってそれぞれ前記特定バッチ処理用プログラム群（Ａ、Ａ、Ｂ）を起動し、前記入力起動条件群（Ｙａ１、Ｙａ２、Ｙｂ）に従ってそれぞれ前記特定バッチ処理単位群（Ｙ１、Ｙ２、Ｙ３）が表す処理を実行する（Ｓ４）。
【００２２】
前記起動条件群は、それぞれ、前記バッチ処理単位群が表す処理の名称であるキーと、前記バッチ処理単位群が表す処理を実行させるための条件である値とを含んでいる。
【００２３】
前記制御装置（２）は、パラメータ指定部（２４）を更に具備している。
前記パラメータ指定部（２４）は、前記特定バッチ処理単位群（Ｙ１、Ｙ２、Ｙ３）が特定されたとき、前記特定パラメータ群（Ｐ１、Ｐ２、Ｐ３）に含まれる起動条件群（Ｙａ１、Ｙａ２、Ｙｂ）の値をユーザの操作により変更する。
【発明の効果】
【００２４】
本発明では、パラメータ（パラメータ定義データ）というデータ構造により、プログラムの起動条件をバッチ処理管理部（２１）とは別に定義できるようにした。また、バッチ処理管理部（２１）に、起動するプログラムを直接的に紐付けるのではなく、バッチ処理単位からパラメータを介してプログラムを紐付けるようにした。このため、バッチ処理様式において、同一のプログラムを異なる起動条件で起動することができる。このため、起動条件が異なる場合、プログラム自体を別に作る必要がなく、プログラム自体の本数が増えていくという問題も解決する。
また、このようなデータ構造により、バッチ処理管理部（２１）からプログラムを起動する際に、一旦、パラメータ定義データを介することで、プログラムの挙動を制御できる仕組みを提供する。この仕組みにより、バッチ処理の管理機構とプログラムの起動を論理的に分離することが可能になった。前述のように、ビジネスの環境変化に従い、取り扱うバッチ処理用プログラムの数や内容も変化しているため、目的別に、バッチ処理用プログラムの数や実行順番を変更したり、そのプログラムの挙動自体を変更したりするというニーズが増大している。本発明のバッチ処理装置（１０）は、異なる起動条件により、目的毎に起動するプログラム群を指定することができる上に、目的別にプログラムの挙動自体を変更することもできる。即ち、バッチ処理単位を容易に追加することができるようになった。
以上により、本発明によれば、目的別にプログラムの挙動を変更できる拡張可能なバッチ処理装置（１０）を提供することができる。
【発明を実施するための最良の形態】
【００２５】
以下に添付図面を参照して、本発明のバッチ処理装置について詳細に説明する。
【００２６】
図４は、本発明のバッチ処理装置１０の構成を示すブロック図である。バッチ処理装置１０は、コンピュータであり、入力部１、制御装置２、記憶装置３を具備している。記憶装置３には、コンピュータプログラムであるバッチ処理管理部２１、パラメータ管理部２２、プログラム起動部２３が格納されている。制御装置２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、バッチ処理管理部２１、パラメータ管理部２２、プログラム起動部２３を実行する。
【００２７】
記憶装置３には、更に、バッチ処理を行なうための複数のバッチ処理用プログラムが格納されている。記憶装置３は、例えば図５に示されるようなデータベース（図示しない）を備えている。このデータベースには、定義データとしてバッチ処理単位群３２とパラメータ群３３とを対応付けるバッチ処理様式３１が複数格納されている。複数のバッチ処理様式３１の各々は、特定の処理を一括して実行させるためのバッチ処理を表している。バッチ処理単位群３２の各々は、その特定の処理として一つ一つの処理を表している。パラメータ群３３は、それぞれ、起動命令群と、起動条件群とを含んでいる。起動命令群は、それぞれ、複数のバッチ処理用プログラムのうちの１つを起動させるための命令である。起動条件群は、それぞれバッチ処理単位群３２が表す処理を実行させるための条件を表している。この起動条件群は各々異なる。
【００２８】
例えば複数のバッチ処理用プログラムは、バッチ処理用プログラム群Ａ、Ｂ、Ｃを含んでいるものとする。複数のバッチ処理様式３１のうちの１つであるバッチ処理様式Ｙは、バッチ処理単位群Ｙ１、Ｙ２、Ｙ３と、パラメータ群Ｐ１、Ｐ２、Ｐ３とを含んでいる。バッチ処理単位群Ｙ１、Ｙ２、Ｙ３には、それぞれパラメータ群Ｐ１、Ｐ２、Ｐ３が用いられる。パラメータ群Ｐ１、Ｐ２、Ｐ３は、それぞれ、起動命令群Ａ’、Ａ’、Ｂ’と、起動条件群Ｙａ１、Ｙａ２、Ｙｂとを含んでいる。起動命令群Ａ’、Ａ’、Ｂ’は、それぞれ複数のバッチ処理用プログラムのうちの１つとしてバッチ処理用プログラム群Ａ、Ａ、Ｂを起動させるための命令である。起動条件群Ｙａ１、Ｙａ２、Ｙｂは、それぞれバッチ処理単位群Ｙ１、Ｙ２、Ｙ３が表す処理を実行させるための条件を表している。
【００２９】
ここで、バッチ処理様式Ｙによるバッチ処理単位群Ｙ１、Ｙ２、Ｙ３が表す処理をこの順番に実行する場合について説明する。
【００３０】
ユーザは、入力部１を用いて、バッチ処理様式Ｘによるバッチ処理を行なうためのユーザ名やパスワード名などの入力起動条件群をバッチ処理管理部２１に与える。入力起動条件群は各々異なる。バッチ処理管理部２１は、記憶装置３に格納された複数のバッチ処理様式３１の中から、入力起動条件群に一致する起動条件群（特定起動条件群）Ｙａ１、Ｙａ２、Ｙｂに対応する特定バッチ処理様式Ｙを選択する。これにより、図７に示されるように、バッチ処理管理部２１は、特定バッチ処理様式Ｙに含まれるバッチ処理単位群３２である特定バッチ処理単位群Ｙ１、Ｙ２、Ｙ３を特定する。バッチ処理管理部２１は、特定バッチ処理単位群Ｙ１、Ｙ２、Ｙ３と、入力起動条件群Ｙａ１、Ｙａ２、Ｙｂとをプログラム起動部２３に出力する。
【００３１】
プログラム起動部２３は、特定バッチ処理単位群Ｙ１、Ｙ２、Ｙ３と、入力起動条件群Ｙａ１、Ｙａ２、Ｙｂとにより、記憶装置３に格納された複数のバッチ処理用プログラムの中のどのバッチ処理用プログラムを起動させるのかをパラメータ管理部２２に問い合わせる。パラメータ管理部２２は、記憶装置３に格納された複数のパラメータ群３３の中から、特定バッチ処理単位群Ｙ１、Ｙ２、Ｙ３に対応し、且つ、入力起動条件群Ｙａ１、Ｙａ２、Ｙｂを含むパラメータ群３３である特定パラメータ群Ｐ１、Ｐ２、Ｐ３を選択する。これにより、図６に示されるように、パラメータ管理部２２は、特定パラメータ群Ｐ１、Ｐ２、Ｐ３に含まれる起動命令群である特定起動命令群Ａ’、Ａ’、Ｂ’を特定する。パラメータ管理部２２は、特定起動命令群Ａ’、Ａ’、Ｂ’と、入力起動条件群Ｙａ１、Ｙａ２、Ｙｂとをプログラム起動部２３に出力する。
【００３２】
プログラム起動部２３は、特定起動命令群Ａ’、Ａ’、Ｂ’に従ってそれぞれ特定バッチ処理用プログラム群Ａ、Ａ、Ｂを起動し、入力起動条件群Ｙａ１、Ｙａ２、Ｙｂに従ってそれぞれ特定バッチ処理単位群Ｙ１、Ｙ２、Ｙ３が表す処理を実行し、その実行結果を出力装置（例示；表示装置、印刷装置、その他のコンピュータ）に出力する。
【００３３】
このように、特定バッチ処理様式Ｙによる特定バッチ処理単位群Ｙ１、Ｙ２、Ｙ３が表す処理をこの順番に実行する。このとき、図７に示されるように、特定バッチ処理単位Ｙ１を実行する場合、特定パラメータＰ１を用いて、特定バッチ処理用プログラムＡが起動される。特定バッチ処理単位Ｙ２を実行する場合、特定パラメータＰ２を用いて、特定バッチ処理用プログラムＡが起動される。特定バッチ処理単位Ｙ３を実行する場合、特定パラメータＰ３を用いて、特定バッチ処理用プログラムＢが起動される。
【００３４】
特定起動命令群Ａ’、Ａ’、Ｂ’のうちの少なくとも２つの起動命令Ａ’、Ａ’は、特定バッチ処理用プログラム群Ａ、Ａ、Ｂのうちの特定バッチ処理用プログラムＡを起動させるための命令である。このように、特定バッチ処理用プログラム群Ａ、Ａ、Ｂは、各々異なる入力起動条件群に対して、起動されるプログラムが同一であることもある。
【００３５】
上記の起動条件群は、それぞれ、バッチ処理単位群が表す処理の名称であるキーと、バッチ処理単位群が表す処理を実行させるための条件である値とを含んでいる。このキーと値と具体例とを用いて、本発明のバッチ処理装置１０の動作について説明する。
【００３６】
例えば、図８Ａ〜図８Ｃに示されるように、バッチ処理用プログラム群Ａ、Ｂは、それぞれ「在庫金額計算」プログラム、「配賦計算」プログラムというバッチ処理用プログラムを表しているものとする。
【００３７】
図８Ａに示されるように、特定パラメータＰ１の起動命令Ａ’は、「在庫金額計算」プログラムを起動することを示している。特定パラメータＰ１に含まれる起動条件Ｙａ１（キー、値）は４個である。
この場合、起動条件Ｙａ１は、キーである「バッチ処理名」、「対象品目」、「置場」、「処理年月」と、値である「原料在庫金額計算」、「原料」、「原料倉庫」、「２００５年９月」とを含んでいる。これは、１個目のキー「バッチ処理名」のタイトルは「原料在庫金額計算」であることを示している。２個目のキー「対象品目」は、「在庫金額計算」の処理対象とする品目タイプが「原料」であることを示している。３個目のキー「置場」は、「在庫金額計算」の処理対象とする置場が「原料倉庫」であることを示している。４個目のキー「処理年月」は、「在庫金額計算」は「２００５年９月」のデータを処理することを示している。
これにより、特定パラメータＰ１に対応するバッチ処理単位Ｙ１が表す処理は、「原料在庫金額計算」であり、その処理として、「在庫金額計算」プログラムの挙動は、「置場」倉庫にある「対象品目」原料を基に、「処理年月」２００５年９月の時点での在庫の金額を計算するということを表している。
【００３８】
図８Ｂに示されるように、特定パラメータＰ２の起動命令Ａ’は、「在庫金額計算」プログラムを起動することを示している。特定パラメータＰ２に含まれる起動条件Ｙａ２（キー、値）は４個である。特定パラメータＰ２の起動条件Ｙａ２の意味は、特定パラメータＰ１のそれと同じである。異なるのは、特定パラメータＰ１が原料を扱っているのに対して、特定パラメータＰ２は中間品を扱っている点である。
これにより、特定パラメータＰ２に対応するバッチ処理単位Ｙ２が表す処理は、「中間品在庫金額計算」であり、その処理として、「在庫金額計算」プログラムの挙動は、「置場」倉庫にある「対象品目」中間品を基に、「処理年月」２００５年９月の時点での在庫の金額を計算するということを表している。
【００３９】
図８Ｃに示されるように、特定パラメータＰ３の起動命令Ｂ’は、「配賦計算」プログラムを起動することを示している。特定パラメータＰ３に含まれる起動条件Ｙｂ（キー、値）は４個である。
この場合、起動条件Ｙｂは、キーである「バッチ処理名」、「対象部門」、「配賦方式」、「処理年月」と、値である「配賦計算」、「間接部門」、「階梯式」、「２００５年９月」とを含んでいる。これは、１個目のキー「バッチ処理名」のタイトルは「配賦計算」であることを示している。２個目のキー「対象品目」は、「配賦計算」の処理対象とする部門が「間接部門」であることを示している。３個目のキー「配賦方式」は、「配賦計算」の配賦方式が「階梯式」であることを示している。４個目のキー「処理年月」は、「配賦計算」が「２００５年９月」のデータを処理することを示している。
これにより、特定パラメータＰ３に対応するバッチ処理単位Ｙ３が表す処理は、「配賦計算」であり、その処理として、「配賦計算」プログラムの挙動は、「配賦方式」階梯式により、「処理年月」２００５年９月の時点での「対象部門」間接部門の費用を計算するということを表している。
【００４０】
図９は、本発明のバッチ処理装置１０の動作を示すフローチャートである。
【００４１】
まず、ユーザは、入力部１を用いて、１つ目の入力起動条件として「バッチ処理名」原料在庫金額計算、「対象品目」原料、「置場」原料倉庫、「処理年月」２００５年９月をバッチ処理管理部２１に与える。２つ目の入力起動条件として「バッチ処理名」中間品在庫金額計算、「対象品目」中間品、「置場」工程、「処理年月」２００５年９月をバッチ処理管理部２１に与える。３つ目の入力起動条件として「バッチ処理名」配賦計算、「対象部門」間接部門、「配賦方式」階梯式、「処理年月」２００５年９月をバッチ処理管理部２１に与える。バッチ処理管理部２１は、これら入力起動条件群を入力する（ステップＳ１）。
【００４２】
バッチ処理管理部２１は、記憶装置３を参照して、１つ目の入力起動条件である「バッチ処理名」原料在庫金額計算、「対象品目」原料、「置場」原料倉庫、「処理年月」２００５年９月に一致する起動条件Ｙａ１を検索する。２つ目の入力起動条件である「バッチ処理名」中間品在庫金額計算、「対象品目」中間品、「置場」工程、「処理年月」２００５年９月に一致する起動条件Ｙａ２を検索する。３つ目の入力起動条件である「バッチ処理名」配賦計算、「対象部門」間接部門、「配賦方式」階梯式、「処理年月」２００５年９月に一致する起動条件Ｙｂを検索する。バッチ処理管理部２１は、記憶装置３に格納された複数のバッチ処理様式３１の中から、入力起動条件群Ｙａ１、Ｙａ２、Ｙｂに対応する特定バッチ処理様式Ｙを選択する。これにより、バッチ処理管理部２１は、特定バッチ処理様式Ｙに含まれるバッチ処理単位群３２である特定バッチ処理単位群Ｙ１、Ｙ２、Ｙ３として「原料在庫金額計算」、「中間品在庫金額計算」、「配賦計算」を特定する（ステップＳ２）。
【００４３】
パラメータ管理部２２は、記憶装置３に格納された複数のパラメータ群３３の中から、特定バッチ処理単位Ｙ１である「原料在庫金額計算」に対応し、且つ、入力起動条件Ｙａ１である「バッチ処理名」原料在庫金額計算、「対象品目」原料、「置場」原料倉庫、「処理年月」２００５年９月を含む特定パラメータＰ１を選択する。特定バッチ処理単位Ｙ２である「中間品在庫金額計算」に対応し、且つ、入力起動条件Ｙａ２である「バッチ処理名」中間品在庫金額計算、「対象品目」中間品、「置場」工程、「処理年月」２００５年９月を含む特定パラメータＰ２を選択する。特定バッチ処理単位Ｙ３である「配賦計算」に対応し、且つ、入力起動条件群Ｙｂである「バッチ処理名」配賦計算、「対象部門」間接部門、「配賦方式」階梯式、「処理年月」２００５年９月を含む特定パラメータＰ３を選択する。
これにより、パラメータ管理部２２は、特定パラメータ群Ｐ１、Ｐ２、Ｐ３に含まれる特定起動命令群Ａ’、Ａ’、Ｂ’を特定する（ステップＳ３）。
【００４４】
プログラム起動部２３は、特定起動命令群Ａ’、Ａ’、Ｂ’に従ってそれぞれ特定バッチ処理用プログラム群Ａ、Ａ、Ｂとして「在庫金額計算」プログラム、「在庫金額計算」プログラム、「配賦計算」プログラムを起動する。このとき、入力起動条件群Ｙａ１、Ｙａ２、Ｙｂに従ってそれぞれ特定バッチ処理単位群Ｙ１、Ｙ２、Ｙ３である「原料在庫金額計算」、「中間品在庫金額計算」、「配賦計算」が表す処理を実行し、その実行結果を出力装置（表示装置、印刷装置、その他のコンピュータ）に出力する（プログラム起動処理；ステップＳ４）。
【００４５】
図１０は、本発明のバッチ処理装置１０の動作としてプログラム起動処理（ステップＳ４）を示すフローチャートである。図１０を参照して、プログラム起動部２３の挙動を説明する。
【００４６】
特定バッチ処理単位Ｙ１「原料在庫金額計算」が実行されると、パラメータ管理部２２で解析された特定パラメータＰ１を読み込む（ステップＡ１）。次に、特定バッチ処理用プログラムＡである「在庫金額計算」プログラムを起動する（ステップＡ２）。次のキーとして、１行目のキー「バッチ処理名」が確認される（ステップＡ３）。
１回目のループでは、「在庫金額計算」プログラムにおいて（ステップＡ３−ＹＥＳ）、キー「バッチ処理名」が想定されるキーであるかどうかを特定する（ステップＡ４）。次に、「バッチ処理名」として「原料在庫金額計算」を設定する（ステップＡ５）。
２回目のループでは、「在庫金額計算」プログラムにおいて（ステップＡ３−ＹＥＳ）、キー「対象品目」が想定されるキーであるかどうかを特定する（ステップＡ４）。次に、「対象品目」として「原料」を設定する（ステップＡ５）。
３回目のループでは、「在庫金額計算」プログラムにおいて（ステップＡ３−ＹＥＳ）、キー「置場」が想定されるキーであるかどうかを特定する（ステップＡ４）。次に、「置場」として「原料倉庫」を設定する（ステップＡ５）。
４回目のループでは、「在庫金額計算」プログラムにおいて（ステップＡ３−ＹＥＳ）、キー「処理年月」が想定されるキーであるかどうかを特定する（ステップＡ４）。次に、「処理年月」として「処理年月」を設定する（ステップＡ５）。
ループの終了時に（ステップＡ３−ＮＯ）、プログラム起動部２３の起動が完了する。
【００４７】
特定バッチ処理単位Ｙ２「中間品在庫金額計算」、特定バッチ処理単位Ｙ３「配賦計算」における動作についても上記のステップＡ１〜Ａ５が実行される。
【００４８】
本発明では、パラメータ（パラメータ定義データ）というデータ構造により、プログラムの起動条件をバッチ処理管理部２１とは別に定義できるようにした。また、バッチ処理管理部２１に、起動するプログラムを直接的に紐付けるのではなく、バッチ処理単位からパラメータを介してプログラムを紐付けるようにした。このため、バッチ処理様式において、同一のプログラムを異なる起動条件で起動することができる。このため、起動条件が異なる場合、プログラム自体を別に作る必要がなく、プログラム自体の本数が増えていくという問題も解決する。
【００４９】
また、このようなデータ構造により、バッチ処理管理部２１からプログラムを起動する際に、一旦、パラメータ定義データを介することで、プログラムの挙動を制御できる仕組みを提供する。この仕組みにより、バッチ処理の管理機構とプログラムの起動を論理的に分離することが可能になった。前述のように、ビジネスの環境変化に従い、取り扱うバッチ処理用プログラムの数や内容も変化しているため、目的別に、バッチ処理用プログラムの数や実行順番を変更したり、そのプログラムの挙動自体を変更したりするというニーズが増大している。本発明のバッチ処理装置１０は、異なる起動条件により、目的毎に起動するプログラム群を指定することができる上に、目的別にプログラムの挙動自体を変更することもできる。即ち、バッチ処理単位を容易に追加することができるようになった。
【００５０】
以上の説明により、本発明によれば、目的別にプログラムの挙動を変更できる拡張可能なバッチ処理装置１０を提供することができる。
【００５１】
図１１は、本発明のバッチ処理装置１０の他の構成を示すブロック図である。上記の構成に対して、記憶装置３には、更に、コンピュータプログラムであるパラメータ指定部２４が格納されている。制御装置２は、パラメータ指定部２４を更に実行する。
バッチ処理管理部２１は、上記の特定バッチ処理単位群Ｙ１、Ｙ２、Ｙ３と、上記の入力起動条件群Ｙａ１、Ｙａ２、Ｙｂとを、パラメータ指定部２４を介してプログラム起動部２３に出力する。このとき、パラメータ指定部２４は、特定パラメータ群Ｐ１、Ｐ２、Ｐ３に含まれる起動条件群Ｙａ１、Ｙａ２、Ｙｂの値を変更（指定）するか否かをユーザに問い合わせる。パラメータ指定部２４は、ユーザの操作により（例えば、ダイアログなどの手段や入力部１を用いて）、プログラム起動部２３、パラメータ管理部２２を介して、起動条件群Ｙａ１、Ｙａ２、Ｙｂの値を変更（指定）する。この後、プログラム起動部２３は、特定バッチ処理単位群Ｙ１、Ｙ２、Ｙ３と、入力起動条件群Ｙａ１、Ｙａ２、Ｙｂとにより、記憶装置３に格納された複数のバッチ処理用プログラムの中のどのバッチ処理用プログラムを起動させるのかをパラメータ管理部２２に問い合わせる。
【００５２】
図１２に示されるように、特定パラメータＰ１の起動条件Ｙａ１に含まれるキーである「処理年月」を＜パラメータ指定部より指定＞とし、動的に指定できるようにしておく。パラメータ指定部２４は、ユーザの操作により、起動条件Ｙａ１のキー「処理年月」に対応する値として、バッチ処理名「原料在庫金額計算」が実施される実際の年月を変更（指定）する。実際の年月として、例えば２００５年９月３０日を指定する。これにより、プログラム起動部２３は、指定された値「２００５年９月３０日」に基づいて、特定バッチ処理用プログラムＡである「在庫金額計算」プログラムを起動する。
【００５３】
以上の説明により、本発明によれば、上述の効果に加えて、起動の際のパラメータ指定も動的に制御することができる。
【図面の簡単な説明】
【００５４】
【図１】図１は、従来のバッチ処理装置１００の構成を示すブロック図である。
【図２】図２は、バッチ処理単位群１３２と起動条件群とを対応付ける複数のバッチ処理様式１３１を表している。
【図３】図３は、特定バッチ処理様式Ｘにより起動される特定バッチ処理用プログラムを表している。
【図４】図４は、本発明のバッチ処理装置１０の構成を示すブロック図である。
【図５】図５は、バッチ処理単位群３２とパラメータ群３３とを対応付ける複数のバッチ処理様式３１を表している。
【図６】図６は、特定バッチ処理様式Ｙにより起動される特定バッチ処理用プログラムを表している。
【図７】図７は、特定バッチ処理単位群Ｙ１、Ｙ２、Ｙ３と特定パラメータ群Ｐ１、Ｐ２、Ｐ３とを対応付ける特定バッチ処理様式Ｙを表している。
【図８Ａ】図８Ａは、本発明のバッチ処理装置１０の動作を説明するための図である。
【図８Ｂ】図８Ｂは、本発明のバッチ処理装置１０の動作を説明するための図である。
【図８Ｃ】図８Ｃは、本発明のバッチ処理装置１０の動作を説明するための図である。
【図９】図９は、本発明のバッチ処理装置１０の動作を示すフローチャートである。
【図１０】図１０は、本発明のバッチ処理装置１０の動作としてプログラム起動処理（ステップＳ４）を示すフローチャートである。
【図１１】図１１は、本発明のバッチ処理装置１０の他の構成を示すブロック図である。
【図１２】図１２は、本発明のバッチ処理装置１０の他の構成における動作を説明するための図である。
【符号の説明】
【００５５】
１    入力部
２    制御装置
３    記憶装置
１０    バッチ処理装置
２１    バッチ処理管理部
２２    パラメータ管理部
２３    プログラム起動部
２４    パラメータ指定部
３１    バッチ処理様式
３２    バッチ処理単位
３３    パラメータ
Ｙ    バッチ処理様式
Ｙ１、Ｙ２、Ｙ３    バッチ処理単位
Ｐ１、Ｐ２、Ｐ３    パラメータ
Ａ’、Ａ’、Ｂ’    起動命令
Ｙａ１、Ｙａ２、Ｙｂ    起動条件
１００    バッチ処理装置
１０１    入力部
１０２    制御装置
１０３    記憶装置
１２１    バッチ処理管理部
１２２    プログラム起動部
１３１    バッチ処理様式
１３２    バッチ処理単位
Ｘ    バッチ処理様式
ＸＡ、ＸＢ、ＸＣ    バッチ処理単位
Ｘａ、Ｘｂ、Ｘｃ    起動条件
【図１】
0004539532.tif 000002
【図２】
0004539532.tif 000003
【図３】
0004539532.tif 000004
【図４】
0004539532.tif 000005
【図５】
0004539532.tif 000006
【図６】
0004539532.tif 000007
【図７】
0004539532.tif 000008
【図８Ａ】
0004539532.tif 000009
【図８Ｂ】
0004539532.tif 000010
【図８Ｃ】
0004539532.tif 000011
【図９】
0004539532.tif 000012
【図１０】
0004539532.tif 000013
【図１１】
0004539532.tif 000014
【図１２】
0004539532.tif 000015