(57)【特許請求の範囲】
【請求項１】
法規毎に定められた適用期間の異なるモジュールであって、処理しようとするデータである処理対象データを作成または更新する複数のモジュール、を有する業務処理アプリケーションを含む業務処理システムにおけるモジュール管理方法において、
処理データ選択部が、処理対象データの種類および処理しようとする期間を表す処理対象期間を含む条件設定情報を取得する条件設定ステップと、
モジュール決定部が、データの種類とモジュールの適用期間毎に、前記複数のモジュールを識別するためのモジュール識別子とモジュールのバージョンとが対応付けられて格納されているモジュール管理情報を記憶部から読み出し、読み出したモジュール管理情報から前記条件設定情報に対応するモジュール識別子を抽出するモジュール決定ステップと、
モジュール連携部が、前記抽出されたモジュール識別子に対応するモジュールを記憶部から読み出して、そのモジュールを起動するモジュール起動ステップと、
モジュール連携部が、前記起動したモジュールが作成したデータの、種類と処理対象期間とバージョンとを含むデータ情報を、記憶部に格納するデータ管理ステップと、
を含み、
前記モジュール決定ステップでは、
処理対象データを新規作成する場合には、記憶部内のモジュール管理情報を検索し、検索結果として前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報があればこのモジュール管理情報からモジュール識別子を抽出し、検索結果として前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報がない場合には、処理対象データの種類と一致するデータの種類を格納するモジュール管理情報を検索し、検索により得られたモジュール管理情報に含まれるバージョンの大きさに基づいて決定した１つのモジュール管理情報からモジュール識別子を抽出し、
処理対象データが新規作成でない場合には、前記条件設定情報に対応する格納済みのデータ情報を取得し、前記記憶部内のモジュール管理情報を検索して前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報を取得し、取得したデータ情報に含まれるバージョンの大きさと取得したモジュール管理情報に含まれるバージョンの大きさに基づいて決定した１つのモジュール管理情報からモジュール識別子を抽出する、
ことを特徴とするモジュール管理方法。
【請求項２】
法規毎に定められた適用期間の異なるモジュールであって、処理しようとするデータである処理対象データを作成または更新する複数のモジュール、を有する業務処理アプリケーションを含む業務処理システムにおけるモジュール管理方法において、
処理データ選択部が、処理対象データの種類および処理しようとする期間を表す処理対象期間を含む条件設定情報を取得する条件設定ステップと、
適用期間管理部が、データの種類とモジュールの適用期間毎に、前記複数のモジュールを識別するためのモジュール識別子とモジュールのバージョンとが対応付けられて格納されているモジュール管理情報を記憶部から読み出し、読み出したモジュール管理情報から前記条件設定情報に対応するモジュール識別子を抽出するモジュール決定ステップと、
モジュール連携部が、前記抽出されたモジュール識別子に対応するモジュールを記憶部から読み出して、そのモジュールを起動するモジュール起動ステップと、
モジュール連携部が、前記起動したモジュールが作成したデータの、種類と処理対象期間とバージョンとを含むデータ情報を、記憶部に格納するデータ管理ステップと、
を含み、
前記モジュール決定ステップでは、
処理対象データを新規作成する場合には、記憶部内のモジュール管理情報を検索し、検索結果として前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報があればこのモジュール管理情報からモジュール識別子を抽出し、検索結果として前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報がない場合には、処理対象データの種類と一致するデータの種類を格納するモジュール管理情報を検索し、検索により得られたモジュール管理情報に含まれるバージョンの大きさに基づいて決定した１つのモジュール管理情報からモジュール識別子を抽出し、
処理対象データが新規作成でない場合には、前記条件設定情報に対応する格納済みのデータ情報を取得し、前記記憶部内のモジュール管理情報を検索して前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報を取得し、取得したデータ情報に含まれるバージョンの大きさと取得したモジュール管理情報に含まれるバージョンの大きさに基づいて決定した１つのモジュール管理情報からモジュール識別子を抽出する、
ことを特徴とするモジュール管理方法。
【請求項３】
処理対象データが新規作成でない場合に、
前記適用期間管理部が、前記モジュール管理情報を検索した結果として取得したモジュール管理情報に含まれるバージョンを抽出し、抽出したバージョンを第１のバージョンとして取得する第１のバージョン取得ステップと、
前記適用期間管理部が、前記処理対象データに対応する格納済みのデータ情報に含まれるバージョンを抽出し、抽出したバージョンを第２のバージョンとして取得する第２のバージョン取得ステップと、
前記適用期間管理部が、第２のバージョンと第１のバージョンを比較するバージョン比較ステップと、
前記適用期間管理部が、前記バージョン比較ステップにおいて第２のバージョンが第１のバージョンより古いと判断した場合に、前記モジュール管理情報と前記データ情報をコンバート管理部に通知する通知ステップと、
前記コンバート管理部が、前記通知ステップにおいて通知された情報に基づいて前記処理対象データを前記第１のバージョンへコンバートするか否かの判断を行い、その判断結果を前記適用期間管理部に通知するコンバート判断ステップと、
前記コンバート判断ステップにおいてコンバートを行うと判断された場合に、前記コンバート管理部が、前記処理対象データを前記第１のバージョンへコンバートするコンバートステップと、
をさらに含み、
前記コンバート判断ステップにおいてコンバートを行わないと判断された場合には、前記通知ステップにおいて通知された情報に基づいて、前記適用期間管理部が、前記モジュール決定ステップにおいて前記データ情報に含まれるデータの種類およびバージョンに対応するモジュール管理情報を検索し、該モジュール管理情報からモジュール識別子を抽出し、
前記バージョン比較ステップによる比較の結果、第１のバージョンと第２のバージョンが等しい場合には、前記適用期間管理部が、前記モジュール決定ステップにおいて前記モジュール管理情報を検索した結果として取得したモジュール管理情報からモジュール識別子を抽出すること、
を特徴とする請求項２に記載のモジュール管理方法。
【請求項４】
前記コンバートステップでは、
コンバート管理部が、変換元バージョンと変換先バージョンの組み合わせに対応するコンバートを自動で行うか否かの指示を示すコンバート識別子が処理対象データの種類ごとに記録されたコンバート情報、が格納されている記憶部を参照し、
コンバートする場合に、変換元バージョンと変換先バージョンの組み合わせに対応するコンバート識別子が自動で行う指示を示す値の場合には自動でコンバートを行い、
一方、コンバートする場合に、変換元バージョンと変換先バージョンの組み合わせに対応するコンバート識別子が自動で行う指示を示す値でない場合には、表示部にコンバートを行うか否かの選択を促す画面を表示する制御を行い、コンバートを行う指示を入力部経由で受け付けた場合にコンバートを行うことを特徴とする請求項３に記載のモジュール管理方法。
【請求項５】
前記起動されたモジュールが処理対象データを生成または更新した場合、更新波及処理部が、処理対象データの種類およびバージョンと、そのバージョンの処理対象データの更新を波及させる対象のデータの種類およびバージョンと、その波及処理を行う波及モジュールの識別子と、が対応付けられて格納されている更新波及情報を記憶部から読み出し、前記更新した処理対象データの種類およびバージョンに対応する、更新を波及させる対象のデータの種類およびバージョンと波及モジュールの識別子とを抽出し、前記抽出した波及モジュールを起動して前記抽出したデータの種類およびバージョンのデータを更新することを特徴とする請求項１〜４のいずれか１つに記載のモジュール管理方法。
【請求項６】
前記適用期間を、処理対象期間の終了時に対する適用期間として定義することを特徴とする請求項１〜５のいずれか１つに記載のモジュール管理方法。
【請求項７】
前記適用期間を、処理対象期間の開始時に対する期間と終了時に対する期間の両方で定義することを特徴とする請求項１〜５のいずれか１つに記載のモジュール管理方法。
【請求項８】
前記適用期間を正規適用期間と経過措置適用期間とすることを特徴とする請求項１〜７のいずれか１つに記載のモジュール管理方法。
【請求項９】
前記経過措置適用期間を早期適用期間と延長適用期間とすることを特徴とする請求項８に記載のモジュール管理方法。
【請求項１０】
前記処理対象期間に対応する適用期間に対応付けられているモジュールのバージョンが複数存在する場合には、参照するデータのバージョンに制約を設けることを特徴する請求項８または９に記載のモジュール管理方法。
【請求項１１】
前記業務処理アプリケーションを財務会計アプリケーションとすることを特徴とする請求項１〜１０のいずれか１つに記載のモジュール管理方法。
【請求項１２】
前記業務処理アプリケーションを税務アプリケーションとすることを特徴とする請求項１〜１１のいずれか１つに記載のモジュール管理方法。
【請求項１３】
前記業務処理アプリケーションを販売仕入管理アプリケーションとすることを特徴とする請求項１〜１２のいずれか１つに記載のモジュール管理方法。
【請求項１４】
前記業務処理アプリケーションを給与管理アプリケーションとすることを特徴とする請求項１〜１３のいずれか１つに記載のモジュール管理方法。
【請求項１５】
法規毎に定められた適用期間の異なるモジュールであって、処理しようとするデータである処理対象データを作成または更新する複数のモジュール、を有する業務処理アプリケーションを含む業務処理システムにおけるモジュール管理装置において、
処理対象データの種類および処理しようとする期間を表す処理対象期間を含む条件設定情報を取得する処理データ選択部と、
データの種類とモジュールの適用期間毎に、前記複数のモジュールを識別するためのモジュール識別子とモジュールのバージョンとが対応付けられて格納されているモジュール管理情報を記憶部から読み出し、読み出したモジュール管理情報から前記条件設定情報に対応するモジュール識別子を抽出するモジュール決定部と、
前記抽出されたモジュール識別子に対応するモジュールを記憶部から読み出して、そのモジュールを起動し、起動したモジュールが作成したデータの、種類と処理対象期間とバージョンとを含むデータ情報を、記憶部に格納するモジュール連携部と、
を備え、
前記モジュール決定部は、
処理対象データを新規作成する場合には、記憶部内のモジュール管理情報を検索し、検索結果として前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報があればこのモジュール管理情報からモジュール識別子を抽出し、検索結果として前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報がない場合には、処理対象データの種類と一致するデータの種類を格納するモジュール管理情報を検索し、検索により得られたモジュール管理情報に含まれるバージョンの大きさに基づいて決定した１つのモジュール管理情報からモジュール識別子を抽出し、
処理対象データが新規作成でない場合には、前記条件設定情報に対応する格納済みのデータ情報を取得し、前記記憶部内のモジュール管理情報を検索して前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報を取得し、取得したデータ情報に含まれるバージョンの大きさと取得したモジュール管理情報に含まれるバージョンの大きさに基づいて決定した１つのモジュール管理情報からモジュール識別子を抽出する、
ことを特徴とするモジュール管理装置。
【請求項１６】
法規毎に定められた適用期間の異なるモジュールであって、処理しようとするデータである処理対象データを作成または更新する複数のモジュール、を有する業務処理アプリケーションを含む業務処理システムにおけるモジュール管理装置において、
処理対象データの種類および処理しようとする期間を表す処理対象期間を含む条件設定情報を取得する処理データ選択部と、
データの種類とモジュールの適用期間毎に、前記複数のモジュールを識別するためのモジュール識別子とモジュールのバージョンとが対応付けられて格納されているモジュール管理情報を記憶部から読み出し、読み出したモジュール管理情報から前記条件設定情報に対応するモジュール識別子を抽出する適用期間管理部と、
前記抽出されたモジュール識別子に対応するモジュールを記憶部から読み出して、そのモジュールを起動し、起動したモジュールが作成したデータの、種類と処理対象期間とバージョンとを含むデータ情報を、記憶部に格納するモジュール連携部と、
を備え、
前記適用期間管理部は、
処理対象データを新規作成する場合には、記憶部内のモジュール管理情報を検索し、検索結果として前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報があればこのモジュール管理情報からモジュール識別子を抽出し、検索結果として前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報がない場合には、処理対象データの種類と一致するデータの種類を格納するモジュール管理情報を検索し、検索により得られたモジュール管理情報に含まれるバージョンの大きさに基づいて決定した１つのモジュール管理情報からモジュール識別子を抽出し、
処理対象データが新規作成でない場合には、前記条件設定情報に対応する格納済みのデータ情報を取得し、前記記憶部内のモジュール管理情報を検索して前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報を取得し、取得したデータ情報に含まれるバージョンの大きさと取得したモジュール管理情報に含まれるバージョンの大きさに基づいて決定した１つのモジュール管理情報からモジュール識別子を抽出する、
ことを特徴とするモジュール管理装置。
【請求項１７】
処理対象データが新規作成でない場合に、
前記適用期間管理部が、前記モジュール管理情報を検索した結果として取得したモジュール管理情報に含まれるバージョンを抽出し、抽出したバージョンを第１のバージョンとして取得し、
前記適用期間管理部が、前記処理対象データに対応する格納済みのデータ情報に含まれるバージョンを抽出し、抽出したバージョンを第２のバージョンとして取得し、
前記適用期間管理部が、第２のバージョンと第１のバージョンを比較し、第２のバージョンが第１のバージョンより古いと判断した場合に、前記モジュール管理情報と前記データ情報を出力し、
さらに、
前記出力されたモジュール管理情報と前記データ情報に基づいて前記処理対象データを前記第１のバージョンへコンバートするか否かの判断を行い、その判断結果を前記適用期間管理部に通知し、コンバートを行うと判断した場合に、前記処理対象データを前記第１のバージョンへコンバートするコンバート管理部、
を備え、
前記判断の結果、コンバートを行わないと判断された場合に、前記出力されたモジュール管理情報と前記データ情報に基づいて、前記適用期間管理部が、前記データ情報に含まれるデータの種類およびバージョンに対応するモジュール管理情報を検索し、該モジュール管理情報からモジュール識別子を抽出し、
前記比較の結果、第１のバージョンと第２のバージョンが等しい場合には、前記適用期間管理部が、前記モジュール管理情報を検索した結果として取得したモジュール管理情報からモジュール識別子を抽出すること、
を特徴とする請求項１６に記載のモジュール管理装置。
【請求項１８】
前記コンバート管理部が、
変換元バージョンと変換先バージョンの組み合わせに対応するコンバートを自動で行うか否かの指示を示すコンバート識別子が処理対象データの種類ごとに記録されたコンバート情報、が格納されている記憶部を参照し、
コンバートする場合に、変換元バージョンと変換先バージョンの組み合わせに対応するコンバート識別子が自動で行う指示を示す値の場合には自動でコンバートを行い、
一方、前記コンバートする変換元バージョンと変換先バージョンの組み合わせに対応するコンバート識別子が自動で行う指示を示す値でない場合には、表示部にコンバートを行うか否かの選択を促す画面を表示し、コンバートを行う指示を入力部経由で受け付けた場合に、コンバートを行うことを特徴とする請求項１７に記載のモジュール管理装置。
【請求項１９】
前記起動されたモジュールが処理対象データを生成または更新した場合、更新波及処理部が、処理対象データの種類およびバージョンと、そのバージョンの処理対象データの更新を波及させる対象のデータの種類およびバージョンと、その波及処理を行う波及モジュールの識別子と、が対応付けられて格納されている更新波及情報を記憶部から読み出し、前記更新した処理対象データの種類およびバージョンに対応する、更新を波及させる対象のデータの種類およびバージョンと波及モジュールの識別子とを抽出し、前記抽出した波及モジュールを起動して前記抽出したデータの種類およびバージョンのデータを更新することを特徴とする請求項１５〜１８のいずれか１つに記載のモジュール管理装置。
【請求項２０】
前記適用期間を、処理対象期間の終了時に対する適用期間として定義することを特徴とする請求項１５〜１９のいずれか１つに記載のモジュール管理装置。
【請求項２１】
前記適用期間を、処理対象期間の開始時に対する期間と終了時に対する期間の両方で定義することを特徴とする請求項１５〜１９のいずれか１つに記載のモジュール管理装置。
【請求項２２】
前記適用期間を正規適用期間と経過措置適用期間とすることを特徴とする請求項１５〜２１のいずれか１つに記載のモジュール管理装置。
【請求項２３】
前記経過措置適用期間を早期適用期間と延長適用期間とすることを特徴とする請求項２２に記載のモジュール管理装置。
【請求項２４】
前記処理対象期間に対応する適用期間に対応付けられているモジュールのバージョンが複数存在する場合には、参照するデータのバージョンに制約を設けることを特徴する請求項２２または２３に記載のモジュール管理装置。
【請求項２５】
前記業務処理アプリケーションを財務会計アプリケーションとすることを特徴とする請求項１５〜２４のいずれか１つに記載のモジュール管理装置。
【請求項２６】
前記業務処理アプリケーションを税務アプリケーションとすることを特徴とする請求項１５〜２５のいずれか１つに記載のモジュール管理装置。
【請求項２７】
前記業務処理アプリケーションを販売仕入管理アプリケーションとすることを特徴とする請求項１５〜２６のいずれか１つに記載のモジュール管理装置。
【請求項２８】
前記業務処理アプリケーションを給与管理アプリケーションとすることを特徴とする請求項１５〜２７のいずれか１つに記載のモジュール管理装置。
【請求項２９】
請求項１〜１４のいずれか１つに記載のモジュール管理方法をコンピュータに実行させることを特徴とするモジュール管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、年度または特定の期間を単位としてデータの処理方法を変更する可能性のある業務処理システムにおいて、データとモジュールの管理を行うモジュール管理方法に関する。
【背景技術】
【０００２】
財務・会計，税務，販売仕入管理、給与管理などの業務処理は、関連する法律の変更などの影響により、年度または特定の期間を単位として処理方法が変更となることが多い。近年、これらの業務処理は、計算機システム上で行われることが多く、会計システム，申告書作成システム、販売仕入管理システム，給与システム，決算書作成システムなど様々なアプリケーションシステムがこれらの業務処理に用いられている。処理方法が変更になると、アプリケーションシステムで用いるプログラム（モジュール）をその変更にあわせて更新する必要がある。処理方法の変更だけでなくモジュールの改良による更新も行われるため様々なバージョンのモジュールが存在することになる。
【０００３】
また、これらのモジュールで作成されたデータは、それぞれのアプリケーションシステムにおいて個別に作成および管理されている。一方、財務・会計，税務，販売仕入管理、給与管理などのアプリケーションシステムが管理するデータには、共通する項目やお互いに関連する項目が存在することが多い。したがって、データの管理の効率化と不整合を防ぐ観点から、関連するデータは同一の計算機上に保存され、お互いに流用および参照可能であることが望ましい。
【０００４】
しかし、同一の計算機上に保存されてお互いに流用および参照するためには、全てのデータの情報の整合をとって正しく管理することが望ましいが、データの種類が多岐に渡るだけでなく、上述のように、様々なバージョンのモジュールで作成されたデータが存在し、データの作成されたバージョンの管理を行う必要もあり、管理が非常に煩雑となる。ここで、バージョンとは、プログラムやモジュールの更新およびどのプログラムやどのモジュールで作成されたデータかが識別できる世代識別情報のことを意味している。
【０００５】
データとモジュールの整合性を保つために従来行われている管理方法として、データにバージョン情報を付加して保存する方法がある。この方法では、新しいバージョンのモジュールで過去に作成した古いバージョンのモジュールで作成されたデータを用いて業務処理を行う際に、古いバージョンで処理されたデータを新しいバージョンにコンバートする。このように、古いバージョンで処理されたデータを新しいバージョンにコンバートすることにより、古いデータが次第に減少し、新バージョンのモジュールとそれに対応するデータだけとなり、整合がとりやすくなる。
【０００６】
また、モジュールとデータの整合性を保つための別の手法として、たとえば、下記特許文献１に記載の技術が開示されている。下記特許文献１に記載の技術では、バージョンごとにそれぞれ異なる交換可能記憶媒体へプログラムとデータを保存することにより、プログラムとデータの整合をとりやすくしている。
【０００７】
また、上述のように複数のバージョンのモジュールが存在する場合、操作者が業務処理を行う際には、まず、操作者がどのバージョンのモジュールで処理を行うかを判断し、その判断により選択したバージョンのモジュールを起動するのが一般的である。この方法では、操作者自身が、各バージョンに関する情報を把握している必要がある。したがって、たとえば、新しいバージョンで処理するのが適切である場合にも、操作者が誤って古いバージョンのモジュールを起動してしまう可能性もあった。
【０００８】
このような操作者の負担を軽減するために、自動で起動するプログラムを選択する手法として下記特許文献２に記載の技術が開示されている。下記特許文献２では、更新前の旧プログラムと更新後の新プログラムを同一名称としておく。そして、変更日付を定義しておき、操作者がプログラムの起動の操作を行った場合に、その日が変更日付以後であれば新プログラムを自動的に起動し、変更日付より前であれば旧プログラムを自動的に起動する。
【０００９】
【特許文献１】特開平５−３０３４８８号公報
【特許文献２】特公平５−５０７７２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記従来のバージョン管理方法では、新しいバージョンのモジュールとそのモジュールで処理されたデータに統一されてしまうため、古いバージョンのモジュールで処理を行うことができない。法改正によりモジュールがバージョンアップされた場合でも、たとえば、修正申告書の作成処理などでは、その時点の法規にしたがった古いバージョンのモジュールで処理をする必要がある。このため、新バージョンのモジュールは古いバージョンのモジュールの機能を包含する必要があり、更新のたびにプログラムが肥大化し、プログラム内の処理制御も複雑化する、という問題があった。
【００１１】
また、上記特許文献１に記載の技術では、プログラムとデータをバージョンごとに異なる媒体で管理している。このため、異なるバージョンのデータを同時に参照しにくく、また、複数年度にわたった処理を行う際に、媒体の検索や媒体の交換などを行いながら処理をすることになるため非常に手間がかかる、という問題があった。
【００１２】
また、上記特許文献２に記載の技術では、新旧の２つのプログラムのみを管理している。このため、３つ以上のバージョン管理が困難である、という問題があった。また、新旧プログラムの名称を同一にする必要があるなど、運用上の制約が多い、という問題があった。
【００１３】
また、上述の技術では、１つの種類のモジュール処理を対象としてモジュールとデータの管理を行っている。このため、関連する複数の種類のモジュールで作成されたデータ同士の整合をとることはできない、という問題があった。
【００１４】
本発明は、上記に鑑みてなされたものであって、操作者がバージョンを意識することなく簡易な操作でモジュールを起動でき、かつ、モジュールを肥大化させずに複数のバージョンのモジュールの処理を実現でき、かつ、複数の種類のモジュールで作成されたデータの整合性を正しく保つことができるモジュール管理方法、モジュール管理装置、モジュール管理システムおよびモジュール管理プログラムを得ることを目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決し、目的を達成するために、本発明にかかるモジュール管理方法は、法規毎に定められた適用期間の異なるモジュールであって、処理しようとするデータである処理対象データを作成または更新する複数のモジュール、を有する業務処理アプリケーションを含む業務処理システムにおけるモジュール管理方法において、処理データ選択部が、処理対象データの種類および処理しようとする期間を表す処理対象期間を含む条件設定情報を取得する条件設定ステップと、モジュール決定部が、データの種類とモジュールの適用期間毎に、前記複数のモジュールを識別するためのモジュール識別子とモジュールのバージョンとが対応付けられて格納されているモジュール管理情報を記憶部から読み出し、読み出したモジュール管理情報から前記条件設定情報に対応するモジュール識別子を抽出するモジュール決定ステップと、モジュール連携部が、前記抽出されたモジュール識別子に対応するモジュールを記憶部から読み出して、そのモジュールを起動するモジュール起動ステップと、モジュール連携部が、前記起動したモジュールが作成したデータの、種類と処理対象期間とバージョンとを含むデータ情報を、記憶部に格納するデータ管理ステップと、を含み、前記モジュール決定ステップでは、処理対象データを新規作成する場合には、記憶部内のモジュール管理情報を検索し、検索結果として前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報があればこのモジュール管理情報からモジュール識別子を抽出し、検索結果として前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報がない場合には、処理対象データの種類と一致するデータの種類を格納するモジュール管理情報を検索し、検索により得られたモジュール管理情報に含まれるバージョンの大きさに基づいて決定した１つのモジュール管理情報からモジュール識別子を抽出し、処理対象データが新規作成でない場合には、前記条件設定情報に対応する格納済みのデータ情報を取得し、前記記憶部内のモジュール管理情報を検索して前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報を取得し、取得したデータ情報に含まれるバージョンの大きさと取得したモジュール管理情報に含まれるバージョンの大きさに基づいて決定した１つのモジュール管理情報からモジュール識別子を抽出する、ことを特徴とする。
【００１６】
つぎの発明にかかるモジュール管理方法は、法規毎に定められた適用期間の異なるモジュールであって、処理しようとするデータである処理対象データを作成または更新する複数のモジュール、を有する業務処理アプリケーションを含む業務処理システムにおけるモジュール管理方法において、処理データ選択部が、処理対象データの種類および処理しようとする期間を表す処理対象期間を含む条件設定情報を取得する条件設定ステップと、適用期間管理部が、データの種類とモジュールの適用期間毎に、前記複数のモジュールを識別するためのモジュール識別子とモジュールのバージョンとが対応付けられて格納されているモジュール管理情報を記憶部から読み出し、読み出したモジュール管理情報から前記条件設定情報に対応するモジュール識別子を抽出するモジュール決定ステップと、モジュール連携部が、前記抽出されたモジュール識別子に対応するモジュールを記憶部から読み出して、そのモジュールを起動するモジュール起動ステップと、モジュール連携部が、前記起動したモジュールが作成したデータの、種類と処理対象期間とバージョンとを含むデータ情報を、記憶部に格納するデータ管理ステップと、を含み、前記モジュール決定ステップでは、処理対象データを新規作成する場合には、記憶部内のモジュール管理情報を検索し、検索結果として前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報があればこのモジュール管理情報からモジュール識別子を抽出し、検索結果として前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報がない場合には、処理対象データの種類と一致するデータの種類を格納するモジュール管理情報を検索し、検索により得られたモジュール管理情報に含まれるバージョンの大きさに基づいて決定した１つのモジュール管理情報からモジュール識別子を抽出し、処理対象データが新規作成でない場合には、前記条件設定情報に対応する格納済みのデータ情報を取得し、前記記憶部内のモジュール管理情報を検索して前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報を取得し、取得したデータ情報に含まれるバージョンの大きさと取得したモジュール管理情報に含まれるバージョンの大きさに基づいて決定した１つのモジュール管理情報からモジュール識別子を抽出する、ことを特徴とする。
【００２９】
つぎの発明にかかるモジュール管理装置は、法規毎に定められた適用期間の異なるモジュールであって、処理しようとするデータである処理対象データを作成または更新する複数のモジュール、を有する業務処理アプリケーションを含む業務処理システムにおけるモジュール管理装置において、処理対象データの種類および処理しようとする期間を表す処理対象期間を含む条件設定情報を取得する処理データ選択部と、データの種類とモジュールの適用期間毎に、前記複数のモジュールを識別するためのモジュール識別子とモジュールのバージョンとが対応付けられて格納されているモジュール管理情報を記憶部から読み出し、読み出したモジュール管理情報から前記条件設定情報に対応するモジュール識別子を抽出するモジュール決定部と、前記抽出されたモジュール識別子に対応するモジュールを記憶部から読み出して、そのモジュールを起動し、起動したモジュールが作成したデータの、種類と処理対象期間とバージョンとを含むデータ情報を、記憶部に格納するモジュール連携部と、を備え、前記モジュール決定部は、処理対象データを新規作成する場合には、記憶部内のモジュール管理情報を検索し、検索結果として前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報があればこのモジュール管理情報からモジュール識別子を抽出し、検索結果として前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報がない場合には、処理対象データの種類と一致するデータの種類を格納するモジュール管理情報を検索し、検索により得られたモジュール管理情報に含まれるバージョンの大きさに基づいて決定した１つのモジュール管理情報からモジュール識別子を抽出し、処理対象データが新規作成でない場合には、前記条件設定情報に対応する格納済みのデータ情報を取得し、前記記憶部内のモジュール管理情報を検索して前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報を取得し、取得したデータ情報に含まれるバージョンの大きさと取得したモジュール管理情報に含まれるバージョンの大きさに基づいて決定した１つのモジュール管理情報からモジュール識別子を抽出する、ことを特徴とする。
【００３０】
つぎの発明にかかるモジュール管理装置は、法規毎に定められた適用期間の異なるモジュールであって、処理しようとするデータである処理対象データを作成または更新する複数のモジュール、を有する業務処理アプリケーションを含む業務処理システムにおけるモジュール管理装置において、処理対象データの種類および処理しようとする期間を表す処理対象期間を含む条件設定情報を取得する処理データ選択部と、データの種類とモジュールの適用期間毎に、前記複数のモジュールを識別するためのモジュール識別子とモジュールのバージョンとが対応付けられて格納されているモジュール管理情報を記憶部から読み出し、読み出したモジュール管理情報から前記条件設定情報に対応するモジュール識別子を抽出する適用期間管理部と、前記抽出されたモジュール識別子に対応するモジュールを記憶部から読み出して、そのモジュールを起動し、起動したモジュールが作成したデータの、種類と処理対象期間とバージョンとを含むデータ情報を、記憶部に格納するモジュール連携部と、を備え、前記適用期間管理部は、処理対象データを新規作成する場合には、記憶部内のモジュール管理情報を検索し、検索結果として前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報があればこのモジュール管理情報からモジュール識別子を抽出し、検索結果として前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報がない場合には、処理対象データの種類と一致するデータの種類を格納するモジュール管理情報を検索し、検索により得られたモジュール管理情報に含まれるバージョンの大きさに基づいて決定した１つのモジュール管理情報からモジュール識別子を抽出し、処理対象データが新規作成でない場合には、前記条件設定情報に対応する格納済みのデータ情報を取得し、前記記憶部内のモジュール管理情報を検索して前記条件設定情報に対応するデータの種類と適用期間とを格納するモジュール管理情報を取得し、取得したデータ情報に含まれるバージョンの大きさと取得したモジュール管理情報に含まれるバージョンの大きさに基づいて決定した１つのモジュール管理情報からモジュール識別子を抽出する、ことを特徴とする。
【００５７】
つぎの発明にかかるモジュール管理プログラムは、請求項１〜１４のいずれか一つに記載のモジュール管理方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【００５８】
本発明にかかるモジュール管理方法、モジュール管理装置、モジュール管理システムおよびモジュール管理プログラムは、適用期間管理テーブルに格納されている適用期間と起動するモジュールの対応に基づいて、入力された対象期間（処理データの対象期間）に対応するモジュールを起動するようにしたので、操作者がバージョンを意識することなく簡易な操作でモジュールを起動でき、かつ、モジュールを肥大化させずに複数のバージョンのモジュールの処理を実現でき、かつ、複数の種類のモジュールで作成されたデータの整合性を正しく保つことができる、という効果を奏する。
【発明を実施するための最良の形態】
【００５９】
以下に、本発明にかかるモジュール管理方法、モジュール管理装置、モジュール管理システムおよびモジュール管理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００６０】
図１は、本発明にかかる実施例１のモジュール管理方法を実現するためのモジュール管理装置としての機能を備え、本発明にかかる実施例のモジュール管理プログラムを実行可能な計算機システムの構成例を示す図である。この計算機システムは、たとえば、制御部１と入力部２と記憶部３と表示部４と通信部５と印刷部６を備え、これらはシステムバス７を介して接続されている。
【００６１】
図１において、制御部１は、本発明にかかるモジュール管理プログラムを実行する。入力部２は、たとえばキーボードやマウスなどで構成され、計算機システムのユーザが、各種情報の入力を行うために使用する。記憶部３は、ＲＡＭ，ＲＯＭなどの各種メモリおよびハードディスクなどのストレージデバイスを含み、上記制御部１が実行すべきプログラム，処理の過程で得られた必要なデータ，などを記憶する。また、記憶部３は、プログラムの一時的な記憶領域としても使用される。表示部４は、ＣＲＴ，ＬＣＤ（液晶表示パネル）などで構成され、計算機システムのユーザに対して各種画面を表示する。
【００６２】
ここで、本発明にかかるモジュール管理プログラムが実行可能な状態になるまでの計算機システムの動作例について説明する。上述した構成をとる計算機システムには、たとえば、ＣＤ−ＲＯＭドライブ（図示せず）にセットされたＣＤ−ＲＯＭから、モジュール管理プログラムが記憶部３にインストールされる。そして、モジュール管理プログラムの実行時に、記憶部３から読み出されたモジュール管理プログラムが記憶部３の所定の場所に格納される。この状態で、制御部１は、記憶部３に格納されたプログラムに従って、モジュール管理処理を実行する。
【００６３】
なお、本実施例においては、ＣＤ−ＲＯＭを記録媒体として、上記モジュール管理処理を記述したプログラムを提供しているが、これに限らず、計算機システムの構成、提供するプログラムの容量などに応じて、たとえば、フロッピー（登録商標）ディスクなどの磁気ディスク，光磁気ディスク，磁気テープなどの記録媒体を用いることも可能である。また、電子メール，インターネットなどの伝送媒体により提供されたプログラムを用いることとしてもよい。
【００６４】
図２は、本実施例のモジュール管理装置の機能構成例を示すブロック図である。モジュール管理処理部１０は、本実施例のモジュール管理装置の制御手段であり制御部１に含まれる。モジュール管理処理部１０は、処理データ選択部１１と、モジュール決定部１２と、更新波及管理部１３と、モジュール連携部１４と、で構成される。また、本実施例のモジュール管理処理部１０は、リレーショナルデータベースを管理するデータベース管理部２０と、入力部２と、記憶部３と、表示部４と、モジュール処理部３０とを用いて動作する。データベース管理部２０としては、たとえば、ＳＱＬ（Structured  Query  Language）サーバ機能など、リレーショナルデータベースの管理を行う計算機システム全体の共通的な機能である。また、処理データ選択部１１，モジュール決定部１２，更新波及管理部１３，モジュール連携部１４は、図１の制御部１に含まれる。
【００６５】
また、制御部１上のモジュール処理部３０は、財務・会計，税務，販売仕入管理，給与管理などのアプリケーションの制御手段である。本実施例のモジュール管理処理部１０は、記憶部３に記憶されている財務・会計，税務，販売仕入管理，給与管理などのアプリケーションの各モジュールのプログラムであるモジュールプログラム群のうち、起動する対象となるモジュールに対応するモジュールプログラムを読み出し、記憶部３の所定の場所に格納する。モジュール処理部３０は、記憶部３の所定の場所に格納されたプログラムにしたがって、処理を実行する。
【００６６】
ここで、本実施例のデータベースについて説明する。本実施例においては、モジュール処理部３０が、財務・会計，税務，販売仕入管理，給与管理などの各アプリケーションの処理を実行して生成したデータを１つのデータベースとしてデータベース管理部２０経由で一元管理する。たとえば、モジュール処理部３０が、申告書作成のアプリケーションを実行した場合には、申告書データが生成される。図２では、アプリケーションで生成されるデータの一例としての申告書データ、アプリケーションで利用・参照する科目マスタ，各種データを記載している。
【００６７】
科目マスタは、科目を管理するためのマスタデータである。図３は、科目マスタの一例を示す図である。図３に示すように、科目マスタには、たとえば、コード（科目コード），科目名，貸借区分，消費税区分などが含まれる。各種データとしては、たとえば、給与データ，会計データ（仕訳データ），会社情報データ，資産データ，販売管理データなどが含まれる。図４は、各種データの一例である給与データの一例を示す図である。図４に示すように、給与データは、たとえば、社員番号，基本給，支給１（１番目の支給項目の支給額），支給２（２番目の支給項目の支給額），控除１（１番目の控除項目の控除額），控除２（２番目の控除項目の控除額）などが含まれる。図３，４は一例であり、データの形式および項目は、これに限らず、アプリケーションが生成するものであればどのようなものでもよい。
【００６８】
また、科目マスタ，申告書データ，各種データは、各々のデータを作成したモジュールが識別できる識別情報（バージョン）と同一の識別情報（バージョン）を有している。また、データベース上には、これらのアプリケーションで作成されたデータ以外に、モジュール管理処理部１０の処理で用いる管理テーブル群も格納されている。
【００６９】
つづいて、本実施例のモジュール管理処理の全体動作手順について説明する。図５は、本実施例のモジュール管理処理の全体動作の手順の一例を示すフローチャートである。本実施例のモジュール管理処理は、操作者が財務・会計，税務，販売仕入管理，給与管理などの処理を行う際に、操作者が入力部２を操作することにより起動される。ここでは、一例として申告書作成処理を行う場合について説明する。まず、処理データ選択部１１が表示部４に、条件設定の入力を促す画面を表示する。
【００７０】
このとき、入力を要求する項目としては、データの種類（法人税申告書，消費税申告書など），区分（確定申告，中間申告など），対象期間（作成するデータの対象期間）を含むこととする。また、既存の作成データの一覧を表示し、操作者がそのなかから編集対象のデータを選択できるようにし、データの種類，区分，対象期間の入力を省略可能としてもよい。
【００７１】
図６は、本実施例のデータ管理テーブルの一例を示す図である。データ管理テーブルは、データベース上の管理テーブル群のうちの１つである。図６に示すように、本実施例のデータ管理テーブルは、データＩＤ（Identifier），データの種類，区分，対象期間，バージョン（Ｖｅｒ）を含む。本実施例では、図６に示すような項目をデータ管理テーブルで管理しており、上述の既存の作成データの一覧の表示では、このデータ管理テーブルからデータの種類，区分の一致するレコードを読み出した結果を表示する。データＩＤは、後述のモジュール処理部３０によってデータが新規に作成されたときに、モジュール連携部１４が割り当てる識別子である。データ管理テーブルの各レコードは、モジュール処理部３０がデータを生成または更新した場合に、モジュール連携部１４がそのデータに関するデータの種類，区分，対象期間をモジュール処理部３０から取得し、そのモジュールのバージョンを追加してデータ管理テーブルに登録する。なお、本実施例では、データＩＤの割り当てとデータ管理テーブルの登録をモジュール連携部１４が行うようにしたが、モジュール処理部３０が、データＩＤの割り当てを行い、バージョンも含めてデータ管理テーブルの登録を行うようにしてもよい。なお、図６の例では種類は１列のみであるが、種類の数が多いような場合は、それらをグループ化した分類を加え、処理データ選択部１１が表示部４へ表示の際に操作者が選びやすい表示にしてもよい。
【００７２】
処理データ選択部１１は、操作者の入力部２の操作によるデータの種類，区分，対象期間を含む条件設定の入力を受付け、入力された条件設定に基づいて、後述のデータ管理テーブルを参照し、既に登録されているデータであるか否かを判断する。既に登録されているデータである場合には、作成区分を「編集」に設定し、登録されていない場合には作成区分を「新規」に設定する。そして、入力された条件設定の情報と作成区分をモジュール決定部１２に出力する（ステップＳ１）。また、この作成区分による指定は、入力部２から指示できるようにしてもよい。
【００７３】
モジュール決定部１２は、条件設定の情報に基づいて起動するモジュールとバージョンを決定し、モジュール連携部１４に起動するモジュールを、処理データの条件設定の情報とともに通知する（ステップＳ２）。ここで、本実施例では、申告書作成処理を実行するためのモジュールはデータの種類ごとに生成されているものとし、データの種類とバージョンが決まると起動するモジュールを決定できるようにしている。モジュール決定の具体的処理については後述する。
【００７４】
そして、モジュール連携部１４は、通知されたモジュールに対応するプログラムを記憶部３のモジュールプログラム群から読み出して記憶部３の所定の場所に格納し、モジュール処理部３０がその格納されたプログラムに従って動作を始める（モジュール起動：ステップＳ３）。
【００７５】
モジュール処理部３０は、過去のデータを参照する場合には、各種データと参照対象のデータをデータベース管理部２０経由で読み出し、両読み出しデータをもとに操作者の入力部２の操作による編集に従って所定の申告書の作成処理を行う（ステップＳ４）。また、過去のデータを参照しない場合には、各種データをデータベース管理部２０経由で読み出し、操作者により入力された情報に従って、所定の申告書の作成処理を行う（ステップＳ４）。そして、モジュール処理部３０は、作成した申告書データをデータベース管理部２０経由でデータベースに格納する（ステップＳ４）。
【００７６】
そして、ステップＳ４で申告書データが更新（作成）された場合には、モジュール処理部３０は更新したデータの種類（たとえば、科目マスタ，申告書データ，会計データなど）とバージョンを更新波及管理部１３に通知し、更新波及管理部１３は関連するデータに申告書データの更新を反映する（ステップＳ５）。そして、本実施例のモジュール管理処理は終了する。関連するデータへの反映処理については後述する。
【００７７】
つづいて、図５のステップＳ２で説明したモジュール決定の処理について説明する。図７は、本実施例のモジュール決定の処理の手順の一例を示すフローチャートである。まず、モジュール決定部１２は、条件設定の情報を取得する（ステップＳ１１）。そして、作成区分に基づいて、処理データが新規作成か否かを判断する（ステップＳ１２）。新規作成であると判断した場合（ステップＳ１２  Ｙｅｓ）には、モジュール管理テーブルを検索し、条件設定の情報に対応するデータの種類と適用期間を持つレコードが存在するか否かを判断する（ステップＳ１３）。図８は、本実施例のモジュール管理テーブルの一例を示す図である。図８に示すように、本実施例のモジュール管理テーブルは、バージョン，データの種類，適用期間，モジュール（モジュール名）が含まれている。モジュール（モジュール名）は、名称や識別子など、起動するモジュールが区別できるような情報であればどのようなものでもよい。
【００７８】
モジュール管理テーブルに、条件設定の情報に対応するデータの種類と適用期間を持つレコードが存在すると判断した場合（ステップＳ１３  Ｙｅｓ）には、モジュール決定部１２は、その対応するレコードに格納されているモジュールを起動するモジュールとして決定し、モジュール連携部１４に決定したモジュールを処理データの条件設定の情報とともに通知する（ステップＳ１４）。
【００７９】
モジュール管理テーブルに、条件設定の情報に対応するデータの種類と適用期間を持つレコードが存在しないと判断した場合（ステップＳ１３  Ｎｏ）には、データの種類が、条件設定の情報のデータの種類と一致するモジュール管理テーブルのレコードのうち、最大のバージョンを持つレコードを検索する。そして、検索したレコードに格納されているモジュールを、起動するモジュールとして決定し、モジュール連携部１４に決定したモジュールを処理データの条件設定の情報とともに通知する（ステップＳ１５）。
【００８０】
一方、ステップＳ１２で、新規作成でないと判断した場合（ステップＳ１２  Ｎｏ）には、モジュール決定部１２は、データ管理テーブルを検索し、条件設定の情報に対応するデータを取得し、データ情報とする。さらに、モジュール管理テーブルを検索し、条件設定の情報に対応するデータの種類と適用期間を持つレコードが存在するか否かを判断する（ステップＳ１６）。モジュール管理テーブルに、条件設定の情報に対応するデータの種類と適用期間を持つレコードが存在すると判断した場合（ステップＳ１６  Ｙｅｓ）には、データ情報のバージョンより、ステップＳ１６で検索したレコードのバージョンの方が大きいか否かを判断する（ステップＳ１７）。
【００８１】
データ情報のバージョンより、ステップＳ１６で検索したレコードのバージョンの方が大きいと判断した場合（ステップＳ１７  Ｙｅｓ）には、モジュール決定部１２は、データとモジュールのバージョンが異なっていても処理してよいか否かの選択を促す画面を表示部４に表示し、操作者の入力部２の操作による入力を受付け、受付けた入力が処理をする指示であるか否かを判断する（ステップＳ１７−１）。そして、処理しない指示であると判断した場合（ステップＳ１７−１  Ｎｏ）には、モジュール決定部１２は、モジュール管理テーブルを検索し、データの種類が条件設定の情報のデータの種類と一致し、かつ、バージョンがデータ情報のバージョンに対応するレコードが存在するか否かを判断する（ステップＳ１８）。
【００８２】
モジュール管理テーブルを検索し、「データの種類が条件設定の情報のデータの種類と一致し、かつ、バージョンがデータ情報のバージョンに対応するレコード」が存在すると判断した場合（ステップＳ１８  Ｙｅｓ）には、そのレコードに格納されているモジュールを、起動するモジュールとして決定し、モジュール連携部１４に決定したモジュールを処理データの条件設定の情報とともに通知する（ステップＳ１９）。
【００８３】
モジュール管理テーブルを検索し、「データの種類が条件設定の情報のデータの種類と一致し、かつ、バージョンがデータ情報のバージョンに対応するレコード」が存在しないと判断した場合（ステップＳ１８  Ｎｏ）には、モジュール決定部１２は、エラーを示す画面を表示部４に表示する（ステップＳ２２）。
【００８４】
一方、ステップＳ１７で、データ情報のバージョンより、ステップＳ１６で検索したレコードのバージョンの方が大きくないと判断した場合（ステップＳ１７  Ｎｏ）には、モジュール決定部１２は、さらに、データ情報のバージョンとステップＳ１６で検索したレコードのバージョンが等しいか否かを判断する（ステップＳ２０）。そして、データ情報のバージョンとステップＳ１６で検索したレコードのバージョンが等しいと判断した場合（ステップＳ２０  Ｙｅｓ）には、そのレコードに格納されているモジュールを起動するモジュールとして決定し、決定したモジュールを処理データの条件設定の情報とともにモジュール連携部１４へ通知する（ステップＳ２１）。
【００８５】
ステップＳ２０で、データ情報のバージョンとステップＳ１６で検索したレコードのバージョンが等しくないと判断した場合（ステップＳ２０  Ｎｏ）には、ステップＳ２２にすすむ。また、ステップＳ１７−１で、受付けた入力が処理する指示であると判断した場合（ステップＳ１７−１  Ｙｅｓ）には、ステップＳ１６で検索したレコードに格納されているモジュールを起動するモジュールとして決定し、決定したモジュールを処理データの条件設定の情報とともにモジュール連携部１４へ通知する（ステップＳ２１）。
【００８６】
つづいて、図５のステップＳ５で実施する関連するデータへの反映処理（更新波及処理）について説明する。本実施例では、モジュール処理により、データベース上のデータが更新された場合に、関連するデータについて波及して更新できるようにするために、更新波及管理テーブルを用いて波及させるべきデータを管理する。図９は、更新波及管理テーブルの一例を示す図である。図９に示すように、本実施例の更新波及管理テーブルは、データの種類，更新バージョン（更新したデータのバージョン），波及先バージョン（更新バージョンのデータを更新した場合に波及させて更新するべきバージョン），波及処理モジュール（更新バージョンから波及先バージョンへの波及処理を行うモジュール名）が含まれる。波及処理モジュールは、他のモジュールと同様に記憶部３のモジュールプログラム群にプログラムが含まれている。
【００８７】
図１０は、本実施例の更新波及処理の手順の一例を示すフローチャートである。図５のステップＳ５で更新波及処理が起動されると、まず、更新波及管理部１３は、データベース管理部２０経由で更新波及管理テーブルを検索し、更新したデータの種類とバージョンがモジュール処理部３０から通知された情報と一致するレコードが存在するか否かを判断する（ステップＳ３１）。更新したデータの種類およびバージョンがモジュール処理部３０から通知された情報と一致するレコードが存在すると判断した場合（ステップＳ３１  Ｙｅｓ）には、更新波及管理部１３は、一致するすべてのレコードの波及処理モジュールを読み出し、起動すべき波及処理モジュールとして選択する（ステップＳ３２）。ただし、既に選択されている波及処理モジュールは除く。
【００８８】
そして、ステップＳ３２で選択した波及処理モジュールのプログラムをモジュールプログラム群から読み出し、波及処理モジュールを起動し、波及処理モジュールが波及処理を行う（ステップＳ３３）。このとき、選択した波及処理モジュールが複数ある場合には、順次この動作を繰り返して、選択したすべての波及処理モジュールの処理を行う。そして、波及処理によって生成されたデータを、新たな更新したデータとし（ステップＳ３４）、ステップＳ３１へ戻り、ステップＳ３１からステップＳ３４の処理を繰り返す。
【００８９】
ステップＳ３１で、更新したデータの種類およびバージョンがモジュール処理部３０から通知された情報と一致するレコードが存在しないと判断した場合（ステップＳ３１  Ｎｏ）には、処理を終了する。
【００９０】
以上の説明では、財務アプリケーションの一例である申告書作成処理について説明したが、財務・会計アプリケーション，申告書作成処理以外の税務アプリケーション，販売仕入管理アプリケーション，給与管理アプリケーションなど他のアプリケーションについて本実施例のデータ管理処理を適用する場合には、ステップＳ１の条件設定の情報を、対象期間以外はそのアプリケーションの処理に必要な入力項目に変更する。さらに、アプリケーションによっては、データで入力された日付を対象期間としてもよいし、実行時の日付を対象期間として用いてもよい。そして、各モジュールの処理をそのアプリケーションの処理に変更し、各データをそのアプリケーションで使用するデータに変更すればよい。他のアプリケーションについても、入力された対象期間と各モジュールの適用期間（モジュール管理テーブル）を比較することにより、申告書作成処理と同様に、起動するモジュールのバージョンを自動で決定することができる。
【００９１】
このように、本実施例では、モジュール管理テーブルに格納されている適用期間と起動するモジュールの対応に基づいて、入力された対象期間（処理データの対象期間）に対応するモジュールを起動するようにした。このため、操作者がバージョンを意識することなく簡易な操作でモジュールを起動できる。また、モジュールを肥大化させずに複数のバージョンのモジュールの処理を実現できる。
【実施例２】
【００９２】
図１１は、本発明にかかる実施例２のモジュール管理装置の機能構成例を示すブロック図である。本実施例のモジュール管理処理部１０ａは、本実施例のモジュール管理装置の制御手段であり制御部１に含まれる。本実施例のモジュール管理装置が動作する計算機システムの構成例は、実施例１で説明した図１と同様である。本実施例のモジュール管理処理部１０ａは、実施例１のモジュール管理処理部１０に、データ情報取得処理部１５，適用期間管理部１６，コンバート管理部１７を追加し、実施例１のモジュール管理処理部１０のモジュール決定部１２を削除しているが、それ以外は実施例１のモジュール管理処理部１０と同様である。また、本実施例のモジュール管理処理部１０ａは、実施例１と同様に、データベース管理部２０と、入力部２と、記憶部３と、表示部４と、モジュール処理部３０とを用いて動作する。実施例１と同様の機能を有する構成要素は同一の符号を付して説明を省略する。また、データ情報取得処理部１５，適用期間管理部１６，コンバート管理部１７は、図１の制御部１に含まれる。
【００９３】
また、本実施例のモジュール処理部３０についても実施例１と同様であり、財務・会計，税務，販売仕入管理，給与管理などのアプリケーションの制御手段である。また、本実施例の記憶部３のデータベースについても、実施例１と同様である。
【００９４】
つづいて、本実施例のモジュール管理処理の全体動作手順について説明する。図１２は、本実施例のモジュール管理処理の全体動作の手順の一例を示すフローチャートである。本実施例のモジュール管理処理は、実施例１と同様、操作者が財務・会計，税務，販売仕入管理，給与管理などの処理を行う際に、操作者が入力部２を操作することにより起動される。ここでは、一例として申告書作成処理を行う場合について説明する。まず、処理データ選択部１１が表示部４に、条件設定の入力を促す画面を表示する。
【００９５】
このとき、入力を要求する項目としては、データの種類（法人税申告書，消費税申告書など），区分（確定申告，中間申告など），対象期間（作成するデータの対象期間）を含むこととする。また、既存の作成データの一覧を表示し、操作者がそのなかから編集対象のデータを選択できるようにし、データの種類，区分，対象期間の入力を省略可能としてもよい。
【００９６】
処理データ選択部１１は、操作者の入力部２の操作によるデータの種類，区分，対象期間を含む条件設定の入力を受付け、実施例１のステップＳ１と同様に条件設定に基づいて作成区分を設定し、条件設定の情報と作成区分をデータ情報取得処理部１５に出力する（ステップＳ１ａ）。そして、データ情報取得処理部１５は、処理データについてのデータ情報の取得を適用期間管理部１６に依頼する。適用期間管理部１６は、必要な場合には、使用する各種データのコンバート処理をコンバート管理部１７へ依頼する（ステップＳ６）。データ情報取得の具体的処理については、後述する。
【００９７】
適用期間管理部１６は、適用期間管理処理により、条件設定の情報とデータ情報に基づいて起動するモジュールとバージョンを決定し、データ情報取得処理部１５へ通知し、データ情報取得処理部１５は、起動するモジュールを、処理データの条件設定の情報とともにモジュール連携部１４へ通知する（ステップＳ２ａ）。ここで、本実施例では、申告書作成処理を実行するためのモジュールは、実施例１と同様に、データの種類ごとに生成されているものとする。ステップＳ２ａの適用期間管理部１６の具体的処理については後述する。
【００９８】
そして、モジュール連携部１４は、実施例１のステップＳ３と同様に、通知されたモジュールに対応するプログラムを記憶部３のモジュールプログラム群から読み出して記憶部３の所定の場所に格納し、モジュール処理部３０がその格納されたプログラムに従って動作を始める（ステップＳ３）。そして、モジュール処理部３０は、その申告書作成に使用する各種データ（たとえば、科目マスタ，会計データなど）の種類を指定し、そのデータのデータ情報を取得する(ステップＳ７)。このとき、処理データが新規作成の場合でも、作成済みのデータを参照して作成する場合には、操作者の入力部２の操作によって受付けた参照対象のデータについてもデータ情報を取得する。さらに、特定のバージョンのデータのみを参照する場合には、データ情報取得処理部１５にそのバージョンを渡すことにより、バージョン固定で情報を取得することができるようにしている。なお、バージョン固定で情報を取得するか否かは、データの種類ごとにあらかじめ定められており、モジュール処理部３０がその情報を保持しているものとする。
【００９９】
以下、使用する各種データと参照対象のデータをあわせて、参照するデータとよぶこととする。ステップＳ７では、具体的には、モジュール処理部３０は、作成区分を「参照」に設定して、作成区分とともに、参照するデータの、データの種類，区分，対象期間、バージョン固定である場合にはそのバージョンをデータ情報取得処理部１５へ出力し、参照するデータのデータ情報を取得する。データ情報の取得処理については後述する。なお、ステップＳ７では、バージョン固定するか否かを選択してデータ情報の取得を行うが、ステップＳ６でデータ情報の取得を行う場合には、バージョンを固定することは無いため、ステップＳ６で、データ情報を取得する場合には、データ情報取得処理部１５へ出力するバージョンの欄は不要である（空欄となる）。
【０１００】
モジュール処理部３０は、過去のデータを参照する場合には、ステップＳ７で取得したデータ情報に基づいて、参照するデータをデータベース管理部２０経由で読み出し、参照するデータをもとに操作者の入力部２の操作による編集に従って所定の申告書の作成処理を行う（ステップＳ４ａ）。また、過去のデータを参照しない場合には、各種データをデータベース管理部２０経由で読み出し、操作者により入力された情報に従って、所定の申告書の作成処理を行う（ステップＳ４ａ）。そして、モジュール処理部３０は、作成した申告書データをデータベース管理部２０経由でデータベースに格納する（ステップＳ４ａ）。
【０１０１】
そして、ステップＳ４ａで申告書データが更新（作成）された場合には、モジュール処理部３０は更新したデータの種類（たとえば、科目マスタ，申告書データ，会計データなど）とバージョンを更新波及管理部１３に通知し、更新波及管理部１３は関連するデータへ更新を反映する（ステップＳ５）。ステップＳ５の更新の反映処理については、実施例１のステップＳ５と同様である。そして、本実施例のモジュール管理処理は終了する。
【０１０２】
つづいて、図１２のステップＳ６で説明した、処理データのデータ情報取得処理について説明する。図１３は、データ情報取得処理の処理手順の一例を示すフローチャートである。データ情報取得処理は、ステップＳ６の処理データの情報取得と、ステップＳ７の各モジュールが参照するデータのデータ情報取得の２つの場面で行われる。ステップＳ６とステップＳ７では、作成区分（新規、編集、参照）を、データ情報取得処理部１５に渡すことにより、データ情報取得処理部１５がどちらの処理を行うかを判断できるようにしている。
【０１０３】
データ情報取得処理部１５は、ステップＳ６またはステップＳ７で、作成区分とデータの種類，区分，対象期間，指定バージョン（バージョン固定である場合には固定するバージョン、バージョン固定でない場合には空欄）を受け取ると、作成区分に基づいて処理データの情報取得（作成区分が新規または編集）であるか否かを判断する（ステップＳ４１）。処理データの情報取得である場合（ステップＳ４１  Ｙｅｓ）、データ情報取得処理部１５は、適用期間管理部１６へ、処理データの、データの種類，区分，対象期間，作成区分を渡して、適用期間管理処理の起動を依頼する（ステップＳ４２）。適用期間管理部１６の処理については後述するが、データ（この場合は処理データ）の条件に適合するバージョン情報を取得するための処理である。
【０１０４】
適用期間管理部１６の適用期間管理処理によってバージョン情報（処理データが処理されるべきバージョンの情報）が得られた場合（ステップＳ４２  バージョン情報取得）には、データ情報取得処理部１５は、モジュール連携部１４へそのバージョン情報に対応するモジュールの起動依頼を行う（ステップＳ４３）。データ情報取得処理部１５は、そのバージョン情報をデータ情報としてモジュール処理部３０へ通知する（ステップＳ５１）。ステップＳ４２で、バージョン情報が得られなかった場合（ステップＳ４２  対象なし）には、起動するモジュールを選択することができずモジュールの起動ができないため、モジュール管理処理を終了する（ステップＳ４４）。
【０１０５】
一方、ステップＳ４１で、処理データの情報取得でない（作成区分が参照）と判断した場合（ステップＳ４１  Ｎｏ）には、データ情報取得処理部１５は、さらに、バージョンを固定したデータ取得である（指定バージョンが空欄でない）か否かを判断する（ステップＳ４５）。バージョンを固定したデータ取得でないと判断した場合（ステップＳ４５  Ｎｏ）には、データ情報取得処理部１５は、データベース管理部２０経由でデータ管理テーブルのなかから、受け取ったデータの種類，区分，対象期間に対応するデータを検索する（ステップＳ４６）。
【０１０６】
検索の結果、該当するデータがある場合（ステップＳ４６  該当あり）には、その検索したレコードを読み出し、期間の概念のないデータ（たとえば、科目マスタ）については対象期間として受け取った対象期間を設定する（ステップＳ４７）。そして、読み出した情報（データの種類，区分，対象期間，バージョン）と作成区分を適用期間管理部１６へ渡して、その参照するデータに対応する適用期間管理処理を依頼し、処理結果を取得する（ステップＳ４８）。適用期間管理処理によりバージョン情報が得られた場合（ステップＳ４８  バージョン情報取得）には、ステップＳ５１にすすみ、バージョン情報をモジュール処理部３０へ通知する。
【０１０７】
ステップＳ４８でバージョン情報が得られなかった場合（ステップＳ４８  対象なし）
には、参照するデータの情報が得られないことをモジュール処理部３０へ通知してデータ情報取得処理を終了する（ステップＳ５０）。
【０１０８】
また、ステップＳ４５で、バージョンを固定したデータ取得であると判断した場合（ステップＳ４５  Ｙｅｓ）には、指定されたバージョンと、参照するデータの、データの種類，区分，対象期間をコンバート管理部１７へ渡し、データ管理処理を依頼する（ステップＳ４９）。データ管理処理については、後述する。
【０１０９】
ステップＳ４９のデータ管理処理により、参照するデータの情報が取得できた場合（ステップＳ４９  情報取得）には、ステップＳ５１へすすみ、そのデータの情報をモジュール処理部３０へ通知してデータ情報取得処理を終了する（ステップＳ５１）。ステップＳ４９で、参照するデータの情報が取得できなかった場合（ステップＳ４９  対象なし）には、ステップＳ５０にすすむ。
【０１１０】
つづいて、図１３のステップＳ４２，ステップＳ４８で述べた適用期間管理処理（図１２のステップＳ２ａで述べた適用期間管理部１６の処理に相当）について説明する。図１４は、本実施例の適用期間管理処理の手順の一例を示すフローチャートである。まず、適用期間管理部１６は、作成区分に基づいて新規データに関する適用期間管理処理作成であるか否かを判断する（ステップＳ６１）。
【０１１１】
作成区分が新規であると判断した場合（ステップＳ６１  Ｙｅｓ）には、適用期間管理部１６は、指定されたデータ情報（適用期間管理部１６へ入力された条件設定の情報）に対応するデータの種類および適用期間を持つレコードが適用期間管理テーブルに存在するか否かを判断する（ステップＳ６２）。図１５は、本実施例の適用期間管理テーブルの一例を示す図である。図１５に示すように、本実施例の適用期間管理テーブルは、バージョン（Version）と、データの種類，適用期間（処理対象期間の終了日を範囲で示す），モジュール（モジュール名）が含まれている。モジュール（モジュール名）は、名称や識別子など、起動するモジュールが区別できるような情報であればどのようなものでもよい。図１５では、備考欄も含んでいるが、備考の欄は必須ではない。
【０１１２】
指定されたデータ情報に対応するデータの種類および適用期間を持つレコードが適用期間管理テーブルに存在すると判断した場合（ステップＳ６２  Ｙｅｓ）には、適用期間管理部１６は、その適用期間レコードの情報をデータ情報取得処理部１５へ通知する（ステップＳ６３）。このとき、対応するレコードが複数存在した場合には、最大のバージョンを通知するようにしてもよいし、または、その複数のレコードの情報を表示部４に表示して、操作者が選択するようにしてもよい。
【０１１３】
指定されたデータ情報に対応するデータの種類および適用期間を持つレコードが適用期間管理テーブルに存在しないと判断した場合（ステップＳ６２  Ｎｏ）には、適用期間管理部１６は、適用期間管理テーブルのレコードのうち、指定されたデータの種類に対応する最大のバージョンを持つレコードの情報をデータ情報取得処理部１５へ通知する（ステップＳ６４）。
【０１１４】
ステップＳ６１で、作成区分が新規でないと判断した場合（ステップＳ６１  Ｎｏ）には、適用期間管理部１６は、指定されたデータ情報（データの種類、区分、対象期間）に対応するデータの種類および適用期間を持つレコードが適用期間管理テーブルに存在するか否かを判断する（ステップＳ６５）。指定されたデータ情報に対応するデータの種類および適用期間を持つレコードが適用期間管理テーブルに存在すると判断した場合（ステップＳ６５  Ｙｅｓ）には、適用期間管理部１６は、指定されたデータ情報のバージョンより、適用期間管理テーブルの対応するレコードのバージョンの方が大きいか否かを判断する（ステップＳ６６）。
【０１１５】
指定されたデータ情報のバージョンより、適用期間管理テーブルの対応するレコードのバージョンの方が大きいと判断した場合（ステップＳ６６  Ｙｅｓ）には、適用期間管理部１６は、コンバート管理部１７へ、指定されたデータ情報と、適用期間管理テーブルの対応するレコードのバージョンと、を通知して、データ管理処理をコンバート管理部１７へ依頼し、処理結果を受け取る（ステップＳ６７）。コンバート管理部１７のデータ管理処理結果が、対象データなしの結果であった場合（ステップＳ６７  対象データなし）には、適用期間管理部１６は、指定されたデータ情報のデータの種類，バージョンに対応するレコードが適用期間管理テーブルに存在するか否かを判断する（ステップＳ６８）。
【０１１６】
指定されたデータ情報のデータの種類，バージョンに対応するレコードが適用期間管理テーブルに存在すると判断した場合（ステップＳ６８  Ｙｅｓ）には、適用期間管理部１６は、その対応するレコードの情報をバージョン情報としてデータ情報取得処理部１５へ通知し適用期間管理処理を終了する（ステップＳ６９）。指定されたデータ情報のデータの種類，バージョンに対応するレコードが適用期間管理テーブルに存在しないと判断した場合（ステップＳ６８  Ｎｏ）には、適用期間管理部１６は、対象の適用期間情報がない旨をデータ情報取得処理部１５へ通知し適用期間管理処理を終了する（ステップＳ７０）。
【０１１７】
また、ステップＳ６５で、指定されたデータ情報に対応するデータの種類および適用期間を持つレコードが適用期間管理テーブルに存在しない場合（ステップＳ６５  Ｎｏ）には、ステップＳ６８にすすむ。
【０１１８】
また、ステップＳ６６で、指定されたデータ情報のバージョンより適用期間管理テーブルの対応するレコードのバージョンの方が大きくないと判断した場合（ステップＳ６６  Ｎｏ）には、適用期間管理部１６は、指定されたデータ情報のバージョンが、適用期間管理テーブルの対応するレコードのバージョンに等しいか否かをさらに判断する（ステップＳ７１）。指定されたデータ情報のバージョンが適用期間管理テーブルの対応するレコードのバージョンと等しいと判断した場合（ステップＳ７１  Ｙｅｓ）には、適用期間管理テーブルのなかから、指定されたデータ情報のデータの種類と対象期間に対応するレコードを検索して、検索したレコードの情報をバージョン情報としてデータ情報取得処理部１５へ通知し適用期間管理処理を終了する（ステップＳ７２）。
【０１１９】
指定されたデータ情報のバージョンが適用期間管理テーブルの対応するレコードのバージョンと等しくないと判断した場合（ステップＳ７１  Ｎｏ）には、対象の適用期間情報がない旨をデータ情報取得処理部１５へ通知し適用期間管理処理を終了する（ステップＳ７３）。また、ステップＳ６７でデータ管理処理の結果が得られた場合には、適用期間管理部１６は、得られた処理結果をバージョン情報としてデータ情報取得処理部１５へ通知し適用期間管理処理を終了する（ステップＳ７２）。
【０１２０】
つづいて、本実施例のデータ管理処理について説明する。図１６は、本実施例のデータ管理処理の手順の一例を示すフローチャートである。データ管理処理は、図１３のステップＳ４９，図１４のステップＳ６７で実行される処理であり、データ管理処理の対象となるデータに関する情報を出力し、データのコンバートが必要な場合にはデータを新しいバージョンにコンバートしてそのコンバートしたデータに対する情報を出力する処理である。まず、コンバート管理部１７は、データベース管理部２０経由で、データ管理テーブルを検索し、データ情報取得処理部１５または適用期間管理部１６から通知されたデータの種類，区分，対象期間，バージョンと一致するデータが存在するか否かを判断する（ステップＳ８１）。検索の結果、一致するデータが得られた場合（ステップＳ８１  Ｙｅｓ）には、そのデータに関するデータ管理テーブルの情報をデータ情報取得処理部１５または適用期間管理部１６へ通知する（ステップＳ４９の実行の場合にはデータ情報取得処理部１５へ、ステップＳ６７の実行の場合には適用期間管理部１６へ、それぞれ通知する：ステップＳ８２）。
【０１２１】
ステップＳ８１の検索の結果一致するデータが得らなかった場合（ステップＳ８１  Ｎｏ）には、コンバート管理部１７は、バージョン固定で処理を行うか否かを判断する（ステップＳ８３）。具体的には、図１３のステップＳ４９で実行された場合にはバージョン固定で処理を行うと判断する。また、図１４のステップＳ６７で実行された場合には、バージョン固定で処理を行わないと判断する。
【０１２２】
ステップＳ８３で、バージョン固定で処理を行わないと判断した場合（ステップＳ８３  Ｎｏ）には、データベース管理部２０経由でデータ管理テーブルを検索して、通知されたデータの種類，区分，対象期間と一致するデータで、バージョンが古いデータがあるか否かを判断する（ステップＳ８４）。そして、古いバージョンのデータがあると判断した場合（ステップＳ８４  Ｙｅｓ）には、その古いバージョンから通知されたバージョンにいたるまでの変換ステップをコンバート管理テーブルから検索する（ステップＳ８５）。
【０１２３】
図１７は、本実施例のコンバート管理テーブルの一例を示す図である。図１７に示すように、本実施例のコンバート管理テーブルは、種類（＝データの種類），変換元バージョン（Ｖｅｒｓｉｏｎ），変換先バージョン，方式（変換を自動で行うか、操作者の指示があった場合に行うか），変換モジュール（変換を行うためのモジュール）の項目を含んでいる。なお、方式の項目については、常に自動で変換を行ってよい場合、または、常に操作者からの指示を求める場合、にはコンバート管理テーブルに含めなくてよい。また、たとえば、メジャーなバージョンの違いの場合には自動でコンバートし、マイナーなバージョンの違いではコンバートしない、というように規則を決めておき、その規則を参照してコンバートを行うか否かを判断するようにしてもよい。また、図１７では、変換元バージョンと変換先バージョンが連続する場合について示しているが、連続する場合だけでなく、たとえば、バージョン１からバージョン４への変換のように、連続しないバージョンの変換をコンバート管理テーブルに含めるようにしてもよい。変換モジュールは、他のモジュールを同様にモジュールプログラム群として記憶部３に格納されている。
【０１２４】
ステップＳ８５では、ステップＳ８４で検索した古いバージョンから通知されたバージョンまでの変換ステップがあるかを、コンバート管理テーブルで検索する（ステップＳ８５）。そして、ステップＳ８４で検索した古いバージョンから通知されたバージョンまでの変換が可能か否かを判断する（ステップＳ８６）。具体的には、データの種類，変換元バージョン，変換先バージョンが、通知された種類（＝データの種類），ステップＳ８４で検索した古いバージョン，通知されたバージョンにそれぞれ一致するレコードがあれば、そのレコードの変換モジュールがそのまま変換ステップとなり、変換可能である。種類，変換元バージョン，変換先バージョンが、通知された種類，ステップＳ８４で検索した古いバージョン，通知されたバージョンにすべて一致するものが無い場合には、段階的に変換を行うことで所望する変換が可能か否かを判断する。
【０１２５】
たとえば、古いバージョンがバージョン１で、通知されたバージョンがバージョン３であったとする。このとき、種類が、通知された種類に一致するレコードに、バージョン１からバージョン２への変換とバージョン２からバージョン３への変換のレコードがあれば、２つのステップに分けて実行することにより変換が可能であるため、この２つのステップが変換ステップとなる。 
【０１２６】
つぎに、コンバート管理部１７は、検索した変換ステップに対応するコンバート管理テーブルの方式を参照し、方式が「指示」である変換ステップが存在するか否かを判断する（ステップＳ８７）。方式が「指示」である変換ステップが存在すると判断した場合（ステップＳ８７  Ｙｅｓ）には、コンバート管理部１７は、コンバート処理を行うか否かの選択を促す画面を表示部４に表示して、操作者の入力部２の操作による入力を受付ける（ステップＳ８８）。そして、コンバート管理部１７は、コンバート処理を行う指示が入力されたか否かを判断する（ステップＳ８９）。
【０１２７】
コンバート処理を行う指示が入力されたと判断した場合（ステップＳ８９  Ｙｅｓ）には、ステップＳ８５で検索した変換ステップにしたがって、モジュール連携部１４に順次コンバート処理の起動を依頼し、コンバート処理後に作成されたデータをデータ管理テーブルに登録する（ステップＳ９０）。そして、データ管理テーブルに登録した情報をデータ情報取得処理部１５または適用期間管理部１６へ通知する（ステップＳ４９の実行の場合にはデータ情報取得処理部１５へ、ステップＳ６７の実行の場合には適用期間管理部１６へ、それぞれ通知する：ステップＳ８２）。
【０１２８】
ステップＳ８７で、方式が「指示」である変換ステップが存在しないと判断した場合（ステップＳ８７  Ｎｏ）には、ステップＳ９０にすすむ。また、ステップＳ８３で、図１３のステップＳ４９で実行された（バージョン固定で処理を行う）場合（ステップＳ８３  Ｙｅｓ）には、対象データが存在しない旨をデータ情報取得処理部１５へ通知する（ステップＳ９１）。
【０１２９】
また、ステップＳ８４で古いバージョンのデータがないと判断した場合（ステップＳ８４  Ｎｏ），ステップＳ８６で古いバージョンから通知されたバージョンまで変換が可能でないと判断した場合（ステップＳ８６  Ｎｏ），ステップＳ８９でコンバート処理を行わないという指示が入力されたと判断した場合（ステップＳ８９  Ｎｏ）には、ステップＳ９１へ進み、対象データが存在しない旨をデータ情報取得処理部１５または適用期間管理部１６へ通知する（ステップＳ４９の実行の場合にはデータ情報取得処理部１５へ、ステップＳ６７の実行の場合には適用期間管理部１６へ、それぞれ通知する）。
【０１３０】
以上の説明では、申告書作成処理について説明したが、財務・会計アプリケーション，申告書作成処理以外の税務アプリケーション，販売仕入管理アプリケーション，給与管理アプリケーションなど、本実施例のデータ管理処理を適用する場合には、ステップＳ１ａの条件設定の情報を、対象期間以外はそのアプリケーションの処理に必要な入力項目に変更する。さらに、アプリケーションによっては、データで入力された日付を対象期間としてもよいし、実行時の日付を対象期間として用いてもよい。そして、各モジュールの処理をそのアプリケーションの処理に変更し、各データをそのアプリケーションで使用するデータに変更すればよい。他のアプリケーションについても、入力された対象期間と各モジュールの適用期間（適用期間管理テーブル）を比較することにより、申告書作成処理と同様に、起動するモジュールのバージョンを自動で決定することができる。また、参照するデータ、編集対象のデータのバージョンと適用期間を比較することにより、コンバート処理についても同様に行うことができる。
【０１３１】
このように、本実施例では、適用期間管理テーブルに格納されている適用期間と起動するモジュールの対応に基づいて、入力された対象期間（処理データの対象期間）に対応するモジュールを起動するようにした。また、作成済みのデータを読み出して処理を行う場合には、読み出すデータを適用期間管理テーブルに対応するバージョンに自動でコンバートできるようにした。このため、操作者がバージョンを意識することなく簡易な操作でモジュールを起動できる。また、モジュールを肥大化させずに複数のバージョンのモジュールの処理を実現でき、かつ、複数の種類のモジュールで作成されたデータの整合性を正しく保つことができる。
【実施例３】
【０１３２】
図１８は、本発明にかかる実施例３の適用期間管理テーブルの一例を示す図である。本実施例のモジュール管理装置の構成は、実施例１と同様である。実施例１および実施例２では、適用期間管理テーブルの適用期間として、対象期間の終了日のみを管理するようにしたが、本実施例では、図１８に示すように対象期間の開始側と終了側の両方を管理できるようにしている。
【０１３３】
法規等が実際に適用となる対象事業年度は、たとえば、「ＸＸ年ＸＸ月ＸＸ日以後終了事業年度より適用」だけではなく、「ＸＸ年ＸＸ月ＸＸ日以後開始事業年度より適用」または「ＸＸ年ＸＸ月ＸＸ日を含む事業年度に適用」など、様々なケースがある。また、事業年度についても通常は１年であるが、決算日の変更等で１年未満になるケースもある。実施例１では、代表的な例として、「ＸＸ年ＸＸ月ＸＸ日以後終了事業年度より適用」という定義に対応できるようにしたが、本実施例では、適用期間の開始側と終了側を個別に管理することにより、様々なケースに柔軟に対応できるようにしている。
【０１３４】
図１９は、適用期間管理テーブルの別の一例を示す図である。図１８では、たとえば、１８．５．１以後開始という要求に対応している例である。図１８のバージョン１の適用期間（開始側）は、１８．４．３０までとなっており、バージョン２の適用期間（開始側）は、１８．５．１から開始されており、２行目のバージョン２がこの要求に対応している。一方、図１９は、１８．５．１を含む年度に適用を要求された法規がある場合に対応するもので、一行目のバージョン１が、開始側、終了側ともに１８．５．１を含むように管理されている。このように、開始側と終了側を個別に管理するように、様々な適用期間の要求に対応できる。適用期間管理テーブルを参照した処理を行う場合には、処理対象データの開始年月日が開始側適用期間内で、かつ終了年月日が終了側適用期間内の場合に適用期間内と判定する。なお、モジュール管理テーブルの適用期間についても同様に開始側、終了側の両方を管理する。
【０１３５】
なお、この例では開始側と終了側の適用期間を同一のテーブルに列を分けて格納したが、開始側と終了側を別のテーブルに格納する、または、文字列として一つの列で管理するなど管理方法はこれに限らず、開始側と終了側の適用期間を管理できるようなものであればどのような方法でもよい。
【０１３６】
また、法規等の適用に経過措置等が設けられることがある。経過措置が設けられると、本来の適用期間よりも前から適用できる(以降、早期適用という)場合、または、本来の適用期間が終了したあとも引き続き適用することができる（以降、延長適用という）場合がある。図２０は、このような経過措置に対応した適用期間管理テーブルの一例を示す図である。図２０に示すように、適用期間（終了側）以外に、早期適用期間と延長適用期間を合わせて管理することにより、経過措置等が設けられている場合にも対応できる。図２０の例では、平成１８年度分は本来平成１９年３月３１日終了分までが適用期間であるが、平成１９年４月終了事業年度分まで延長適用が可能である。また、平成１９年度分は本来平成１９年４月１日終了分以降が適用期間であるところを、平成１９年３月終了事業年度分から早期適用が可能である。
【０１３７】
また、図２０の例を、図１８，図１９と同様に、さらに開始側と終了側を個別に管理するようにしてもよい。図２１は、経過措置に対応した開始側と終了側を個別に管理する適用期間管理テーブルの一例を示す図である。
【０１３８】
このように、早期適用や延長適用を考慮に入れた場合、ある期間のデータを作成する際に適用可能なモジュールが複数存在することがあり得る。このような場合には、実施例１で説明したモジュール決定および適用期間管理処理で、適用期間管理テーブルまたはモジュール管理テーブルの適用期間を検索する際に、操作者が使用するモジュールを選択できるようにすればよい。図２２は、適用可能なモジュールが複数存在する場合に、表示部４に表示するモジュールの選択画面の例である。モジュール決定処理の場合には、モジュール決定部１２が、適用期間管理処理の場合には適用期間管理部１６が、この画面を表示し、操作者の入力部２の操作による選択を受け付けて以降の処理を行う。図２２の例では、平成１９年度の正規の適用期間のモジュールと早期適用のモジュールの２つが対応した場合を示しており、ここでは、選択されたモジュールを黒丸と斜線で示しており、操作者が入力部２の操作により平成１９年度の正規の適用期間のモジュールを選択した例である。
【０１３９】
一方、一旦、早期適用によって申告した後に、以前の正規の適用期間の法規に戻して申告すること、または、逆に延長適用を終了して新しい法規に従って申告した後に古い法規の延長適用を利用して申告することは、原則できない。したがって、既存のデータを参照する際、参照データ管理テーブルに参照したデータのＩＤ（Indetifier）を登録していくこととする。参照データ管理テーブルは、データベース上の管理テーブル群のうちの１つである。図２３は、参照データ管理テーブルの一例を示す図である。このように、あるデータを作成する際に既存のデータを参照した場合には、参照先データＩＤに参照したデータのＩＤを登録し、参照元データにその作成対象のデータのＩＤを登録しておく。
【０１４０】
なお、データＩＤは個々の登録データに対して一意に割当てられる値であり、データを新規に作成する際に割当てられてデータ管理テーブルで管理される値である。本実施例では、あるデータを作成する処理のために、参照するデータを読み出すために、データ管理テーブルから読み出すデータとデータの種類および適用期間が一致するレコードを検索する際に、この参照データ管理テーブルを利用して参照するデータのバージョンに制約を設ける。このように、参照するデータに制約を設けることにより、誤って古い法規を適用してしまうことを防ぐ。
【０１４１】
図２４は、バージョンの制約処理の手順の一例を示すフローチャートである。データ情報取得処理部１５は、データ情報取得処理のステップＳ４１の前に、このバージョンの制約処理を実施する。バージョンの制約処理は、これに限らず、参照するデータまたは編集対象のデータの情報の取得の前であれば、どのタイミングで行ってもよい。
【０１４２】
まず、データ情報取得処理部１５は、データベース管理部２０経由で、データ管理テーブルを検索し、処理データとデータの種類が同一で、対象期間が古いデータのデータＩＤを抽出する（ステップＳ１０１）。該当するデータＩＤが抽出された場合（ステップＳ１０１  該当あり）には、参照データ管理テーブルを検索し、ステップＳ１０１で抽出したデータＩＤが参照元データＩＤに一致するレコードを検索し、検索された場合には、そのレコードを抽出する（ステップＳ１０２）。
【０１４３】
次に、データ情報取得処理部１５は、データベース管理部２０経由で、データ管理テーブルを検索し、参照するデータとデータの種類が同一であるデータのデータＩＤを抽出する（ステップＳ１０３）。該当するデータＩＤが抽出された場合（ステップＳ１０３  該当あり）には、ステップＳ１０２で抽出したレコードのうち、ステップＳ１０３で抽出されたデータＩＤに一致する参照先データＩＤを抽出する（ステップＳ１０４）。
【０１４４】
ステップＳ１０４で、参照先データＩＤが抽出された場合（ステップＳ１０４  該当あり）には、データ管理テーブルを検索し、抽出された参照先データＩＤに対応するデータのうち最大のバージョンを取得する（ステップＳ１０５）。そして、取得したバージョン以降に読み出しの制限を設定する（ステップＳ１０６）。読み出しの制限情報は、たとえば、読み出し制限の情報を記憶部３に記憶しておき、データ情報取得処理において、参照するデータのデータ情報を取得する際に、その読み出し制限の情報を参照するようにし、制限があるデータは参照するデータの情報として取得しないようにする。
【０１４５】
ステップＳ１０１で、処理データとデータの種類が同一で、対象期間が古いデータを抽出できなかった場合（ステップＳ１０１  該当なし）には、バージョンの制限はせずに処理を終了する（ステップＳ１０７）。また、ステップＳ１０２で、参照元ＩＤを持つレコードが抽出されなかった場合（ステップＳ１０２  該当なし）、ステップＳ１０３でデータＩＤが抽出されなかった場合（ステップＳ１０３  該当なし）、ステップＳ１０４で参照先データＩＤが抽出されなかった場合（ステップＳ１０４  該当なし）にも、それぞれ同様にステップＳ１０７にすすむ。本実施例のこれ以外の動作は、実施例１または実施例２と同様である。
【０１４６】
また、バージョンを制約してしまうと、シミュレーション的に作成してみることもできなくなってしまうため、自動的に制約をするのではなく、警告メッセージの表示を行う方法としてもよい。
【０１４７】
このように、本実施例では、適用期間の開始側と終了側の両方を個別に設定できるようにし、経過措置を考慮した適用期間の設定ができるようにした。このため、経過措置を反映した業務処理を行うことができる。また、本実施例では、さらに、参照するデータのバージョンに制約をつけられるようにした。このため、誤って古い法規を適用してしまうことを防ぐことができる。
【実施例４】
【０１４８】
図２５は、本実施例のモジュール管理装置の機能構成例を示すブロック図である。実施例１では、１台の計算機システムがモジュール管理処理を実施するようにしたが、本実施例では、クライアントとサーバのシステムでモジュール管理処理を実施する。クライアントの計算機システムは図１の構成と同様である。サーバの計算機システムは、図１の制御部１，記憶部３，通信部５とそれぞれ同様の機能を有する制御部１ａ，記憶部３ａ，通信部５ａを備えている。
【０１４９】
本実施例では、データベースをサーバが備えることとし、実施例１のデータベース管理部２０の替りに、サーバがデータベース管理部２０ａを備える。クライアントは、実施例１の制御部１からデータベース管理部２０を削除し、記憶部３からデータベースを削除する以外は、実施例１の計算機システムと同様である。
【０１５０】
本実施例では、実施例１で、データベース管理部２０経由で行った処理を、通信部５，サーバの通信部５ａ，データベース管理部２０ａ経由で行うようにするが、それ以外の動作は実施例１と同様である。
【０１５１】
また、図２５では、クライアントとサーバが１台ずつ記載しているが、これに限らず、クライアントを複数にしたシステムとしてもよい。図２６は、クライアントを複数とした場合のシステムの構成例を示す図である。図２６に示すように、サーバ４１とクライアント４２−１〜４２−３およびクライアント４３−１，４３−２は、ＬＡＮ（Local  Area  Network）５０およびインターネット６０を介して接続されている。クライアント４２−１〜４２−３およびクライアント４３−１，４３−２は、それぞれ図２５で示したクライアントと同様の構成とする。サーバ４１は、図２５に示したサーバと同様の構成とする。そして、各クライアントからモジュール管理処理が実行可能とする。
【０１５２】
また、サーバについても、分散サーバの構成としてもよい。図２７は、分散サーバとした場合のシステムの構成例を示す図である。図２７のシステムでは、分散サーバがそれぞれ同一のデータベースを有することにより耐久性を高めている。サーバ４１−１、４１−２は、それぞれ図２５のサーバと同様の構成とし、図２５と同様の機能を有する構成要素には、同一の符号番号にそれぞれ４１−１については枝番号１を、４１−２については枝番号２を付している。また、これに限らず、分散サーバに格納するデータを分配して、負荷分散を図るようにしてもよい。
【０１５３】
なお、本実施例では、実施例１で説明したモジュール管理処理部１０をクライアントが備えることとしたが、実施例２で説明したモジュール管理処理部１０ａをクライアントが備えることとし、実施例２でデータベース管理部２０経由で行った処理を、通信部５，サーバの通信部５ａ，データベース管理部２０ａ経由で行うようにしてもよい。
【０１５４】
このように、本実施例では、クライアントサーバシステムにおいて、モジュール管理処理を実行するようにした。これによって、多数のユーザが同一のデータを用いて業務処理を行う場合にも、データベースを一元管理することができる。
【産業上の利用可能性】
【０１５５】
以上のように、本発明にかかるモジュール管理方法、モジュール管理装置、モジュール管理システムおよびモジュール管理プログラムは、業務処理システムに有用であり、特に、特定の期間ごとに処理方法が更新される業務システムに適している。
【図面の簡単な説明】
【０１５６】
【図１】実施例１のモジュール管理方法を実現するためのモジュール管理装置としての機能を備え、本発明にかかる実施例のモジュール管理プログラムを実行可能な計算機システムの構成例を示す図である。
【図２】実施例１のモジュール管理装置の機能構成例を示すブロック図である。
【図３】科目マスタの一例を示す図である。
【図４】給与データの一例を示す図である。
【図５】実施例１のモジュール管理処理の全体動作の手順の一例を示すフローチャートである。
【図６】データ管理テーブルの一例を示す図である。
【図７】モジュール決定の処理の手順の一例を示すフローチャートである。
【図８】モジュール管理テーブルの一例を示す図である。
【図９】更新波及管理テーブルの一例を示す図である。
【図１０】更新波及処理の手順の一例を示すフローチャートである。
【図１１】実施例２のモジュール管理装置の機能構成例を示すブロック図である。
【図１２】実施例２のモジュール管理処理の全体動作の手順の一例を示すフローチャートである。
【図１３】データ情報取得処理の処理手順の一例を示すフローチャートである。
【図１４】適用期間管理処置の処理手順の一例を示すフローチャートである。
【図１５】適用期間管理テーブルの一例を示す図である。
【図１６】データ管理処理の手順の一例を示すフローチャートである。
【図１７】コンバート管理テーブルの一例を示す図である。
【図１８】実施例３の適用期間管理テーブルの一例を示す図である。
【図１９】適用期間管理テーブルの別の一例を示す図である。
【図２０】経過措置に対応した適用期間管理テーブルの一例を示す図である。
【図２１】経過措置に対応した開始側と終了側を個別に管理する適用期間管理テーブルの一例を示す図である。
【図２２】適用可能なモジュールが複数存在する場合に、表示部に表示するモジュールの選択画面の例を示す図である。
【図２３】参照データ管理テーブルの一例を示す図である。
【図２４】バージョンの制約処理の手順の一例を示すフローチャートである。
【図２５】実施例３のモジュール管理装置の機能構成例を示すブロック図である。
【図２６】クライアントを複数とした場合のシステムの構成例を示す図である。
【図２７】分散サーバとした場合のシステムの構成例を示す図である。
【符号の説明】
【０１５７】
１，１ａ  制御部
２  入力部
３，３ａ  記憶部
４  表示部
５，５ａ，５ａ−１，５ａ−２  通信部
６  印刷部
７  システムバス
１０，１０ａ  モジュール管理処理部
１１  処理データ選択部
１２  モジュール決定部
１３  更新波及管理部
１４  モジュール連携部
１５  データ情報取得処理部
１６  適用期間管理部
１７  コンバート管理部
２０，２０ａ，２０ａ―１，２０ａ−２  データベース管理部
３０  モジュール処理部
４１，４１−１，４１−２  サーバ
４２−１〜４２−３，４３−１，４３−２  クライアント
５０  ＬＡＮ
６０  インターネット
【図１】
0005144974.tif 000002
【図２】
0005144974.tif 000003
【図３】
0005144974.tif 000004
【図４】
0005144974.tif 000005
【図５】
0005144974.tif 000006
【図６】
0005144974.tif 000007
【図７】
0005144974.tif 000008
【図８】
0005144974.tif 000009
【図９】
0005144974.tif 000010
【図１０】
0005144974.tif 000011
【図１１】
0005144974.tif 000012
【図１２】
0005144974.tif 000013
【図１３】
0005144974.tif 000014
【図１４】
0005144974.tif 000015
【図１５】
0005144974.tif 000016
【図１６】
0005144974.tif 000017
【図１７】
0005144974.tif 000018
【図１８】
0005144974.tif 000019
【図１９】
0005144974.tif 000020
【図２０】
0005144974.tif 000021
【図２１】
0005144974.tif 000022
【図２２】
0005144974.tif 000023
【図２３】
0005144974.tif 000024
【図２４】
0005144974.tif 000025
【図２５】
0005144974.tif 000026
【図２６】
0005144974.tif 000027
【図２７】
0005144974.tif 000028