(57)【特許請求の範囲】
【請求項１】
特定の有効期間と値を備えた時限データを格納しておくDBサーバと、
このDBサーバにアクセスしてデータの参照及び追加を依頼する履歴管理部とを備えた時限データの履歴管理システムであって、
上記DBサーバは、
有効期間の適用対象及びその値を固有の基本IDに関連付けて格納する基本テーブルと、
上記適用対象及び値の有効期間の始期を、対応の基本ID及び固有の適用開始IDに関連付けて登録する適用開始テーブルと、
上記適用対象及び値の有効期間の終期を、対応の基本ID及び固有の適用終了IDに関連付けて登録する適用終了テーブルと、
上記適用開始IDを格納する適用開始取消テーブルと、
上記適用終了IDを格納する適用終了取消テーブルとを備え、
上記履歴管理部は、
(1)適用対象、値、有効期間を特定した時限データの追加リクエストが入力された場合に、上記DBサーバに対し、上記基本テーブルに当該適用対象及び値を備えた基本データが存在するか否かを照会し、当該基本データが存在する場合には、その基本ID及び有効期間の始期を備えた適用開始データを上記適用開始テーブルに追加すると共に、同基本ID及び有効期間の終期を備えた適用終了データを上記適用終了テーブルに追加することを依頼し、上記基本データが存在しない場合には、上記適用対象及び値を備えた基本データを上記基本テーブルに追加すると共に、この基本データの基本ID及び有効期間の始期を備えた適用開始データを上記適用開始テーブルに追加し、同基本ID及び有効期間の終期を備えた適用終了データを上記適用終了テーブルに追加することを依頼する処理を実行し、
(2)適用対象、値、有効期間の少なくとも一つを検索条件として特定した時限データの参照リクエストが入力された場合に、上記DBサーバに対して、上記検索条件にマッチする基本データ、適用開始データ、適用終了データ、適用開始取消データ、適用終了取消データの送信を依頼し、DBサーバから送信された時限データの中で、適用開始取消データ及び適用終了取消データが登録されたものを除外した上で、検索結果として出力する処理を実行し、
(3)特定の時限データの削除リクエストが入力された場合に、上記DBサーバに対し、当該時限データに係る適用開始データの適用開始IDを備えた適用開始取消データを上記適用開始取消テーブルに追加すると共に、当該時限データに係る適用終了データの適用終了IDを備えた適用終了取消データを上記適用終了取消テーブルに追加することを依頼する処理を実行することを特徴とする時限データの履歴管理システム。
【請求項２】
上記DBサーバは、上記適用開始ID及び適用終了IDを関連付けて登録する適用期間テーブルを備えており、
上記履歴管理部は、
(1)適用対象、値、有効期間の始期を特定した時限データの追加リクエストが入力された場合に、上記DBサーバに対し、上記基本テーブルに当該適用対象及び値を備えた基本データが存在するか否かを照会し、当該基本データが存在する場合には、その基本ID及び有効期間の始期を備えた適用開始データを上記適用開始テーブルに追加することを依頼し、上記基本データが存在しない場合には、上記適用対象及び値を備えた基本データを上記基本テーブルに追加すると共に、この基本データの基本ID及び有効期間の始期を備えた適用開始データを上記適用開始テーブルに追加することを依頼する処理を実行し、
(2)上記基本ID、適用開始ID及び有効期間の終期を特定した時限データの追加リクエストが入力された場合に、上記DBサーバに対し、当該基本ID及び上記終期を備えた適用終了データを上記適用終了テーブルに追加すると共に、上記適用開始ID及び上記適用終了データの適用終了IDを上記適用期間テーブルに追加することを依頼する処理を実行し、
(3)適用対象、値、有効期間の終期を特定した時限データの追加リクエストが入力された場合に、上記DBサーバに対し、上記基本テーブルに当該適用対象及び値を備えた基本データが存在するか否かを照会し、当該基本データが存在する場合には、その基本ID及び有効期間の終期を備えた適用終了データを上記適用終了テーブルに追加することを依頼し、上記基本データが存在しない場合には、上記適用対象及び値を備えた基本データを上記基本テーブルに追加すると共に、この基本データの基本ID及び有効期間の終期を備えた適用終了データを上記適用終了テーブルに追加することを依頼する処理を実行し、
(4)上記基本ID、適用終了ID及び有効期間の始期を特定した時限データの追加リクエストが入力された場合に、上記DBサーバに対し、当該基本ID及び上記始期を備えた適用開始データを上記適用開始テーブルに追加すると共に、上記適用終了ID及び上記適用開始データの適用開始IDを上記適用期間テーブルに追加することを依頼する処理を実行することを特徴とする請求項１に記載の時限データの履歴管理システム。
【請求項３】
同一の適用対象について相互に重複する有効期間を備えた複数の時限データが存在する場合に、上記履歴管理部は、上記適用開始データ及び適用終了データに設定された登録日時が最も新しい時限データを重複している期間について有効と認定することを特徴とする請求項１または２に記載の時限データの履歴管理システム。
【請求項４】
上記適用対象の種類に対応した具体的なテーブル名及び各テーブルが備える上記適用対象の種類に対応した具体的な項目名とデータ型のテーブル設定情報に基づいて、少なくとも具体的なテーブル名、具体的なデータ項目及び各データ項目のデータ型を定義したクラスをテーブル毎に生成し、所定の記憶手段に格納する型生成手段と、
上記履歴管理部の処理ロジックを記述したプログラム部品を格納しておく記憶手段と、
上記プログラム部品に上記の各クラスを引数として与えることにより、各テーブルの操作に特化した履歴管理部を生成する手段と、
を備えたことを特徴とする請求項１〜３の何れかに記載の時限データの履歴管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は時限データの履歴管理システムに係り、特に、有効期間を備えた時限データの履歴を管理する技術に関する。
【背景技術】
【０００２】
商品の販売価格やサービスの提供価格は一定ではなく、通常価格（定価）の他にも様々な期間限定のキャンペーン価格が存在するため、同一商品について後で売上の集計等を行う際には、各販売時点における販売価格を特定する必要がある。価格は一定に据え置いたまま、時間帯によって割引率を変更する場合も同様である。このため、販売管理システム等においては、時系列に沿って販売価格や割引率が変遷したことを記録する履歴管理機能が設けられている。
【０００３】
あるいは、各国の消費税率も常時一定ではなく、法律改正によって変動する可能性があるため、消費税額を算出するためには、やはり各販売時点における販売国の消費税率を特定する必要がある。このため、経理システム等においては、時系列に沿って消費税率が変遷したことを記録する履歴管理機能が不可欠となる。
【非特許文献１】HP Designjet L25500用保守サービス製品 特別価格キャンペーン  インターネットURL：http://h50146.www5.hp.com/products/printers/designjet/campaign/latex_carepack201103/  検索日：２０１２年２月１日
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のように、各種の業務システムにおいては、期間によって値が変動する様々な時限データについて、その変遷履歴を管理する仕組みが設けられているが、これまでは有効期間の適用対象毎に担当技術者が独自に履歴管理システムを設計していた。このため、その度に余計な労力がかかることはもちろん、システム間に互換性がなく、メンテナンスが困難であった。また、各自が一からコーディングするため、連結テストも個別に行う必要があった。
【０００５】
この発明は、このような現状に鑑みて案出されたものであり、汎用性に優れた時限データの履歴管理システムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記の目的を達成するため、請求項１に記載した時限データの履歴管理システムは、特定の有効期間と値を備えた時限データを格納しておくDBサーバと、このDBサーバにアクセスしてデータの参照及び追加を依頼する履歴管理部とを備えたシステムであって、上記DBサーバは、有効期間の適用対象及びその値を固有の基本IDに関連付けて格納する基本テーブルと、上記適用対象及び値の有効期間の始期を、対応の基本ID及び固有の適用開始IDに関連付けて登録する適用開始テーブルと、上記適用対象及び値の有効期間の終期を、対応の基本ID及び固有の適用終了IDに関連付けて登録する適用終了テーブルと、上記適用開始IDを格納する適用開始取消テーブルと、上記適用終了IDを格納する適用終了取消テーブルとを備え、上記履歴管理部は、(1)適用対象、値、有効期間を特定した時限データの追加リクエストが入力された場合に、上記DBサーバに対し、上記基本テーブルに当該適用対象及び値を備えた基本データが存在するか否かを照会し、当該基本データが存在する場合には、その基本ID及び有効期間の始期を備えた適用開始データを上記適用開始テーブルに追加すると共に、同基本ID及び有効期間の終期を備えた適用終了データを上記適用終了テーブルに追加することを依頼し、上記基本データが存在しない場合には、上記適用対象及び値を備えた基本データを上記基本テーブルに追加すると共に、この基本データの基本ID及び有効期間の始期を備えた適用開始データを上記適用開始テーブルに追加し、同基本ID及び有効期間の終期を備えた適用終了データを上記適用終了テーブルに追加することを依頼する処理を実行し、(2)適用対象、値、有効期間の少なくとも一つを検索条件として特定した時限データの参照リクエストが入力された場合に、上記DBサーバに対して、上記検索条件にマッチする基本データ、適用開始データ、適用終了データ、適用開始取消データ、適用終了取消データの送信を依頼し、DBサーバから送信された時限データの中で、適用開始取消データ及び適用終了取消データが登録されたものを除外した上で、検索結果として出力する処理を実行し、(3)特定の時限データの削除リクエストが入力された場合に、上記DBサーバに対し、当該時限データに係る適用開始データの適用開始IDを備えた適用開始取消データを上記適用開始取消テーブルに追加すると共に、当該時限データに係る適用終了データの適用終了IDを備えた適用終了取消データを上記適用終了取消テーブルに追加することを依頼する処理を実行することを特徴としている。
【０００７】
請求項２に記載した時限データの履歴管理システムは、請求項１に記載のシステムであって、さらに上記DBサーバは、上記適用開始ID及び適用終了IDを関連付けて登録する適用期間テーブルを備えており、上記履歴管理部は、(1)適用対象、値、有効期間の始期を特定した時限データの追加リクエストが入力された場合に、上記DBサーバに対し、上記基本テーブルに当該適用対象及び値を備えた基本データが存在するか否かを照会し、当該基本データが存在する場合には、その基本ID及び有効期間の始期を備えた適用開始データを上記適用開始テーブルに追加することを依頼し、上記基本データが存在しない場合には、上記適用対象及び値を備えた基本データを上記基本テーブルに追加すると共に、この基本データの基本ID及び有効期間の始期を備えた適用開始データを上記適用開始テーブルに追加することを依頼する処理を実行し、(2)上記基本ID、適用開始ID及び有効期間の終期を特定した時限データの追加リクエストが入力された場合に、上記DBサーバに対し、当該基本ID及び上記終期を備えた適用終了データを上記適用終了テーブルに追加すると共に、上記適用開始ID及び上記適用終了データの適用終了IDを上記適用期間テーブルに追加することを依頼する処理を実行し、(3)適用対象、値、有効期間の終期を特定した時限データの追加リクエストが入力された場合に、上記DBサーバに対し、上記基本テーブルに当該適用対象及び値を備えた基本データが存在するか否かを照会し、当該基本データが存在する場合には、その基本ID及び有効期間の終期を備えた適用終了データを上記適用終了テーブルに追加することを依頼し、上記基本データが存在しない場合には、上記適用対象及び値を備えた基本データを上記基本テーブルに追加すると共に、この基本データの基本ID及び有効期間の終期を備えた適用終了データを上記適用終了テーブルに追加することを依頼する処理を実行し、(4)上記基本ID、適用終了ID及び有効期間の始期を特定した時限データの追加リクエストが入力された場合に、上記DBサーバに対し、当該基本ID及び上記始期を備えた適用開始データを上記適用開始テーブルに追加すると共に、上記適用終了ID及び上記適用開始データの適用開始IDを上記適用期間テーブルに追加することを依頼する処理を実行することを特徴としている。
【０００８】
請求項３に記載した時限データの履歴管理システムは、請求項１または２に記載のシステムであって、さらに、同一の適用対象について相互に重複する有効期間を備えた複数の時限データが存在する場合に、上記履歴管理部は、上記適用開始データ及び適用終了データに設定された登録日時が最も新しい時限データを重複している期間について有効と認定することを特徴としている。
【０００９】
請求項４に記載した時限データの履歴管理システムは、請求項１〜３に記載のシステムであって、さらに、上記適用対象の種類に対応した具体的なテーブル名及び各テーブルが備える上記適用対象の種類に対応した具体的な項目名とデータ型のテーブル設定情報に基づいて、少なくとも具体的なテーブル名、具体的なデータ項目及び各データ項目のデータ型を定義したクラスをテーブル毎に生成し、所定の記憶手段に格納する型生成手段と、上記履歴管理部の処理ロジックを記述したプログラム部品を格納しておく記憶手段と、上記プログラム部品に上記の各クラスを引数として与えることにより、各テーブルの操作に特化した履歴管理部を生成する手段とを備えたことを特徴としている。
【発明の効果】
【００１０】
請求項１に記載した時限データの履歴管理システムの場合、それぞれ極めて簡素なデータ項目を備えた基本テーブル、適用開始テーブル、適用終了テーブル、適用開始取消テーブル、適用終了取消テーブルに対し、履歴管理部が定型的な処理を実行することによって、時限データの追加、参照、削除が実現される。このため、汎用的な履歴管理システムとして、様々な業務システムに組み込むことが容易となる。
しかも、時限データを削除する場合に、該当の時限データをテーブル上から物理的に削除するのではなく、適用開始取消テーブルに適用開始データのIDを登録すると共に、適用終了取消テーブルに適用終了データのIDを登録することによって論理的に削除する方式を採用している。また、時限データを修正する場合でも、該当の時限データ自体を修正するのではなく、修正後の時限データを新たな時限データとして追加することで、論理的に修正する方式を採用している。この結果、処理の簡素化及び汎用化が実現されると共に、時限データの履歴を削除履歴や変更履歴をも含めて完全な形で保全することが可能となり、データの再利用性と再現性が向上する。
【００１１】
請求項２に記載した時限データの履歴管理システムの場合、適用開始データと適用終了データ間の関連付けを行うテーブルを備えているため、適用開始データと適用終了データを異なるタイミングで登録しても有効期間を正しく管理することができるようになり、時限データの履歴管理に柔軟性を付与することが可能となる。
【００１２】
請求項３に記載した時限データの履歴管理システムの場合、同一の適用対象について有効期間が重複する複数の時限データが併存していても、登録日時の新しいものが優先適用されるため、時限データ間の有効期間の整合性を考慮することなく、また一々既存の時限データについて修正や削除を施すことなく、必要に応じて次々と時限データを登録することが可能となり、時限データの有効期間を柔軟に設定することが可能となる。
【００１３】
請求項４に記載した時限データの履歴管理システムの場合、商品の売価や割引率、あるいは国別の消費税率といった適用対象の種類に応じて具体的なテーブルが生成される場合に、各テーブルの設定情報に基づいて対応のクラスが自動生成されると共に、各クラスの定義内容を汎用のプログラム部品に適用することにより、当該適用対象の種類に特化した履歴管理部が自動生成される仕組みを備えている。
しかも、プログラム部品は汎用性があるため一度テストしておけば済み、具体的なテーブルに対応したクラスも人手を介すことなく自動生成されるため、具体的な履歴管理部を生成する都度、連結テストを実施する必要がない。
以上のことから、この時限データの履歴管理システムを様々な業務システム中に組み込むことが、極めて容易となる。
【発明を実施するための最良の形態】
【００１４】
図１は、この発明に係る時限データの第１の履歴管理システム10の全体構成を示すものであり、Webサーバ12と、APサーバ14と、DBサーバ16とを備えている。
各サーバ間は、通信ネットワークを介して接続されている。
また、Webサーバ12には、通信ネットワークを介して、ユーザの操作するクライアント端末17が接続される。
クライアント端末17は、PC等のコンピュータよりなり、OSやWebブラウザ、テキストエディタ等のプログラムを搭載している。
【００１５】
APサーバ14は、データ参照部18と、データ更新部20と、売価履歴管理部22と、テーブル設定部24と、型生成部26と、型格納部27と、コンパイラ28と、データアクセス汎用部品30とを備えている。
上記のデータ参照部18、データ更新部20、売価履歴管理部22、テーブル設定部24、型生成部26、コンパイラ28は、APサーバ14のCPUが、専用のアプリケーションプログラムに従って所定の処理を実行することで実現される。また、型格納部27は、APサーバ14の外部記憶装置内に設けられている。データアクセス汎用部品30も、同外部記憶装置内に格納されている。
【００１６】
DBサーバ16は、データベース管理システム（RDBMS）32と、売価基本テーブル34と、売価適用開始テーブル36と、売価適用終了テーブル38と、売価適用開始取消テーブル40と、売価適用終了取消テーブル42とを備えている。
【００１７】
図２は、上記の各テーブルの具体的構成を示すものである。
まず、売価基本テーブル34は、「売価基本ID（主キー）」、「商品ID（外部キー）」、「売価」及び「登録日時」のデータ項目を備えている。
また、売価適用開始テーブル36は、「売価適用開始ID（主キー）」、「売価基本ID（外部キー）」、「適用開始日」及び「登録日時」のデータ項目を備えている。有効期限が時間単位で設定される場合には、適用開始日の代わりに、「適用開始日時」のデータ項目が設けられる。
売価適用終了テーブル38は、「売価適用終了ID（主キー）」、「売価基本ID（外部キー）」、「適用終了日」及び「登録日時」のデータ項目を備えている。有効期限が時間単位で設定される場合には、適用終了日の代わりに、「適用終了日時」のデータ項目が設けられる。
売価適用開始取消テーブル40は、「売価適用開始ID（主キー／外部キー）」及び「登録日時」のデータ項目を備えている。
売価適用終了取消テーブル42は、「売価適用終了ID（主キー／外部キー）」及び「登録日時」のデータ項目を備えている。
【００１８】
上記の各テーブルには、以下の制約が予め課せられている。
(1)キー項目は一つに限定される。
したがって、複数の項目の組合せによってキー項目を構成すること（複合キー）は、禁止される。
【００１９】
(2)各テーブルにはレコードの追加のみが許容され、既存レコードの値の更新やレコードの削除は禁止される。
したがって、値に変更が生じた場合など、発生タイミングの異なる情報は別レコードとしてテーブルに格納されることとなる（詳細は後述）。
【００２０】
(3)各テーブルのカラムには、NULL値禁止制約、フラグ値禁止制約、区分値禁止制約が課せられる。
まず「NULL値禁止制約」とは、データ項目の値としてNULL（値なし）を充填することが禁止されることを意味しており、このようなNULL値の充填を想定したデータ項目の設定自体が許容されないことになる。
つぎに「フラグ値禁止制約」とは、データ項目の値としてフラグ値（「１／０」、「ON／OFF」、「TRUE／FALSE」等の２値データ）を充填することが禁止されることを意味しており、このようなフラグ値の充填を想定したデータ項目の設定自体が許容されないことになる。
「区分値禁止制約」とは、データ項目の値として区分値（「１：正社員」、「２：パート」、「３：アルバイト」等）を充填することが禁止されることを意味しており、このような区分値の充填を想定したデータ項目の設定自体が許容されないことになる。
【００２１】
これらの制約ルールは、新規テーブルの設計時やSQL発行時に、データベース管理システム32によって適否がチェックされ、制約ルールに違反する処理の実行が拒絶されることにより、その実効性が担保される。
【００２２】
図２より明らかなように、上記のルールに従い、各テーブルは単一のデータ項目によって主キー（PK）が構成されている。
また、「売価適用開始取消」に関するデータも、通常であれば売価適用開始テーブル36において「売価適用開始取消フラグ」等のデータ項目が設けられ、各レコードに「１／０」等のフラグ値を充填することで状態が管理されるか、あるいは売価取消開始レコード自体が削除されるところであるが、売価適用開始取消テーブル40を売価適用開始テーブル36とは別個に設けることにより、売価適用開始取消の状態管理がなされている。要するに、この売価適用開始取消テーブル40に登録された売価適用開始IDが「取消」状態にあることとなり、レコードの有無によって取消の有無が表現されている。
【００２３】
同様に、「売価適用終了取消」に関するデータも、通常であれば売価適用終了テーブル38において「売価適用終了取消フラグ」等のデータ項目が設けられ、各レコードに「１／０」等のフラグ値を充填することで状態が管理されるか、あるいは売価取消終了レコードが削除されるところであるが、売価適用終了取消テーブル42を売価適用終了テーブル38とは別個に設けることにより、売価適用終了取消の状態管理がなされている。
【００２４】
ここで、クライアント端末17からの検索リクエストを受け取ったWebサーバ12は、検索条件入力画面をクライアント端末17に送信する。
図３(a)は、クライアント端末17のWebブラウザ上に表示された検索条件入力画面50を示しており、同画面50は商品ID、年月日、売価の項目を備えている。
これに対しユーザが、商品IDとして「Ａ」を、年月日として「2010/10/03」を入力して検索ボタン52をクリックすると、これらの検索条件がWebサーバ12経由でAPサーバ14に送信される。
これを受けたデータ参照部18は、売価履歴管理部22に上記の検索条件を渡し、検索処理を依頼する。
【００２５】
これに対し売価履歴管理部22は、まず売価基本テーブル34から「商品ID：Ａ」に係る売価基本データの取得を依頼する内容のSQLをDBサーバ16に対して発行する。
つぎに売価履歴管理部22は、DBサーバ16から受信したデータから売価基本IDを抽出し、売価適用開始テーブル36及び売価適用終了テーブル38から対応の売価基本IDに係るデータの取得を依頼する内容のSQLをDBサーバ16に対して発行する。
【００２６】
つぎに売価履歴管理部22は、DBサーバ16から受信したデータから売価適用開始IDを抽出し、売価適用開始取消テーブル40から対応の売価適用開始IDに係るデータの取得を依頼する内容のSQLをDBサーバ16に対して発行する。同時に、DBサーバ16から受信したデータから売価適用終了IDを抽出し、売価適用終了取消テーブル42から対応の売価適用終了IDに係るデータの取得を依頼する内容のSQLをDBサーバ16に対して発行する。
【００２７】
つぎに売価履歴管理部22は、DBサーバ16から送信された各データを解析し、「2010年10月３日」における「商品ID：Ａ」の売価を特定する。
図４は、DBサーバ16から送信されたデータに基づいて生成された商品ID：Ａの売価適用情報を時系列に沿って並べた模式図である。
【００２８】
図中、鎖線で表示された(1)の売価適用情報は、売価が800円、適用開始日（始期）が「2010/09/01」、適用終了日（終期）が「2011/03/31」、登録日が「2010/04/01」であるが、同日付で削除されているため、対象外情報であることを示している。
この売価適用情報が「削除」されていることは、具体的には、売価適用開始取消テーブル40及び売価適用終了取消テーブル42に、対応の売価適用開始ID及び売価適用終了IDが登録されていることから判定される（詳細は後述）。
【００２９】
これに対し、実線で表示された(2)の売価適用情報は、売価が700円、適用開始日が「2010/09/01」、適用終了日が「2011/03/31」、登録日が「2010/04/01」であり、削除されていないことを示している。
同様に、実線で表示された(3)の売価適用情報は、売価が600円、適用開始日が「2010/10/01」、適用終了日が「2010/12/25」、登録日が「2010/08/15」であり、削除されていないことを示している。
同じく実線で表示された(4)の売価適用情報は、売価が500円、適用開始日が「2010/11/01」、適用終了日が「2010/12/25」、登録日が「2010/10/25」であり、削除されていないことを示している。
同じく実線で表示された(5)の売価適用情報は、売価が500円、適用開始日が「2010/11/01」、適用終了日が「2011/01/31」、登録日が「2010/12/25」であり、削除されていないことを示している。
売価履歴管理部22は、各売価適用開始データ及び売価適用終了データの登録日時を比較し、同一の登録日時を備えた両データを抽出することにより、有効期間の始期と終期を備えた売価適用情報を生成する。
【００３０】
ここで、削除されていない(2)〜(5)の売価適用情報を参照すると、「2010年10月３日」が適用期間中に含まれる売価適用情報として、(2)及び(3)が該当することがわかる。
ただし、このように適用期間が重複している複数の売価適用情報が併存する場合には、登録日時が後の売価適用情報が優先されるルールに従い、売価履歴管理部22は(3)の売価適用情報の「600円」を「2010年10月３日」における有効な売価と認定し、データ参照部18に出力する。
【００３１】
データ参照部18は、この検索結果データをWebサーバ12に送信する。
この結果、Webサーバ12からクライアント端末17に対して、検索結果画面が送信される。
図３(b)は、クライアント端末17のWebブラウザ上に表示された検索結果画面54を示すものであり、「売価」の項目に「600」（円）の値が表示されている。
【００３２】
因みに、クライアント端末17から送信された検索条件が「商品ID：Ａ／年月日：2011/02/15」であった場合には、(2)の売価適用情報に従い、「700円」の売価がクライアント端末17に表示されることとなる。
【００３３】
また、図示は省略したが、ユーザが図３(a)の検索条件入力画面50において「商品ID：Ａ」及び「売価：600」を入力して検索ボタン52をクリックした場合には、商品ID：Ａに係る売価600の売価履歴情報がリストアップされた検索結果画面が、クライアント端末17のディスプレイに表示される。
これによりユーザは、商品ID：Ａの商品を売価600円で販売した期間を認識することが可能となる。
【００３４】
図５(a)に示すように、検索条件入力画面50において「商品ID：Ａ」のみを特定し、年月日をブランクとした検索条件が入力された場合、図５(b)に示すように、商品ID：Ａに係る全ての有効な売価適用情報（削除されたものは除く）がリストアップされた検索結果画面56が、クライアント端末17のWebブラウザ上に表示される。
リストアップされた各売価適用情報は、No、売価、適用開始、適用終了、登録日時の表示項目を備えている。
この表示用データも、売価履歴管理部22によって生成される。
【００３５】
ここで、ユーザがNO. 0014のチェックボックスにチェックを入れて修正ボタン58をクリックすると、図６に示すように、商品ID、売価、適用開始、適用終了の項目を備えた当該売価適用情報の詳細画面60が、クライアント端末17のWebブラウザ上に表示される。
【００３６】
これに対しユーザが、売価を「500→550」に書き換えた上で登録ボタン62をクリックすると、売価履歴管理部22はデータ修正のための処理を実行する。
まず売価履歴管理部22は、DBサーバ16に対して「商品ID：Ａ／売価：550円」の売価基本データが既に登録されているか否かを照会するSQLを発行する。
ここで、「商品ID：Ａ／売価：550円」の売価基本データが売価基本テーブル34に存在した場合、当該売価基本データの売価基本IDに関連付けた売価適用開始データ（適用開始日：2010/11/01）を売価適用開始テーブル36に追加することを求めるSQLと、同売価基本IDを指定した売価適用終了データ（適用終了日：2010/12/25）を売価適用終了テーブル38に追加することを求めるSQLを、DBサーバ16に発行する。
【００３７】
これに対し、「商品ID：Ａ／売価：550円」の売価基本データが売価基本テーブル34に存在しなかった場合、この売価基本データを売価基本テーブル34に追加することを求めるSQLをDBサーバ14に発行する。
つぎに売価履歴管理部22は、DBサーバ16から上記売価基本データの売価基本IDを取得した後、当該売価基本IDを指定した売価適用開始データ（適用開始日：2010/11/01）を売価適用開始テーブル36に追加することを求めるSQLと、同売価基本IDを指定した売価適用終了データ（適用終了日：2010/12/25）を売価適用終了テーブル38に追加することを求めるSQLを、DBサーバ16に発行する。
【００３８】
上記の結果、「商品ID：Ａ／売価：550円／適用開始日：2010/11/01／適用終了日：2010/12/25」の売価適用情報が、DBサーバ16に新たに追加される。この段階では、「商品ID：Ａ／売価：500円／適用開始日：2010/11/01／適用終了日：2010/12/25」の売価適用情報と重複することになるが、上記の通り、登録日時が新しい方が優先適用されるため、論理的な修正が実現されたことになる。もちろん、ユーザは重複する従前の売価適用情報について売価適用開始取消データ及び売価適用終了取消データを登録することにより、これを論理的に削除することもできる。
ユーザは、売価と共に適用開始日及び適用終了日の修正を同時にリクエストすることも当然に可能である。
【００３９】
ユーザが、図５(b)の検索結果画面56において、NO.0014のチェックボックスにチェックを入れて削除ボタン64をクリックした場合には、売価履歴管理部22は売価履歴データの削除のための処理を実行する。
まず売価履歴管理部22は、DBサーバ16に対して、NO.0014の売価適用情報に係る売価適用開始IDを売価適用開始取消テーブル40に格納することを求めるSQLを、DBサーバ16に発行する。
同時に売価履歴管理部22は、DBサーバ16に対して、上記売価適用情報に係る売価適用終了IDを売価適用終了取消テーブル42に格納することを求めるSQLを、DBサーバ16に発行する。
以上の結果、売価基本ID：0041の売価履歴データは、論理的に削除された状態となる。
【００４０】
ユーザが、図５(b)の検索結果画面56において追加ボタン66をクリックするか、あるいは図示しないメニュー画面において「売価データの追加」ボタンをクリックすると、Webサーバ12から新規登録画面がクライアント端末17に送信され、Webブラウザ上に表示される。
図示は省略したが、この新規登録画面は図６に示した詳細画面60と同様、商品ID、売価、適用開始、適用終了の項目を備えている。ただし、各項目には文字列が充填されてはおらず、空白となされている。
【００４１】
これに対しユーザが、商品ID、売価、適用開始日、適用終了日を入力した上で登録ボタンをクリックすると、売価履歴管理部22はデータ追加のための処理を実行する。
まず売価履歴管理部22は、DBサーバ16に対して、入力された商品ID及び売価を備えた売価基本データが既に登録されているか否かを照会するSQLを発行する。
ここで、該当の売価基本データが売価基本テーブル34に存在した場合、売価履歴管理部22は、当該売価基本データの売価基本ID及び入力された売価適用開始日を備えた売価適用開始データを売価適用開始テーブル36に追加することを求めるSQLと、同売価基本ID及び入力された売価適用終了データを売価適用終了テーブル38に追加することを求めるSQLを、DBサーバ16に発行する。
【００４２】
これに対し、該当の売価基本データが売価基本テーブル34に存在しなかった場合、売価履歴管理部22はDBサーバ16に対して、この売価基本データを売価基本テーブル34に追加することを求めるSQLを発行する。
つぎに売価履歴管理部22は、DBサーバ16から上記売価基本データの売価基本IDを取得した後、当該売価基本ID及び入力された売価適用開始日を備えた売価適用開始データを売価適用開始テーブル36に追加することを求めるSQLと、同売価基本ID及び入力された売価適用終了日を備えた売価適用終了データを売価適用終了テーブル38に追加することを求めるSQLを、DBサーバ16に発行する。
【００４３】
売価履歴管理部22は、上記の通り、データ参照部18から出力されたデータの参照要求やデータ更新部20から出力されたデータの更新要求に応じて必要なSQLをDBサーバ16に発行すると共に、DBサーバ16から取得したデータの加工・分析処理を実行する。
そして、DBサーバ16に格納された各テーブルにアクセスするためには、それぞれのテーブル構成（「売価基本テーブル」等のテーブル名や、「売価」等のカラム名）を認識している必要がある。このため、売価履歴管理部22は文字通り売価履歴の管理機能に特化されたものであり、これを税率履歴管理システムなどとして流用することはできない。
【００４４】
しかしながら、具体的なテーブル名やカラム名を除いた処理ロジックの部分（例えば、クライアント端末から特定の時限データについて削除のリクエストがあった場合には、適用開始取消データと適用終了取消データを追加する等）に関しては、どのような種類の時限データについても共通に適用可能といえる。
このため、この第１の履歴管理システム10にあっては、各テーブルの設定時に当該テーブルの構成にマッチした「○○履歴管理部」を、自動生成する機能を備えている。
【００４５】
まずユーザは、クライアント端末17からテーブル設定部24にアクセスし、新規テーブルの作成をリクエストする。この結果、テーブル設定画面がクライアント端末17に送信され、Webブラウザ上に表示される（図示省略）。
ユーザは、このテーブル設定画面上で、テーブルの名称（売価基本テーブル等）、データ項目名（売価基本ID等）、データ型、桁数等を指定し、テーブル設定部24に送信する。
【００４６】
テーブル設定部24は、送信された設定データをDBサーバ16に送信し、新規テーブルの生成を依頼する。
これを受けたデータベース管理システム32は、この設定データに従って新規のテーブル（売価基本テーブル34、売価適用開始テーブル36、売価適用終了テーブル38、売価適用開始取消テーブル40、売価適用終了取消テーブル42）をDBサーバ16の記憶装置内に生成する。
【００４７】
つぎに、型生成部26が起動し、テーブル設定部24から受け取った各テーブルの設定データに基づいて、DBサーバ16内に生成された各テーブルに対応したクラス（型）を生成する。具体的には、売価基本クラス70、売価適用開始クラス71、売価適用終了クラス72、売価適用開始取消クラス73、売価適用終了取消クラス74が生成され、型格納部27に格納される。
これらクラスの実体は、対応テーブルの名称、データ項目、データ型、桁数等が記述されたプログラムである。
【００４８】
つぎに、コンパイラ28が起動し、型格納部27内の各クラスをデータアクセス汎用部品30に引数として与えることにより、売価履歴管理部22を生成する。
すなわち、データアクセス汎用部品30は、「○○履歴管理部」が共通して実行すべき処理ロジックの部分のコードを備えたプログラム部品であり、これに対して処理対象となる売価基本テーブル等の具体的な構成を組み込むことにより、当該売価履歴データの管理に特化した売価履歴管理部22が生成される。
【００４９】
上記した売価基本クラス70、売価適用開始クラス71、売価適用終了クラス72、売価適用開始取消クラス73、売価適用終了取消クラス74は、テーブルの設計データに基づいて型生成部26が自動生成するものであるため、人為的なミスが生じる余地がなく、本来的にテスト不要といえる。
また、データアクセス汎用部品30のコーディング自体は人間の手によってなされるものであるが、汎用的に使い回すことができるため、事前に厳重なテストを施し、バグを徹底的に潰しておけば、「○○履歴管理部」を生成する都度、テストを実施する必要がない。
以上のことから、操作対象となる各テーブルの構成に特化した各種履歴管理部を生成する度にテストを実施する必要がないということになる。
【００５０】
つぎに、図７に基づいて、この第１の履歴管理システム10を各国における消費税率の履歴管理に用いる例を説明する。
この場合、まずユーザは、クライアント端末17からテーブル設定部24にアクセスし、新規テーブルの作成をリクエストする。この結果、テーブル設定画面がクライアント端末17に送信され、Webブラウザ上に表示される（図示省略）。
ユーザは、このテーブル設定画面上で、テーブルの名称（税率基本テーブル等）、データ項目名（税率基本ID等）、データ型、桁数等を指定し、テーブル設定部24に送信する。
【００５１】
テーブル設定部24は、送信された設定データをDBサーバ16に送信し、新規テーブルの生成を依頼する。
これを受けたデータベース管理システム32は、この設定データに従って税率の履歴管理に特化したテーブルとして、税率基本テーブル76、税率適用開始テーブル77、税率適用終了テーブル78、税率適用開始取消テーブル79、税率適用終了取消テーブル80を、DBサーバ16の記憶装置内に生成する。
【００５２】
図８は、上記の各テーブルの具体的構成を示すものである。
まず、税率基本テーブル76は、「税率基本ID（主キー）」、「国ID（外部キー）」、「税率」及び「登録日時」のデータ項目を備えている。
また、税率適用開始テーブル77は、「税率適用開始ID（主キー）」、「税率基本ID（外部キー）」、「適用開始日」及び「登録日時」のデータ項目を備えている。
税率適用終了テーブル78は、「税率適用終了ID（主キー）」、「税率基本ID（外部キー）」、「適用終了日」及び「登録日時」のデータ項目を備えている。
税率適用開始取消テーブル79は、「税率適用開始ID（主キー／外部キー）」及び「登録日時」のデータ項目を備えている。
税率適用終了取消テーブル80は、「税率適用終了ID（主キー／外部キー）」及び「登録日時」のデータ項目を備えている。
【００５３】
上記の各テーブルには、上記と同様、以下の制約が予め課せられている。
(1)キー項目は一つに限定される。
(2)各テーブルにはレコードの追加のみが許容され、既存レコードの値の更新やレコードの削除は禁止される。
(3)各テーブルのカラムには、NULL値禁止制約、フラグ値禁止制約、区分値禁止制約が課せられる。
【００５４】
つぎに、型生成部26が起動し、テーブル設定部24から受け取った各テーブルの設定データに基づいて、DBサーバ16内に生成された各テーブルに対応したクラス（型）を生成する。具体的には、税率基本クラス81、税率適用開始クラス82、税率適用終了クラス83、税率適用開始取消クラス84、税率適用終了取消クラス85が生成され、型格納部27に格納される。
【００５５】
つぎに、コンパイラ28が起動し、型格納部27内の各クラスをデータアクセス汎用部品30に引数として与えることにより、税率履歴データの管理に特化した税率履歴管理部86を生成する。
これ以降、この第１の履歴管理システム10は税率履歴管理システムとして機能し、税率基本テーブル76、税率適用開始テーブル77、税率適用終了テーブル78、税率適用開始取消テーブル79、税率適用終了取消テーブル80に対応のデータが蓄積されていく。
【００５６】
ここで、クライアント端末17からの検索リクエストを受け取ったWebサーバ12は、検索条件入力画面をクライアント端末17に送信する。
図９(a)は、クライアント端末17のWebブラウザ上に表示された検索条件入力画面87を示しており、同画面87は国ID、年月日、税率の項目を備えている。
これに対しユーザが、国IDとして「JP」を、年月日として「2009/01/03」を入力して検索ボタン88をクリックすると、これらの検索条件がWebサーバ12経由でAPサーバ14に送信される。
これを受けたデータ参照部18は、税率履歴管理部86に上記の検索条件を渡し、検索処理を依頼する。
【００５７】
これに対し税率履歴管理部86は、まず税率基本テーブル76から「国ID：JP」に係る税率基本データの取得を依頼する内容のSQLをDBサーバ16に対して発行する。
つぎに税率履歴管理部86は、DBサーバ16から受信したデータから税率基本IDを抽出し、税率適用開始テーブル77及び税率適用終了テーブル78から対応の税率基本IDに係るデータの取得を依頼する内容のSQLをDBサーバ16に対して発行する。
【００５８】
つぎに税率履歴管理部86は、DBサーバ16から受信したデータから税率適用開始IDを抽出し、税率適用開始取消テーブル79から対応の税率適用開始IDに係るデータの取得を依頼する内容のSQLをDBサーバ16に対して発行する。同時に、DBサーバ16から受信したデータから税率適用終了IDを抽出し、税率適用終了取消テーブル80から対応の税率適用終了IDに係るデータの取得を依頼する内容のSQLをDBサーバ16に対して発行する。
【００５９】
つぎに税率履歴管理部86は、DBサーバ16から送信された各データを解析し、「2009年１月３日」におけるJP（日本）の税率を特定する。
データ参照部18は、この検索結果データをWebサーバ12に送信する。
この結果、Webサーバ12からクライアント端末17に対して、検索結果画面が送信される。
図９(b)は、クライアント端末17のWebブラウザ上に表示された検索結果画面89を示すものであり、「税率」の項目に「５」（％）の値が表示されている。
【００６０】
その他、詳細な説明は省略するが、税率履歴管理部86は上記の売価履歴管理部22と同様、クライアント端末17からのリクエストに応じて、税率適用データの論理的な修正や削除、あるいは追加処理を実行する。
【００６１】
各種業務システムの中では、様々な時限データが取り扱われており、これまでは個々の時限データ毎に履歴を管理するための仕組みが場当たり的に設計されてきた。
これに対し、第１の履歴管理システム10の場合には、時限データの履歴管理のためのテーブルを、「基本テーブル」、「適用開始テーブル」、「適用終了テーブル」、「適用開始取消テーブル」、「適用終了取消テーブル」の５つに統一すると共に、履歴管理の処理ロジックをデータアクセス汎用部品30として共通化しておき、これに具体的なテーブル構成を適用することにより、各種の時限データに特化した履歴管理部を自動生成する仕組みを備えている。
この結果、個別に履歴管理システムを構築したりテストを実施したりする手間が省けることはもちろん、時限データの種類を問わず共通の仕組みを備えることにより、メンテナンス性が向上する利点が生じる。
【００６２】
上記においては、５つのテーブル（基本テーブル、適用開始テーブル、適用終了テーブル、適用開始取消テーブル、売価適用終了取消テーブル）によって、様々な時限データの履歴を管理する方式について説明したが、さらに「適用期間」のテーブルを追加することにより、より柔軟な履歴管理を実現することができる。
【００６３】
図１０はその具体例を示すものであり、この時限データの第２の履歴管理システム90は、DBサーバ16内に、売価基本テーブル34、売価適用開始テーブル36、売価適用終了テーブル38、売価適用開始取消テーブル40、売価適用終了取消テーブル42の他に、売価適用期間テーブル91を設けた点に特徴を備えている。
【００６４】
図１１に示すように、売価適用期間テーブル91は、「売価適用開始ID（主キー／外部キー）」、「売価適用終了ID（外部キー）」及び「登録日時」のデータ項目を備えている。ただし、「売価適用終了ID」を主キーとしてもよい。
他のテーブルの構成は、図２に示したものと同じである。
【００６５】
このような、売価適用開始IDと売価適用終了IDとの関連性を管理するためのテーブルを備えない第１の履歴管理システム10の場合、売価適用開始データと売価適用終了データとの関連付けはそれぞれの「登録日時」に基づいて行われていたため、両データは必ず同一のタイミングで登録される必要性があった。
これに対し、売価適用開始ID及び売価適用終了IDの項目を備えた売価適用期間テーブル91を設けることにより、両データを別個のタイミングで登録しても、有効期間を正しく管理することが可能となる。
【００６６】
例えば、図１２(a)に示すように、ユーザが新規登録画面95において商品ID、売価、適用開始日のみを特定して登録ボタン96をクリックした場合、売価履歴管理部22は上記と同様の手順で、DBサーバ16に対して「商品ID：Ａ／売価：700／適用開始日：2010/09/01」の売価適用情報の登録を求める。
【００６７】
これを受けたDBサーバ16のデータベース管理システム32は、上記と同様、「商品ID：Ａ／売価：700」の売価基本データが存在しない場合に限り、売価基本テーブル34に当該売価基本データのレコードを追加する。
つぎにデータベース管理システム32は、売価適用開始テーブル36に売価基本ID及び適用開始日（2010/09/01）を備えたレコードを追加する。
図１３(1)は、「適用開始日」のみが登録された売価履歴データを示している。
【００６８】
後日、ユーザのクライアント端末17から「商品ID：Ａ」が検索条件として入力された場合、図示は省略したが、商品ID：Ａに係る全ての有効な売価適用情報がリストアップされた検索結果画面が、クライアント端末17のWebブラウザ上に表示される。
そして、このリスト中からユーザが「商品ID：Ａ／売価：700／適用開始日：2010/09/01」の売価適用情報にチェックを入れ、修正ボタンをクリックすると、図１２(b)に示すように、当該売価適用情報の詳細画面60が表示される。
【００６９】
これに対しユーザが、ブランクとなっている「適用終了」の項目に「2011/03/31」を入力して登録ボタン62をクリックすると、売価履歴管理部22はデータ修正のための処理を実行する。
【００７０】
まず売価履歴管理部22は、「商品ID：Ａ／売価：700」の売価基本データに係る売価基本IDと、「2011/03/31」の適用終了日を備えた売価適用終了データを、売価適用終了テーブル38に追加することを求めるSQLを、DBサーバ16に発行する。
【００７１】
つぎに売価履歴管理部22は、当該売価適用終了データに係る売価適用終了IDと、「適用開始日：2010/09/01」の売価適用開始データに係る売価適用開始IDを備えた売価適用期間データを、売価適用期間テーブル91に追加することを求めるSQLを、DBサーバ16に発行する。
【００７２】
この結果、図１３(2)に示すように、売価適用情報の「適用開始日」及び「適用終了日」が揃った状態となる。
この売価適用情報の適用開始日と適用終了日の関連付けは、売価履歴管理部22が、DBサーバ16から送信された各売価適用開始データの適用開始IDと売価適用終了データの適用終了IDが一の売価適用期間データ中に揃って登録されているか否かをチェックすることにより、実現される。
【００７３】
この第２の履歴管理システム90の場合、上記のように参照時に売価履歴管理部22が売価適用期間テーブル91をチェックし、売価適用開始データと売価適用終了データとの関連付けを行う必要が生じるが、最初に開始日を登録しておき、後から終了日を追加登録することが可能となり、時限データのより柔軟な管理運用が可能となる。
【００７４】
もちろん、テーブル数が増加する分、上記の通り、売価履歴管理部22の処理内容が複雑化することは否めないが、これに対応した処理ロジックがコーディングされたデータアクセス汎用部品30を用意しておくことで、上記と同様、具体的な履歴管理部を自動生成することができるため、個々のプログラム開発の負担を抑えることができる。
【００７５】
すなわち、クライアント端末17から売価適用期間テーブルを含めた各テーブルの設定データが送信されると、テーブル設定部24はこれをDBサーバ16に送信し、新規テーブルの生成を依頼する。
これを受けたデータベース管理システム32は、この設定データに従って新規のテーブル（売価基本テーブル34、売価適用開始テーブル36、売価適用終了テーブル38、売価適用開始取消テーブル40、売価適用終了取消テーブル42、売価適用期間テーブル91）をDBサーバ16の記憶装置内に生成する。
【００７６】
つぎに型生成部26が起動し、テーブル設定部24から受け取った各テーブルの設定データに基づいて、DBサーバ16内に生成された各テーブルに対応したクラス（型）を生成する。具体的には、売価基本クラス70、売価適用開始クラス71、売価適用終了クラス72、売価適用開始取消クラス73、売価適用終了取消クラス74、売価適用期間テーブル93が生成され、型格納部27に格納される。
【００７７】
つぎにコンパイラ28が起動し、型格納部27内の各クラスを、６つのテーブル構成に対応したデータアクセス汎用部品30に引数として与えることにより、６つのテーブル構成に対応した売価履歴管理部22を生成する。
【００７８】
上記のように、ユーザが図１２(a)の新規登録画面95において適用開始日のみを入力し、適用終了日を入力したかった場合、売価適用期間データは売価適用終了データの追加時に売価適用期間テーブル91に登録される。
これに対し、ユーザが図１２(a)の新規登録画面95において適用開始日と適用終了日を同時に入力した場合、売価履歴管理部22はDBサーバ16に対し、最初から売価適用期間データを売価適用期間テーブル91に登録することを依頼する。
【００７９】
もっとも、ユーザが図１２(a)の新規登録画面95において適用開始日と適用終了日を同時に入力した場合には、売価適用期間データを売価適用期間テーブル91に登録することなく、５つのテーブル構成を前提とした第１の履歴管理システム10の場合と同様、売価履歴管理部22が適用開始データ及び適用終了データの登録日時の同一性に基づいて適用開始日と適用終了日のマッチングを行うように、この第２の履歴管理システム90を構成することもできる。
【００８０】
売価適用開始データを一旦登録した後、対をなす売価適用終了データが登録される前に当該売価適用開始データ自体が不要になった場合には、当該売価適用開始データに係る売価適用開始IDを売価適用開始取消テーブル40に登録すればよい。
【００８１】
上記においては、先に売価適用開始日が登録された後、売価適用終了日が追加されるパターンを例示したが、図１４(1)に示すように、先に売価適用終了日を登録しておき、図１４(2)に示すように、後で売価適用開始日を追加することも当然に可能である。
【００８２】
上記においては、クライアント端末17からのリクエストに応じてデータの検索や更新が実行される例を示したが、履歴管理部は他のコンピュータシステムからのリクエストに応じて上記の各種処理を実行することも当然に可能である。
【図面の簡単な説明】
【００８３】
【図１】この発明に係る時限データの第１の履歴管理システムの全体構成を示すブロック図である。
【図２】DBサーバに格納された各テーブルの具体例を示す図である。
【図３】検索条件入力画面及び検索結果画面を示す図である。
【図４】売価履歴情報の一例を示す模式図である。
【図５】検索条件入力画面及び検索結果画面を示す図である。
【図６】売価適用情報の詳細画面を示す図である。
【図７】この発明に係る時限データの第１の履歴管理システムの変形例を示すブロック図である。
【図８】DBサーバに格納された各テーブルの具体例を示す図である。
【図９】検索条件入力画面及び検索結果画面を示す図である。
【図１０】この発明に係る時限データの第２の履歴管理システムの全体構成を示すブロック図である。
【図１１】DBサーバに格納された各テーブルの具体例を示す図である。
【図１２】新規登録画面及び詳細画面を示す図である。
【図１３】売価適用情報の一例を示す模式図である。
【図１４】売価適用情報の一例を示す模式図である。
【符号の説明】
【００８４】
10 時限データの第１の履歴管理システム
12   Webサーバ
14   APサーバ
16   DBサーバ
17   クライアント端末
18   データ参照部
20   データ更新部
22   売価履歴管理部
24   テーブル設定部
26   型生成部
27   型格納部
28   コンパイラ
30   データアクセス汎用部品
32   データベース管理システム
34   売価基本テーブル
36   売価適用開始テーブル
38   売価適用終了テーブル
40   売価適用開始取消テーブル
42   売価適用終了取消テーブル
50   検索条件入力画面
52   検索ボタン
54   検索結果画面
56   検索結果画面
58   修正ボタン
60   詳細画面
62   登録ボタン
64   削除ボタン
66   追加ボタン
70   売価基本クラス
71   売価適用開始クラス
72   売価適用終了クラス
73   売価適用開始取消クラス
74   売価適用終了取消クラス
76   税率基本テーブル
77   税率適用開始テーブル
78   税率適用終了テーブル
79   税率適用開始取消テーブル
80   税率適用終了取消テーブル
81   税率基本クラス
82   税率適用開始クラス
83   税率適用終了クラス
84   税率適用開始取消クラス
85   税率適用終了取消クラス
86   税率履歴管理部
87   検索条件入力画面
88   検索ボタン
89   検索結果画面
90   時限データの第２の履歴管理システム
91   売価適用期間テーブル
93   売価適用期間クラス
95   新規登録画面
96   登録ボタン
【図１】
0005841704.tif 000002
【図２】
0005841704.tif 000003
【図３】
0005841704.tif 000004
【図４】
0005841704.tif 000005
【図５】
0005841704.tif 000006
【図６】
0005841704.tif 000007
【図７】
0005841704.tif 000008
【図８】
0005841704.tif 000009
【図９】
0005841704.tif 000010
【図１０】
0005841704.tif 000011
【図１１】
0005841704.tif 000012
【図１２】
0005841704.tif 000013
【図１３】
0005841704.tif 000014
【図１４】
0005841704.tif 000015