以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
本発明では、例えば、次のような業務を対象として説明する。ここでは、複数の部拠点(以下、「報告部」という。)と、各報告部から営業成績や各種通達の回答等の報告情報を収集する本部(以下、「依頼部」という。)と、を有する企業があるとする。このとき、まず、依頼部の担当者は、表計算ソフト等を用いて、報告情報を入力するための入力形式を定義した表形式のファイルを作成する。そして、依頼部の担当者は、ワークフローシステム等を介して表形式のファイルを各報告部へ配布する。次に、各報告部の担当者は、配布されたファイル内に自己の部拠点における報告情報を入力形式に従って入力する。その後、各報告部の担当者は、ワークフローシステム等を介して入力済みのファイルを依頼部へ送信する。本発明にかかる報告情報収集システムは、上述したワークフローシステムとして適用可能なものである。但し、以下では、一般的なワークフローシステムに関する説明は省略し、本発明にかかる報告情報収集システムに特有の機能を中心に説明を行う。
<発明の実施の形態1>
図1は、本発明の実施の形態1にかかる報告情報収集システム4を含む全体構成を示すブロック図である。報告情報収集システム4は、ネットワーク3を介して、依頼部端末1並びに報告部端末2a、2b、・・・及び2nと接続され、各報告部端末から送信される報告情報を収集する報告情報収集処理を行う情報システムである。ここで、報告情報とは、複数の項目に対応するデータの組み合わせである。そして、報告情報は、複数の項目を含む表形式のファイルに入力された情報を指すものとする。報告情報の例としては、各報告部における営業成績や各種通達の回答等があるが、これに限定されない。また、依頼部は、少なくとも一つ以上の報告部からの報告情報を収集するものとする。
報告情報収集システム4は、報告情報収集サーバ41と、データベース42と、定義情報記憶部43とを備える。データベース42は、報告情報422を管理するための記憶装置である。データベース42は、DBMS(DataBase Management System)等により記憶装置が制御されることにより実現される。具体的には、データベース42は、上述した複数の項目がスキーマとして定義されたテーブル421により、報告情報422を格納する。
定義情報記憶部43は、報告情報422の入力形式が定義された定義情報431を記憶する記憶装置である。ここで、定義情報431は、複数の項目を定義した項目情報432と、複数の項目に入力されるデータに課される制約条件433とを含む。制約条件433は、複数の項目のそれぞれについて、項目に課される制約の定義を含む。制約条件433は、制約種別と条件値とを含む。制約種別は、制約の内容を示す情報であり、制約の定義を識別する情報である。条件値は、項目に入力される入力値が制約の内容を満たすか否かを判定するための比較値である。但し、制約種別の内容によっては、条件値が不要となる場合もある。
ここで、図2は、本発明の実施の形態1にかかる制約条件の例を示す図である。図2では、9つの制約種別を例示しており、これらは単独項目の制約条件と関連項目の制約条件とに分けられる。単独項目の制約条件とは、他の項目の入力値に影響を受けない制約条件である。例えば、制約種別が大小関係の内、「GE」であり、条件値が「10」である場合、単独項目の制約条件は、「入力値が10以上であること」となる。また、関連項目の制約条件とは、複数の項目の一部に入力される値に基づいて他の項目に入力されるデータを制限する条件である。例えば、項目Bに単独項目の制約条件が定義され、さらに、関連項目として項目Aについて制約種別の「存在」が定義されている場合、関連項目Aの入力値が存在しない場合には、項目Bの入力値に関わらず制約条件を満たさないこととなる。これにより、同一テーブル内の項目間のデータの関連といった詳細な制約条件を定義することができる。
また、制約種別は、後述する検査手段53a、53b、・・・及び53mのいずれかに対応付けられている。すなわち、制約種別は、検査手段を識別する制約識別子である。そのため、制約識別子により、検査手段を特定することができる。さらに、制約条件433は、一項目当たり複数の制約を定義することができる。尚、データベース42及び定義情報記憶部43は、ハードディスクドライブ、フラッシュメモリ等の不揮発性の記憶装置であることが望ましい。
図1に戻り、報告情報収集サーバ41は、汎用的なコンピュータシステムであり、報告情報422の収集処理を実行する制御部50を少なくとも備える。尚、報告情報収集サーバ41の具体的なハードウェア構成については、図5にて後述する。制御部50は、定義情報登録手段51と、報告情報登録手段52と、検査手段53a、53b、・・・及び53mとして機能する。
定義情報登録手段51は、依頼部端末1からネットワーク3を介して定義情報431を受け付けた場合に、受け付けた定義情報431の一部を用いて、受け付けた定義情報431により課される制約よりも小さい制約のテーブル421をデータベース42内に生成し、受け付けた定義情報431を定義情報記憶部43へ格納する。そして、報告情報登録手段52は、報告部端末2a、2b、・・・及び2nのいずれかからネットワーク3を介して報告情報422が入力された表形式のファイルを受け付けた場合に、受け付けたファイルに入力された報告情報422が定義情報記憶部43に格納された定義情報431を満たすか否かを判定する。そして、定義情報431を満たすと判定した場合に、報告情報登録手段52は、受け付けたファイルに入力された報告情報422をテーブル421に格納する。これにより、まず、依頼部の担当者が所望の項目を定義した定義情報431を登録することにより、当該項目に対応するテーブル421を自動的に作成することができる。そのため、報告情報を蓄積するためのデータベースの構築作業が不要となり、情報システムの稼働を停止する必要がなくなる。また、定義情報431を定義情報記憶部43に保持しておくことにより、受け付けたファイルに入力された報告情報422について、保持された定義情報431を用いて、テーブル421に入力されるデータのチェックを行うことができる。そのため、テーブル421に専用のチェックプログラムの開発及び改修が必要ない。また、報告情報の仕様を変更する場合には、変更を加えた定義情報431を再登録することにより、適宜、変更箇所に対応してテーブル421が自動的に変更される。さらに、テーブル421は、受け付けた定義情報431の一部を用いて作成される。そのため、例えば、報告情報の仕様の変更内容がテーブル421の作成に用いられていない定義情報431の内容である場合、テーブル421を変更する必要がなく、報告情報の仕様の変更に柔軟に対応できる。
また、定義情報登録手段51は、定義情報431を受け付けた場合に、当該受け付けた定義情報431に含まれる項目情報432を用いてテーブル421をデータベース42内に生成する。そして、報告情報登録手段52は、報告情報422が入力された表形式のファイルを受け付けた場合に、受け付けたファイルに含まれる項目と当該項目に入力されたデータとが定義情報記憶部43に格納された定義情報431に含まれる項目情報432及び制約条件433を満たすか否かを判定する。これにより、項目情報432に対応するテーブル421が作成され、複雑な条件設定を含む制約条件433については、テーブル421の作成には用いられない。一方、受け付けた報告情報422に対しては、テーブル421に課される制約より大きい制約によりチェックを行うことで、テーブル421に登録されるデータは、テーブル421に課される制約を満たすことができる。そして、制約条件433が変更された場合には、テーブル421の定義に影響を与えないため、テーブルの変更回数が減り、データベースの再構成の回数を抑えることができる。
さらに、定義情報登録手段51は、報告情報422が入力されていない表形式のファイルつまり、入力形式ファイルを受け付けた場合、受け付けたファイルと既に受け付けた定義情報431との整合性があるか否かを判定する。続いて、定義情報登録手段51は、整合性があると判定された場合に、受け付けた定義情報431の一部を用いて、テーブル421をデータベース42内に生成し、受け付けた定義情報431と受け付けたファイルの表形式とを関連付けて定義情報記憶部43へ格納する。その後、定義情報登録手段51は、複数の報告元である報告部端末2a、2b、・・・及び2nへ報告情報の要求を送信する。または、依頼部端末1からネットワーク3を介して当該報告情報の要求先の報告部端末の指定及び入力形式ファイルを受け付けた場合に、定義情報登録手段51は、当該報告情報の要求を送信するようにしてもよい。
この後、報告情報登録手段52は、報告部端末2a、2b、・・・及び2nのそれぞれから、報告情報422が入力された複数の表形式のファイルを受け付けた場合に、受け付けた複数のファイルの表形式と関連付けられた定義情報431を定義情報記憶部43から特定する。そして、報告情報登録手段52は、受け付けた複数のファイルが特定された定義情報431を満たすか否かを判定する。これにより、入力形式ファイルと定義情報との項目等の整合性を保って管理することができる。また、複数の報告元から収集した情報の整合性を保つことができる。
検査手段53a、53b、・・・及び53mは、任意の項目に入力されるデータが、複数の制約の定義のいずれかに対応する制約を満たすか否かを検査する。また、上述したように、検査手段53a、53b、・・・及び53mは、制約種別に対応付けられている。そして、報告情報登録手段52は、定義情報記憶部43に格納された定義情報431に含まれる制約条件433を参照し、受け付けたファイルに含まれる項目から当該項目に課される制約の定義を特定する。そして、報告情報登録手段52は、複数の検査手段53a、53b、・・・及び53mの中から、特定された制約の定義に対応する制約を検査する検査手段を選択する。その後、報告情報登録手段52は、選択された検査手段を用いて当該項目に入力されたデータを検査する。これにより、複雑な制約条件の検査処理を検査手段という形で予め実装しておき、項目毎の制約条件の定義に従い、適宜、検査手段を選択的に実行するため、制約条件の変更に柔軟に対応できる。
依頼部端末1並びに報告部端末2a、2b、・・・及び2nは、キーボードやマウス等の入力装置(不図示)と、画面等の表示装置(不図示)とを備える端末装置であり、表形式のファイルを編集可能な、いわゆる表計算ソフトが動作するものとする。例えば、依頼部端末1並びに報告部端末2a、2b、・・・及び2nは、通信機能を備え、WEBブラウザ等の表示アプリケーションを備えたパーソナルコンピュータであるとよい。
ここで、依頼部端末1は、依頼部の担当者が操作する端末である。依頼部端末1は、報告情報を入力するために複数の項目を定義した入力形式ファイルと、当該報告情報の入力形式が定義された定義情報を含む定義情報ファイルとを表計算ソフトにより作成する。そして、依頼部端末1は、入力形式ファイルと定義情報ファイルとをネットワーク3を介して報告情報収集システム4へ送信し、登録要求を行う。ここで、入力形式ファイル及び定義情報ファイルは、共に、複数のセルからなる2次元の表形式のファイルとし、複数の項目の名称及び順序すなわち列位置が対応しているものとする。これにより、依頼部の担当者は、一般的な表計算ソフトを用いて容易に報告情報の入出力インタフェースと、その制約条件とを定義することができる。入力形式ファイルは、報告部の担当者により報告情報を入力するための入力フォーマットそのものである。
ここで、図3は、本発明の実施の形態1にかかる入力形式ファイルの例を示す図である。図3に示す入力形式ファイルは、ヘッダ領域601とデータ領域602とを含む。ヘッダ領域601は、報告情報のタイトルや当該報告情報の複数の項目の名称及び順序の定義を含む領域である。項目の名称は、項目の識別情報である。ここでは、例として、3行目に項目の名称が"ItemA"、"ItemB"、"ItemC"、"ItemD"の順序により定義されていることを示す。また、データ領域602は、報告情報が入力される領域である。ここでは、4行目以降に、1行当たり1報告情報とし、1報告情報当たり各項目に1データが対応付けられることを示す。尚、項目の名称については、ASCII(American Standard Code for Information Interchange)文字で表現されるものとする。また、ヘッダ領域601には、項目の説明等の情報を含めても構わない。
また、図4は、本発明の実施の形態1にかかる定義情報ファイルの例を示す図である。図4に示す定義情報ファイルは、ヘッダ領域603と制約条件領域604とを含む。ヘッダ領域603は、入力形式ファイルと同じ項目の名称及び順序の定義を含む領域である。ここでは、例として、2行目に項目の名称が"ItemA"、"ItemB"、"ItemC"、"ItemD"の順序により定義されていることを示す。また、制約条件領域604は、制約条件433に対応する領域である。ここでは、例として、"ItemA"の制約条件として、属性が日付型であることを示す。また、"ItemB"の制約条件として、属性が文字型であり、入力が必須かつ桁数が"10"であることを示す。尚、上述した項目情報432は、少なくとも項目の名称及び順序を含む情報である。尚、本発明の実施の形態1では、項目情報432は、さらに属性及び桁数を含むものとする。また、制約条件433は、項目ごとの制約種別及び条件値を表す情報である。尚、本発明の実施の形態1にかかる入力形式ファイル及び定義情報ファイルは、いわゆるスプレッドシート(以下、「シート」という。)が一つの場合として説明する。
また、図1に戻り、報告部端末2a、2b、・・・及び2nは、複数の部拠点にそれぞれ設置された端末であり、複数の報告部のそれぞれの担当者が操作するものである。報告部端末2a、2b、・・・及び2nは、報告情報収集システム4等から配布される入力形式ファイルを受信し、自己の部拠点における報告情報を入力形式ファイルに表計算ソフトにより入力する。すなわち、報告部端末2a、2b、・・・及び2nは、入力形式ファイルを更新する。その後、報告部端末2a、2b、・・・及び2nは、報告情報が入力された入力形式ファイル、つまり、入力済みファイルを報告情報収集システム4へ送信し、登録要求を行う。
その後、依頼部端末1は、報告情報収集システム4から入力済みファイルを取得するか、後述するテーブル421を参照するなどにより、各報告部からの報告情報を確認又は加工等の処理を行うことができる。
ネットワーク3は、インターネット、公衆網、専用線及び移動体通信網等の通信ネットワークである。
図5は、本発明の実施の形態1にかかる報告情報収集システムのハードウェア構成を示すブロック図である。報告情報収集サーバ41は、CPU(Central Processing Unit)411と、RAM(Random Access Memory)412と、ROM(Read Only Memory)413と、通信部414と、ハードディスク415とを備える。また、ハードディスク415は、不揮発性記憶装置であり、OS(Operating System)510及び報告情報収集プログラム520が格納されている。尚、ハードディスク415は、データベース42及び定義情報記憶部43をさらに含むものであってもよい。
報告情報収集プログラム520は、定義情報登録処理及び報告情報登録処理が実装されたコンピュータプログラムである。具体的には、報告情報収集プログラム520は、定義情報登録モジュール521、報告情報登録モジュール522、検査モジュール523a、523b、・・・及び523mを含む。ここで、定義情報登録モジュール521は、上述した定義情報登録手段51における処理が実装されたコンピュータプログラムである。報告情報登録モジュール522は、上述した報告情報登録手段52における処理が実装されたコンピュータプログラムである。検査モジュール523a、523b、・・・及び523mのそれぞれは、上述した検査手段53a、53b、・・・及び53mのそれぞれにおける処理が実装されたコンピュータプログラムである。
特に、検査モジュール523a、523b、・・・及び523mは、関数やAPI(Application Program Interface)等で実現されるものであり、例えば、図2に示した複数の制約種別の一つに対応付けられたものである。そして、検査モジュール523a、523b、・・・及び523mは、対応付けられた制約種別に相当する処理が実装されている。例えば、検査モジュール523aが「大小関係(GE)」に対応付けられている場合、検査モジュール523aは、入力値が条件値以上であるか否かを判定し、入力値が条件値以上である場合に「OK」、入力値が条件値未満である場合に「NG」を戻り値とする処理が実装されていることとなる。そのため、報告情報登録モジュール522は、ある項目における制約条件433の制約種別から、検査モジュールのいずれかを選択し、当該項目の入力値と条件値とを選択された検査モジュールに入力し、戻り値により、当該入力値が制約条件を満たすか否かを判定することができる。
CPU411は、報告情報収集サーバ41における各種処理、RAM412、ROM413、通信部414及びハードディスク415へのアクセス等を制御する。通信部414は、データベース42及び定義情報記憶部43並びにネットワーク3を介して依頼部端末1、報告部端末2a、2b、・・・及び2nとの通信を行う。報告情報収集サーバ41は、CPU411が、RAM412、ROM413又はハードディスク415に格納されたOS510及び報告情報収集プログラム520を読み込み、実行する。これにより、報告情報収集サーバ41は、定義情報登録処理及び報告情報登録処理を行うことができる。尚、報告情報収集サーバ41は、複数台に分散して実現されても構わない。
図6は、本発明の実施の形態1にかかる報告情報収集処理の流れを示すシーケンス図である。まず、依頼部端末1は、入力形式ファイル及び定義情報ファイルを報告情報収集サーバ41に対して送信し、登録要求を行う(S11)。
次に、報告情報収集サーバ41は、定義情報登録処理を行う(S12)。すなわち、報告情報収集サーバ41は、依頼部端末1から受け付けた入力形式ファイル及び定義情報ファイルについて検査を行い(S121)、その後、データベース42内にテーブル421を作成する(S122)。尚、定義情報登録処理の詳細は、図7に後述する。
続いて、報告情報収集サーバ41は、報告部端末2a、2b、・・・及び2nのそれぞれへ報告情報の入力依頼を通知する(S13)。ここでは、報告情報収集サーバ41は、通知に併せて、依頼部端末1から受け付けた入力形式ファイルを送信する。尚、報告情報収集サーバ41は、必ずしも入力形式ファイルを送信しなくても構わない。その場合、通知を受けた報告部端末が、報告情報収集サーバ41に対して入力形式ファイルの取得要求を行い、ダウンロードしてもよい。または、別途、ワークフローシステム等を介して依頼部端末1から入力形式ファイルを取得しても構わない。
そして、報告部端末2a、2b、・・・及び2nのそれぞれは、取得した入力形式ファイルに自己の部拠点における報告情報を入力する(S14)。その後、報告部端末2a、2b、・・・及び2nのそれぞれは、入力済みファイルを報告情報収集サーバ41に対して送信し、登録要求を行う(S15)。
続いて、報告情報収集サーバ41は、報告情報登録処理を行う(S16)。すなわち、報告情報収集サーバ41は、報告部端末2a、2b、・・・及び2nのそれぞれから受け付けた入力済みファイル及び当該ファイルに入力されたデータの検査を行い(S161)、報告情報を格納する(S162)。尚、報告情報登録処理の詳細は、図11に後述する。
そして、報告情報収集サーバ41は、依頼部端末1へ報告情報を登録した旨を通知する(S17)。このとき、報告情報収集サーバ41は、通知に併せて、入力済みファイルを送信してもよい。
これにより、依頼部の担当者は、データベース42にアクセスすることによりテーブル421から各部拠点の報告情報を取得し、確認又は加工等の任意の処理を行うことができる。このとき、取得される報告情報は、定義情報431を満たすものであるため、依頼部の担当者によるデータ入力誤りの確認作業を必要とすることなく、正確な情報を得ることができる。
図7は、本発明の実施の形態1にかかる定義情報登録処理の流れを示すフローチャートである。まず、報告情報収集サーバ41の定義情報登録手段51は、依頼部端末1から入力形式ファイル及び定義情報ファイルを受け付ける(S21)。
次に、定義情報登録手段51は、ファイル制約及び2ファイル間の整合性を確認する(S22)。ここで、ファイル制約の確認とは、入力形式ファイル及び定義情報ファイルそれぞれが、ファイル単体として形式を満たしているか否かを判定することをいう。入力形式ファイルの場合、ヘッダ領域601とデータ領域602とを備えているか否かを判定する。また、定義情報ファイルの場合、ヘッダ領域603と制約条件領域604とを備えているか否かを判定する。さらに、定義情報ファイルの場合、定義情報が図2を満たしているか否かの判定も含まれる。
また、2ファイル間の整合性の確認とは、入力形式ファイルと定義情報ファイルとについて、項目の名称及び順序が一致するか否かを判定することをいう。但し、項目の名称の重複を許可しないため、項目の順序については、必ずしも順序が一致しなくても構わない。尚、ファイル制約の確認及び2ファイル間の整合性の確認の実行順序については、これに限定されず、同時並行に実行しても構わない。
ステップS22により整合性を満たしていないと判定された場合、定義情報登録手段51は、登録要求元である依頼部端末1へエラーを通知する(S25)。例えば、定義情報登録手段51は、ファイル制約又は2ファイル間の整合性の内、満たしていない内容と該当する行列番号、セル位置等をエラーメッセージと共に通知する。
また、ステップS22により整合性を満たしていると判定された場合、定義情報登録手段51は、定義情報記憶部43に定義情報431を登録する(S23)。具体的には、まず、定義情報登録手段51は、定義情報ファイルから項目情報432及び制約条件433を抽出する。そして、定義情報登録手段51は、抽出した項目情報432及び制約条件433を定義情報記憶部43に格納する。併せて、定義情報登録手段51は、定義情報431と入力形式ファイルとを関連付けて定義情報記憶部43へ格納する。
図8は、本発明の実施の形態1にかかる項目情報の例を示す図である。ヘッダ項目610は、フォーマット、バージョン、シートの各列であり、項目情報432と入力形式ファイルとを関連付けるための項目である。データ項目611は、項目情報432に対応する項目である。また、図9は、本発明の実施の形態1にかかる制約条件の例を示す図である。ヘッダ項目612は、ヘッダ項目610と同様の項目である。データ項目613は、制約条件433に対応する項目である。尚、ヘッダ項目610及び612の値は、ステップS23において定義情報登録手段51により生成される。
図7に戻り、その後、定義情報登録手段51は、データベース42内にテーブル421を作成する(S24)。具体的には、定義情報登録手段51は、項目情報432に含まれる項目の名称、順序、属性及び桁数を用いてテーブル421を作成する。つまり、定義情報登録手段51は、テーブル421の作成において、定義情報431の全ての情報を用いず、定義情報431の一部である項目情報432を用いる。項目情報432は、定義情報431の内、テーブル421を作成するために最小限の情報である。そのため、項目情報432は、制約条件433に含まれる制約条件よりも制約が小さい。すなわち、テーブル421は、定義情報431により課される制約よりも小さい制約のテーブルとして作成される。尚、ステップS23及びS24の順序は、逆であっても、同時並行であっても構わない。
図10は、本発明の実施の形態1にかかる作成されるテーブルの例を示す図である。キー項目614は、格納される報告情報422を一意に特定するための主キーの項目である。尚、キー項目614には、更新日時及び時刻の情報も含まれる。データ項目615は、報告情報422を格納するための項目である。
図11は、本発明の実施の形態1にかかる報告情報登録処理の流れを示すフローチャートである。まず、報告情報収集サーバ41の報告情報登録手段52は、報告部端末2a、2b、・・・及び2nのそれぞれから報告情報の入力済みファイルを受け付ける(S31)。図12は、本発明の実施の形態1にかかる報告情報が入力済みの入力形式ファイルの例を示す図である。
次に、図11に戻り、報告情報登録手段52は、ファイル制約を確認する(S32)。すなわち、報告情報登録手段52は、入力済みファイルについて、図7のステップS22におけるファイル制約の確認を行う。
ステップS32によりファイル制約を満たしていると判定された場合、報告情報登録手段52は、定義情報記憶部43を参照し、入力形式を特定する(S33)。すなわち、報告情報登録手段52は、定義情報記憶部43を参照し、入力済みファイルのヘッダ領域601に対応する表形式を特定する。
続いて、報告情報登録手段52は、定義情報記憶部43から定義情報431を取得する(S34)。すなわち、報告情報登録手段52は、特定された入力形式に関連付けられた定義情報431を定義情報記憶部43から取得する。
そして、報告情報登録手段52は、報告情報を検査する(S35)。具体的には、まず、報告情報登録手段52は、入力済みファイルのデータ領域602の先頭行から最終行について、各行の列ごと、すなわち処理対象の項目毎に入力値を取得する。次に、報告情報登録手段52は、定義情報431に含まれる制約条件433から、処理対象の項目に対応する制約種別を特定する。そして、報告情報登録手段52は、検査手段53a、53b、・・・53mの中から、特定された制約種別に対応する検査手段を選択する。その後、報告情報登録手段52は、選択された検査手段に対して、取得した入力値と処理対象の項目の制約種別における条件値とを入力する。そして、報告情報登録手段52は、当該検査手段から戻り値を検査結果として受け付ける。報告情報登録手段52は、入力済みファイルのデータ領域602の全ての行列に対して、これらの処理を実行する。
その後、報告情報登録手段52は、全ての検査結果が正常であるか否かを判定する(S36)。すなわち、報告情報登録手段52は、入力済みファイルのデータ領域602の全ての入力値が、制約条件433により課される制約を満たすか否かを検査する。
ステップS36により全ての検査結果が正常であると判定された場合、報告情報登録手段52は、報告情報422をデータベース42のテーブル421に格納する(S37)。図13は、本発明の実施の形態1にかかるテーブルに格納されるデータの例を示す図である。図13は、図10の例に、図12の入力値が報告情報として格納されたことを示す。このとき、テーブル421に格納されるデータは、テーブル421に課される制約よりも大きい制約を満たしたデータであるため、テーブル421の定義に反するデータは格納されず、報告情報自体に起因する格納時のエラーを防ぐことができる。そのため、今後、制約条件433の定義の内、項目情報432に関わらない部分が変更されたとしても、テーブル421の定義には影響を与えず、引き続き、報告情報を格納し続けることができる。尚、キー項目614の値は、ステップS37において報告情報登録手段52により生成される。
図11に戻り、ステップS32によりファイル制約を満たしていないと判定された場合、又は、ステップS36によりいずれかの検査結果が正常でないと判定された場合、報告情報登録手段52は、登録要求元である報告部端末2a、2b、・・・及び2nのいずれかへエラーを通知する(S38)。例えば、報告情報登録手段52は、ファイル制約又は報告情報の内、満たしていない内容と該当する行列番号、セル位置等をエラーメッセージと共に通知する。
このように、本発明の実施の形態1により、所定の入力形式のファイルにより複数の報告情報を収集する場合において、報告情報の入力形式の変更に柔軟に対応することができる。テーブルの定義には、項目の名称、順序、属性及び桁数のみを用いるが、項目が必須であることなどは、テーブルの定義とすることが可能であるにもかかわらず、定義に用いていない。さらに、入力値の大小関係や関連項目の制約条件など複雑な制約条件について、トリガー等で設定しない。そのため、項目情報432に含まれない制約条件433を変更した場合は、システムの改修作業が不要となり、項目情報432を変更した場合は、データベースの再構築が不要となり、いずれの場合もシステム停止等は不要となる。また、制約条件433についての微修正についてもテーブルの定義には影響を与えずに変更することができる。
<発明の実施の形態2>
報告情報の仕様については、業務上、様々な変更の要望が起こり得る。そこで、報告情報を登録するためのテーブルの定義の変更が生じ得る。しかし、稼働中の情報システムにおけるデータベースのテーブルの定義を更新することは、本来、専門的な知識や豊富な運用経験を必要とするなど、難易度が高いものである。そのため、特許文献2のように、要求に応じて逐次、テーブルの定義の更新を自動的に行ってしまうと、テーブルに格納済みのデータとの間で不整合が生じるなど危険性が伴う。例えば、テーブルの属性の桁数を減らす場合、既に格納済みのデータに変更後の桁数を上回るデータがあると、単純に属性の変更を行うことはできない。また、データの入力が必須ではない属性について、データの入力が必須とする属性へ変更する場合、当該属性にデータが未入力のレコードが存在する場合もやはり単純に属性の変更を行うことはできない。これらの場合、予め格納済みのデータを調査し、システム作業等により必要な措置を取らなければならない。
また、報告情報の仕様が変更されたとしても、過去の入力されたデータを参照することは業務上あり得る。そのため、テーブルに格納済みのデータについても残し、変更後に参照可能とする必要がある。また、ユーザによる報告情報の仕様の管理を容易にさせるためにも、上述したように仕様変更に制限をかけることは望ましくない。そこで、本発明の実施の形態2では、報告情報の仕様の変更がテーブルの定義に影響を与える場合であっても、格納済みのデータを残しつつ、テーブルに格納済みのデータとの間で不整合が生じないようにテーブルの更新を行うものである。
具体的には、本発明の実施の形態2にかかる報告情報収集システムは、本発明の実施の形態1にかかる報告情報収集システム4の定義情報登録手段51に変更を加えたものである。本発明の実施の形態2にかかる定義情報登録手段51は、受け付けた定義情報431が複数の項目の一部の定義を変更する場合、テーブル421の当該変更される項目を末尾に移動し、変更後の項目を変更前の項目の位置に挿入するようにテーブル421を更新する。これにより、項目情報432の定義が変更された場合であっても、以前の項目を残すことができるため、過去のデータを参照し続けることができる。さらに、他からの参照などによるデータ不整合を防ぐことができる。また、頻繁な定義情報431の変更に対応できる。尚、本発明の実施の形態2にかかる報告情報収集システムは、本発明の実施の形態1と比べて、上述した以外の構成に変更がない。以下、実施の形態1との違いを中心に説明し、実施の形態1と同等の構成及び処理については、詳細な説明を省略する。
図14は、本発明の実施の形態2にかかるテーブル更新処理の流れを示すフローチャートである。以下の説明において、図7又は図11と同等の処理については、適宜、説明を省略する。まず、定義情報登録手段51は、依頼部端末1から更新対象の入力形式ファイル及び定義情報ファイルを受け付ける(S41)。
図15は、本発明の実施の形態2にかかる項目を変更する場合の定義情報ファイルの例を示す図である。図15の変更項目605は、上述の図4に示した定義情報ファイルの内、"ItemC"についての制約条件433が変更されたことを示す。また、図示を省略するが、入力形式ファイルについてもヘッダ領域601の項目が同様に変更される。
図14に戻り、定義情報登録手段51は、ファイル制約及び2ファイル間整合性を確認する(S42)。ここでは、図7のステップS22と同様に、受け付けたファイル自体についての確認を行う。また、ステップS42によりファイル制約及び2ファイル間の整合性を満たしていないと判定された場合、定義情報登録手段51は、ステップS25と同様に、登録要求元である依頼部端末1へエラーを通知する(S49)。
また、ステップS42によりファイル制約及び2ファイル間の整合性を満たしていると判定された場合、定義情報登録手段51は、図11のステップS33と同様に、入力形式を特定する(S43)。
続いて、定義情報登録手段51は、定義情報記憶部43から更新前の定義情報431を取得する(S44)。すなわち、定義情報登録手段51は、特定された表形式に関連付けられた定義情報431を定義情報記憶部43から取得する。
そして、定義情報登録手段51は、更新前後の差分を抽出する(S45)。具体的には、まず、定義情報登録手段51は、受け付けた定義情報ファイルから更新後の項目情報432及び制約条件433を抽出する。次に、定義情報登録手段51は、抽出した更新後の項目情報432及び制約条件433と、取得した更新前の定義情報431に含まれる項目情報432及び制約条件433とを比較し、差分を抽出する。
そして、定義情報登録手段51は、更新の種類を判定する(S46)。すなわち、まず、定義情報登録手段51は、更新前後の項目情報432に差分があるか否かを判定し、差分があると判定した場合、項目が追加、削除、変更のいずれであるかを判定する。尚、差分が複数の項目に渡る場合は、項目毎にステップS46、S471、S472、S473及びS474の処理を適宜、繰り返し実行する。例えば、図15のように、"ItemC"の列位置に"ItemCC"が存在する場合は、"ItemC"が削除され、"ItemCC"が追加されたため、変更と判定する。尚、項目名が一致しても属性が変更しているか、桁数が減少しているなどの場合、定義情報登録手段51は、受け付けた定義情報ファイルが適切でないものと判断して、ステップS49と同様に、登録要求元である依頼部端末1へエラーを通知することが望ましい。または、項目名が一致しても桁数が増加する場合は、変更と判定しても構わない。すなわち、定義情報登録手段51は、少なくとも格納済みのデータが保持されるような項目の変更については、変更と判定しても構わない。
ステップS46により追加と判定された場合、定義情報登録手段51は、差分の項目をテーブル421へ挿入する(S471)。すなわち、定義情報登録手段51は、更新後の項目情報432の情報において追加された列位置に、列を挿入してデータベース42内のテーブル421の定義を更新する。
ステップS46により削除と判定された場合、定義情報登録手段51は、差分の項目をテーブル421の末尾へ移動する(S472)。すなわち、定義情報登録手段51は、更新後の項目情報432の情報において削除された項目の列位置をテーブル421における末尾の列位置へ移動する。すなわち、削除対象の項目であっても、実際には、削除をせずテーブル421内に残す。これにより、必要に応じて、過去のデータを再利用することができる。さらに、仮に削除対象の項目が他の項目における関連項目である場合や、他のテーブルとの間でリレーションシップが定義されていた場合などであっても、不整合を発生させることなく、テーブルの定義を更新することができる。
ステップS46により変更と判定された場合、定義情報登録手段51は、ステップS472と同様に、差分の項目をテーブル421の末尾へ移動する(S473)。すなわち、定義情報登録手段51は、更新後の項目情報432の情報において変更された項目について、変更前の項目の列位置をテーブル421における末尾の列位置へ移動する。また、定義情報登録手段51は、ステップS471と同様に、差分の項目をテーブル421へ挿入する(S474)。すなわち、定義情報登録手段51は、更新後の項目情報432の情報において変更された列位置に、列を挿入してデータベース42内のテーブル421の定義を更新する。つまり、変更前の項目の名称、属性又は桁数に変更を加えるのではなく、変更前の項目を列ごと末尾へ残し、変更後の項目を新たに追加する。これにより、過去のデータを参照することができる。また、格納済みのデータとの間で不整合が生じることを防ぐことができる。
尚、定義情報登録手段51は、上記のステップS46〜S474については、項目毎に、以下の処理に置き換えても構わない。まず、定義情報登録手段51は、項目が削除されたか否かを判定し、削除されたと判定した場合に、ステップS472の処理を行う。その後、項目が追加されたか否かを判定し、追加されたと判定した場合に、ステップS471の処理を行う。これにより、上記の変更の場合、ステップS472の処理の後、ステップS471の処理が行われることとなり、上記のステップS46〜S474と同じ結果が得られる。
この後、定義情報登録手段51は、更新後の定義情報431により更新する(S48)。すなわち、定義情報登録手段51は、抽出した更新後の項目情報432及び制約条件433を定義情報記憶部43に格納する。また、ステップS46により更新前後の項目情報432に差分がないと判定された場合も、定義情報登録手段51は、同様に更新後の定義情報431により更新する(S48)。
図16は、本発明の実施の形態2にかかるテーブルの項目の定義が変更された場合の例を示す図である。図16は、図13の例に、図15の項目の変更が反映され、その後に、報告情報が追加登録されたことを示す。つまり、追加項目606の上位5行には、データがなく、下位2行のみにデータが格納される。一方、削除項目607には、上位5行に更新前のデータが残され、下位2行にはデータが格納されない。
以上のように、本発明の実施の形態2により、システム停止を行うことなく、テーブルの更新を行うことができる。
<発明の実施の形態3>
報告情報の種類は、多岐に渡るため、一ファイルに複数種類の報告情報を異なる入力形式により入力させたいというニーズがある。一方、同じ入力形式であっても、業種ごと等に別々に収集し、同一のテーブルに格納させたいというニーズもある。これらの場合、一ファイル内の複数のスプレッドシートにそれぞれ報告情報を入力させることが考えられる。そこで、本発明の実施の形態3にかかる報告情報収集システムは、一ファイルに複数のスプレッドシートを含み、各スプレッドシートにそれぞれ報告情報を入力させる場合を対象とする。
具体的には、本発明の実施の形態3にかかる報告情報収集システムは、本発明の実施の形態1にかかる報告情報収集システム4の定義情報登録手段51及び報告情報登録手段52に変更を加えたものである。まず、本発明の実施の形態3にかかる表形式のファイルは、複数の項目が同一である複数のスプレッドシートを含む。そして、本発明の実施の形態3にかかる報告情報登録手段51は、複数のスプレッドシートに異なる報告情報が入力された表形式のファイルを受け付けた場合に、受け付けたファイルに入力されたスプレッドシート毎の報告情報を同一のテーブルに異なるレコードとして格納する。これにより、同一の入力形式の複数種類の報告情報をまとめて管理することができる。尚、本発明の実施の形態3にかかる報告情報収集システムは、本発明の実施の形態1と比べて、上述した以外の構成に変更がない。以下、実施の形態1との違いを中心に説明し、実施の形態1と同等の構成及び処理については、詳細な説明を省略する。
図17は、本発明の実施の形態3にかかる定義情報登録処理の流れを示すフローチャートである。以下の説明において、図7と同等の処理については、適宜、説明を省略する。まず、定義情報登録手段51は、依頼部端末1から複数シートの入力形式ファイル及び定義情報ファイルを受け付ける(S51)。
図18は、本発明の実施の形態3にかかる複数シートの入力形式ファイルの例を示す図である。図18(a)は、入力形式ファイルの先頭のシートであるシート620の例である。また、図18(b)は、二番目のシートであるシート621の例である。ここでは、シート620及び621は、同一の入力形式であるものとする。つまり、ヘッダ領域601における項目の名称及び順序が共通している。
図19は、本発明の実施の形態3にかかる複数シートで共通のテーブルを使用する場合の定義情報ファイルの例を示す図である。図19(a)は、定義情報ファイルの先頭のシートであるシート622の例である。図19(b)は、定義情報ファイルの二番目のシートであるシート623の例である。特に、シート623は、ヘッダ領域601の1行目にテーブルタイプ624を含む。ここでは、"S"が入力されることにより、シート623の以下の定義は、シート622と同等であることを示し、シート623内の定義は無視される。そのため、シート623は、テーブルタイプ624以外の定義は不要となる。尚、テーブルタイプ624に"S"以外が入力されている場合は、他のシートとは独立した報告情報の定義情報として認識される。
尚、図18の入力形式ファイルにおける"Work1"というシートは、報告情報が入力されないワークシートである。そのため、図19の定義情報ファイルにおける"Work1"というシートには、当該シートが報告情報の入力対象外として扱う旨を定義する。例えば、スプレッドシートにテーブルタイプ624自体が設定されていないことにより、ワークシートとして扱うようにするとよい。つまり、本発明の実施の形態3にかかる入力形式ファイル及び定義情報ファイルは、複数のスプレッドシートの内、報告情報が入力されないワークシートを含んでも構わない。
図17に戻り、定義情報登録手段51は、ファイル制約及び2ファイル間のシート名の整合性を確認する(S52)。ここでは、まず、ファイル制約の確認として、定義情報登録手段51は、各ファイルのシートの名称やシート単独の記載が形式を満たしているか否かを判定する。次に、2ファイル間のシート名の整合性の確認として、定義情報登録手段51は、入力形式ファイルと定義情報ファイルとについて、シートの名称及び順序が一致するか否かを判定する。尚、ファイル制約の確認及び2ファイル間のシート名の整合性の確認の実行順序については、これに限定されず、同時並行に実行しても構わない。また、定義情報登録手段51は、ワークシートについてはシート名以外の整合性の確認を行わないものとする。
ステップS52により整合性を満たしていると判定された場合、定義情報登録手段51は、複数シートで共通の形式であるか否かを判定する(S53)。具体的には、定義情報登録手段51は、受け付けた定義情報ファイルのテーブルタイプ624に"S"が入力されているか否かを判定する。
ステップS53により複数シートで共通の形式であると判定された場合、定義情報登録手段51は、入力形式ファイルのシート間の項目の整合性を確認する(S54a)。例えば、定義情報登録手段51は、図18のシート620及び621の項目が整合性を満たすか否かを判定する。
ステップS54aにより整合性を満たすと判定された場合、定義情報登録手段51は、定義情報ファイルの先頭シートと入力形式ファイルの全シートとの項目の整合性を確認する(S55a)。例えば、定義情報登録手段51は、図19のシート622の項目と、図18のシート620及び621の項目とが整合性を満たすか否かを判定する。
ステップS55aにより整合性を満たすと判定された場合、定義情報登録手段51は、先頭シートの定義情報を登録する(S56a)。具体的には、まず、定義情報登録手段51は、定義情報ファイルのシート622から項目情報432及び制約条件433を抽出する。そして、定義情報登録手段51は、抽出した項目情報432及び制約条件433を定義情報記憶部43に格納する。併せて、定義情報登録手段51は、定義情報431と入力形式ファイルとを関連付けて定義情報記憶部43へ格納する。
その後、定義情報登録手段51は、データベース42内にシート間で共通のテーブル421を作成する(S57a)。具体的には、定義情報登録手段51は、先頭シートの項目情報432に含まれる項目の名称、順序、属性及び桁数を用いてテーブル421を作成する。
一方、ステップS53により複数シートで共通の形式でないと判定された場合、定義情報登録手段51は、2ファイル間のシート毎の項目の整合性を確認する(S54b)。例えば、定義情報登録手段51は、入力形式ファイルと定義情報ファイルの1番目のシート同士の項目の整合性を確認し、続いて、2番目、3番目、・・・最終シート同士の項目が整合性を満たすか否かを判定する。
ステップS54bにより整合性を満たすと判定された場合、定義情報登録手段51は、シートごとに定義情報を登録する(S56b)。具体的には、まず、定義情報登録手段51は、定義情報ファイルの各シートから項目情報432及び制約条件433を抽出する。そして、定義情報登録手段51は、抽出した項目情報432及び制約条件433を定義情報記憶部43に格納する。併せて、定義情報登録手段51は、各シートの定義情報431と入力形式ファイルの各シートとを関連付けて定義情報記憶部43へ格納する。
その後、定義情報登録手段51は、データベース42内のシートごとに異なるテーブル421を作成する(S57b)。具体的には、定義情報登録手段51は、各シートの項目情報432に含まれる項目の名称、順序、属性及び桁数を用いてそれぞれのテーブル421を作成する。尚、ステップS56b及びS57bの処理は、シート単位にまとめて実行し、全てのシートについて繰り返しても構わない。
尚、ステップS52、S54a、S55a又はS54bにより整合性を満たさないと判定された場合、定義情報登録手段51は、ステップS25と同様に、登録要求元である依頼部端末1へエラーを通知する(S58)。
図20は、本発明の実施の形態3にかかる報告情報登録処理の流れを示すフローチャートである。以下の説明において、図11又は図17と同等の処理については、適宜、説明を省略する。まず、報告情報登録手段52は、報告部端末2a、2b、・・・及び2nのそれぞれから報告情報の複数シートの入力済みファイルを受け付ける(S61)。
次に、報告情報登録手段52は、ファイル制約を確認する(S62)。すなわち、報告情報登録手段52は、入力済みファイルのシートの名称やシート単独の記載が形式を満たしているか否かを判定する。ステップS62によりファイル制約を満たしていると判定された場合、報告情報登録手段52は、定義情報記憶部43を参照し、入力形式を特定する(S63)。
続いて、報告情報登録手段52は、複数シートで共通の形式であるか否かを判定する(S64)。例えば、報告情報登録手段52は、定義情報記憶部43を参照し、特定された入力形式が複数シートで共通の形式であるか否かを判定する。
ステップS64により複数シートで共通の形式であると判定された場合、報告情報登録手段52は、定義情報記憶部43から全シートに共通の定義情報431を取得する(S65a)。すなわち、報告情報登録手段52は、特定された入力形式に関連付けられた定義情報431を定義情報記憶部43から取得する。
続いて、報告情報登録手段52は、共通の定義情報により全シートの報告情報を検査する(S66a)。例えば、報告情報登録手段52は、各シートに共通の定義情報を用いて、ステップS35と同様の処理を実行する。その後、報告情報登録手段52は、ステップS36と同様に、全ての検査結果が正常であるか否かを判定する(S67a)。ステップS67aにより全ての検査結果が正常であると判定された場合、報告情報登録手段52は、全シートの報告情報をデータベース42の共通のテーブルに格納する(S68a)。
一方、ステップS64により複数シートで共通の形式でないと判定された場合、報告情報登録手段52は、シート毎に異なる定義情報を取得する(S65b)。続いて、報告情報登録手段52は、シート毎の定義情報により各シートの報告情報を検査する(S66b)。その後、報告情報登録手段52は、ステップS36と同様に、全ての検査結果が正常であるか否かを判定する(S67b)。ステップS67bにより全ての検査結果が正常であると判定された場合、報告情報登録手段52は、各シートの報告情報をシート毎のテーブルに格納する(S68b)。尚、ステップS65b乃至S68bの処理は、シート単位にまとめて実行し、全てのシートについて繰り返しても構わない。
尚、ステップS62、S67a又はS67bによりファイル制約又は整合性を満たさないと判定された場合、報告情報登録手段52は、ステップS38と同様に、登録要求元である報告部端末2a、2b、・・・及び2nのいずれかへエラーを通知する(S69)。
以上のように、発明の実施の形態3により、一ファイルに複数のスプレッドシートを含み、各スプレッドシートにそれぞれ報告情報を入力させる場合に対応することができ、依頼部及び報告部において複数の入力形式ファイルを使い分けるといった処理の煩雑さを軽減することができる。
<発明の実施の形態4>
企業における部拠点が複数の国に存在する場合、各報告部において使用される言語が異なる場合がある。このとき、業務上は、同一の種類の報告情報であっても、入力形式ファイル及びその定義情報ファイルは、言語ごとに個別に定義する必要がある。一方、言語が異なったとしても、報告情報の種類としては同一であるため、共通のテーブルにて管理したいというニーズがある。そこで、本発明の実施の形態4にかかる報告情報収集システムは、複数の言語による報告情報を収集する場合を対象とする。
具体的には、本発明の実施の形態4にかかる報告情報収集システムは、本発明の実施の形態1にかかる報告情報収集システム4の定義情報登録手段51及び報告情報登録手段52に変更を加えたものである。本発明の実施の形態4にかかる定義情報登録手段51は、第1の言語に基づく項目情報及び制約条件を含む第1定義情報と、当該第1の言語に基づく項目情報及び制約条件に対応し、当該第1の言語とは異なる第2の言語に基づく項目情報及び制約条件を含む第2定義情報とを受け付けた場合に、当該第1の言語に基づく項目情報を用いてデータベース42内にテーブル421を生成し、当該受け付けた第1定義情報及び第2定義情報を定義情報記憶部43へ格納する。そして、本発明の実施の形態4にかかる報告情報登録手段52は、第2の言語に基づく報告情報が入力された表形式のファイルを受け付けた場合に、当該受け付けたファイルに入力された報告情報を、第1の言語に基づく項目情報に対応付けてテーブル421に格納する。これにより、異なる言語で共通する報告情報をまとめて管理することができる。
図21は、本発明の実施の形態4にかかる二言語の定義情報登録処理の流れを示すフローチャートである。以下の説明において、図7又は図17と同等の処理については、適宜、説明を省略する。まず、定義情報登録手段51は、二言語の入力形式ファイル及び定義情報ファイルを受け付ける(S71)。例えば、日本語を第1の言語、英語を第2の言語とした場合を考える。日本語の定義情報ファイルは、日本語に基づく項目情報及び制約条件を含む第1の定義情報である。英語の定義情報ファイルは、英語に基づく項目情報及び制約条件を含む第2の定義情報である。つまり、ここでは、日英の二言語による入力形式ファイル及び定義情報ファイルを受け付けるため、ここでは、4ファイルを受け付けることとなる。但し、入力形式ファイルにおける日本語に基づく項目情報及び英語に基づく項目情報は、項目の名称については、上述したようにASCII文字により表現されているものとし、各項目の説明や入力値の例の表現が各言語であるものとする。
図22は、本発明の実施の形態4にかかる二言語の入力形式を扱う処理の概念を示す図である。図22(a)は、二言語の入力形式で共通のテーブルを作成する場合の例である。ステップS71では、まず、定義情報登録手段51は、日本語の入力形式ファイルFA及び定義情報ファイルDefA並びに英語の入力形式ファイルFB及び定義情報ファイルDefBを受け付ける。
次に、定義情報登録手段51は、ファイル制約及び同一言語内の入力形式ファイルと定義情報ファイル間の整合性を確認する(S72)。具体的には、まず、定義情報登録手段51は、4ファイルそれぞれがファイル単体として形式を満たしているか否かを判定する。次に、定義情報登録手段51は、日本語である入力形式ファイルFAと定義情報ファイルDefAとが整合性及び英語である入力形式ファイルFBと定義情報ファイルDefBとが整合性を満たしているか否か判定する。
ステップS72により整合性を満たしていると判定された場合、定義情報登録手段51は、二言語のファイル間の整合性を確認する(S73)。具体的には、まず、定義情報登録手段51は、入力形式ファイルFAと入力形式ファイルFBとの項目の名称及び順序が一致するか、シート間の整合性を満たすか否かを判定する。次に、定義情報登録手段51は、定義情報ファイルDefAと定義情報ファイルDefBとの項目情報が一致するか、シート間の整合性を満たすか否かを判定する。
ステップS73により整合性を満たしていると判定された場合、定義情報登録手段51は、二言語分の定義情報を登録する(S74)。具体的には、まず、定義情報登録手段51は、定義情報ファイルDefA及びDefBからそれぞれ項目情報432及び制約条件433を抽出する。そして、定義情報登録手段51は、抽出した項目情報432及び制約条件433を言語に対応付けて定義情報記憶部43に定義情報431A及び431Bとして格納する。併せて、定義情報登録手段51は、日英の定義情報431と入力形式ファイルFA及びFBとを関連付けて定義情報記憶部43へ格納する。
続いて、定義情報登録手段51は、一言語の定義情報によりテーブル421を作成する(S75)。例えば、定義情報登録手段51は、日本語の定義情報である定義情報431Aによりデータベース42内にテーブル421を作成する。これにより、複数の言語による定義情報であっても、同一のテーブルに対応付けられる。
尚、ステップS72又はS73により整合性を満たさないと判定された場合、定義情報登録手段51は、ステップS58と同様に、登録要求元である依頼部端末1へエラーを通知する(S76)。
図22(b)は、二言語の報告情報を共通のテーブルに格納する場合である。例えば、日本語の報告情報RAが入力された入力済みファイルを受け付けた場合、テーブル421が日本語の定義情報431Aにより作成されているため、報告情報登録手段52は、テーブル421に報告情報422Aとして格納する。一方、英語の報告情報RBが入力された入力済みファイルを受け付けた場合であっても、報告情報登録手段52は、英語の報告情報RBを日本語の定義情報431Aに含まれる項目情報に対応付けて、同一のテーブル421に報告情報422Bとして格納する。
以上のように、本発明の実施の形態4により、異なる言語で共通する報告情報をまとめて管理することができる。
<発明の実施の形態5>
上述した本発明の実施の形態1乃至4における入力形式ファイルは、報告部端末2a、2b、・・・及び2nを用いて各担当者により報告情報が入力されるものである。そのため、各報告部の担当者が入力する際に、入力形式を維持したまま報告情報が入力される保証がない。上述した本発明の実施の形態1乃至4では、報告情報の種類に依存するいわば業務上の制約条件について満たさないデータを検出するものであった。しかしながら、表計算ソフトを用いて入力形式ファイルを編集する場合、例えば、行又は列を非表示にして保存することが可能である。この場合、依頼部の担当者が収集された入力済みファイル自体を直接閲覧する場合、非表示にされた行又は列を見落とす可能性がある。また、非表示にされた行又は列に入力された値は、入力者自身が見落とす場合が多く、本来削除すべきデータが残っているなど、データの内容として誤りである可能性も高い。従来は、これらを防ぐため、依頼部の担当者が目視により非表示の行又は列を検出していたため、大変煩雑な作業であり、見落としもあった。また、非表示の行に入力された誤ったデータがそのまま登録されてしまうという問題もあった。そこで、本発明の実施の形態5では、上述した目視確認の煩雑さを解消することを目的とする。
具体的には、本発明の実施の形態5にかかる報告情報収集システムは、本発明の実施の形態1にかかる報告情報収集システム4の報告情報登録手段52に変更を加えたものである。まず、本発明の実施の形態5にかかる表形式のファイルは、複数の項目を列方向に定義し、報告情報を行方向に入力させる形式であるものとする。そして、本発明の実施の形態5にかかる報告情報登録手段52は、受け付けたファイル内の報告情報が入力されるべき行に、行の高さが所定値以下である行が存在するか否かを判定し、存在すると判定された場合、その旨を当該受け付けたファイルの入力元へ通知する。これにより、入力元の報告部により通知された行について確認することができ、適宜、修正を行うことができる。そのため、依頼部の担当者による目視確認の煩雑さを解消することができる。尚、本発明の実施の形態5にかかる報告情報収集システムは、本発明の実施の形態1と比べて、上述した以外の構成に変更がない。以下、実施の形態1との違いを中心に説明し、実施の形態1と同等の構成及び処理については、詳細な説明を省略する。
まず、本発明の実施の形態5の実施例1について説明する。実施例1にかかる報告情報登録手段52は、受け付けたファイルの内、可視行であることを示す情報が設定された行数が、全行数未満である場合に、非表示行が存在すると判定する。表計算ソフトで編集可能な表形式のファイルには、各行の属性として行の高さと共に、可視行であることを示す情報がフラグ情報として設定されている。そのため、報告情報登録手段52は、各行が非表示行であるか否かを判定する場合に、全ての行の高さを確認することに比べて、判定処理を高速に行うことができる。
図23は、本発明の実施の形態5の実施例1にかかる非表示行を検出する報告情報登録処理の流れを示すフローチャートである。以下の説明において、図11と同等の処理については、同一の符号を付し、適宜、説明を省略する。まず、報告情報登録手段52は、ステップS31及びS32の処理を実行する。ステップS32によりファイル制約を満たしていないと判定された場合、ステップS38の処理を実行する。
ステップS32によりファイル制約を満たしていると判定された場合、報告情報登録手段52は、入力済みファイルの全行数Xをカウントする(S81)。続いて、報告情報登録手段52は、入力済みファイルの可視行数Yをカウントする(S82)。具体的には、報告情報登録手段52は、上述したように、入力済みファイルの各行の属性から可視行であることを示す情報であるフラグ情報をカウントする。尚、ステップS81及びS82の処理は、並列に実行しても構わない。
その後、報告情報登録手段52は、全行数Xが可視行数Yより大きいか否かを判定する(S83)。ステップS83により全行数Xが可視行数Yより大きいと判定された場合、報告情報登録手段52は、入力元である報告部端末2a、2b、・・・2nのいずれかへ入力済みファイルに非表示行が存在する旨を通知する(S84)。
ステップS83により全行数Xが可視行数Yより大きくないと判定された場合、報告情報登録手段52は、図11のステップS33乃至S35(S85)、S36及びS37又はS38を実行する。可視行数Yが全行数Xを上回ることはないため、全行数Xと可視行数Yとが等しく、非表示行がないといえるからである。
このように、本発明の実施の形態5の実施例1により簡易な方法で非表示行の判定を行うことができるため、報告情報登録処理を高速に実行することができる。
続いて、本発明の実施の形態5の実施例2について説明する。実施例1では、非表示行ではないが、行の高さが目視で判別困難な高さである場合には検出できない。行の高さが目視で判別困難な高さである行は、実質的には、非表示行と同じといえる。そこで、実施例2にかかる報告情報登録手段52は、受け付けたファイル内の報告情報が入力されるべき行に入力された文字の属性に応じて、所定値を行ごとに決定し、各行の高さが当該行ごとに決定された所定値であるか否かを判定する。これにより、非表示行、つまり、行自体が完全に見えない場合でなくとも、依頼部の担当者による目視確認し難い行を検出することができる。
図24は、本発明の実施の形態5の実施例2にかかる入力形式ファイルの行の制約違反を検出する報告情報登録処理の流れを示すフローチャートである。以下の説明において、図11と同等の処理については、同一の符号を付し、適宜、説明を省略する。まず、報告情報登録手段52は、ステップS31及びS32の処理を実行する。ステップS32によりファイル制約を満たしていないと判定された場合、ステップS38の処理を実行する。
ステップS32によりファイル制約を満たしていると判定された場合、報告情報登録手段52は、入力済みファイルの先頭行を選択する(S91)。ここで、先頭行とは、入力済みファイル内の報告情報が入力されるべき行、つまり、ヘッダ領域601の先頭行であるものとする。次に、報告情報登録手段52は、選択行内にデータが存在するか否かを判定する(S92)。ステップS92により選択行内にデータが存在すると判定された場合、報告情報登録手段52は、選択行の文字属性に応じて比較値Zを決定する(S93)。例えば、文字属性としては、フォントのサイズがある。その場合、報告情報登録手段52は、当該フォントにおける標準的な文字の高さ又は当該標準的な文字の高さより少し大きい値を比較値Zとして決定してもよい。
続いて、報告情報登録手段52は、選択行の高さHが比較値Zより小さいか否かを判定する(S94)。ステップS94により選択行の高さHが比較値Zより小さいと判定された場合、報告情報登録手段52は、選択行をエラーとする(S95)。例えば、RAM412内に当該選択行の行番号と対応付けてエラーフラグを保持するとよい。その後、報告情報登録手段52は、選択行が最終行であるか否かを判定する(S96)。
ステップS92により選択行内にデータが存在すると判定された場合、ステップS94により選択行の高さHが比較値Z以上と判定された場合、又は、ステップS96により選択行が最終行でないと判定された場合、報告情報登録手段52は、次の行を選択する(S97)。そして、ステップS92以降を実行し、選択行が最終行となるまで繰り返す。
ステップS96により選択行が最終行であると判定された場合、報告情報登録手段52は、入力済みファイルの各行のいずれかにエラーがあったか否かを判定する(S98)。すなわち、報告情報登録手段52は、入力済みファイル内に行の高さが目視で判別困難な高さである行が存在するか否かを判定する。例えば、報告情報登録手段52は、RAM412を参照し、エラーフラグが存在するか否かを判定する。
ステップS98により、エラーがあったと判定された場合、報告情報登録手段52は、入力元である報告部端末2a、2b、・・・2nのいずれかへ入力済みファイルに目視で判別困難な行が存在する旨をエラー通知し、非表示行の高さを比較値Zとし、強調して表示するように指示する(S99)。言い換えると、報告情報登録手段52は、通知する場合に、行の高さが所定値以下である行を所定値の高さとし、かつ、当該行を強調して表示する。
図25は、本発明の実施の形態5の実施例2にかかる強調表示の例を示す図である。ここでは、入力済みファイルの内6行目が非表示又は目視で判別困難であった場合とする。そして、実施例2にかかる報告情報登録手段52により、6行目が所定の高さかつ他のセルと異なる背景色により強調表示630として入力元の報告部端末において表示されることを示す。これにより、報告部の担当者は、該当行を容易に認識し、該当行のデータが適切なものか判断し、誤っていれば修正又は行ごと削除等の対応をすることができる。
図24に戻り、ステップS98によりエラーがなかったと判定された場合、報告情報登録手段52は、図11のステップS33乃至S35(S85)、S36及びS37又はS38を実行する。
尚、上述した図24のステップS92及びS94を言い換えると、報告情報登録手段52は、受け付けたファイル内の報告情報が入力されるべき行の高さが所定値以下であり、かつ、当該行にデータが入力されていない場合には、前記判定の対象から除く。これにより、報告情報でない行を検出しなくなり、判定処理を高速に行うことができる。
以上のように、本発明の実施の形態5により、報告情報として正常なデータをテーブル421に格納することができる。また、依頼部の担当者による目視確認の煩雑さを解消することができる。
<その他の発明の実施の形態>
尚、上述した発明の実施の形態1では、入力形式ファイルの登録を行っていたが、必ずしも入力形式ファイル自体を登録しなくても構わない。その場合、依頼部端末1は、少なくとも定義情報ファイルに含まれる定義情報を報告情報収集システム4へ送信すればよい。そして、定義情報登録手段51は、項目の名称、順序及び配置等のヘッダ領域601に関する情報を定義情報431と関連付けて定義情報記憶部43へ格納してもよい。また、入力形式ファイルについて、例えば、依頼部端末1は、一般的なワークフローシステムの機能や電子メール等を用いて、報告部端末2a、2b、・・・及び2nへ入力形式ファイルを配布するようにしてもよい。
または、報告情報収集システム4が定義情報431に含まれる項目情報432に基づいて入力形式ファイルを自動生成し、報告部端末2a、2b、・・・2nに提供しても構わない。これにより、依頼部の担当者は、入力形式ファイルを作成する必要がなく、少なくとも定義情報431を作成し、登録要求すればよくなる。そのため、報告情報の収集業務全体の効率が向上する。また、これに伴い、定義情報登録手段51において、2ファイル間の整合性の確認処理や入力形式ファイルと定義情報との関連付け処理等が不要となり、処理効率が高まる。
尚、上述した発明の実施の形態1にかかる定義情報ファイルは、必ずしも表形式のファイルである必要はない。定義情報ファイルは、CSV(Comma Separated Values)、XML(Extensible Markup Language)等の形式であってもよく、少なくとも定義情報の内容が含まれていればよい。この場合、定義情報を汎用的に用いることができる。
尚、上述した発明の実施の形態1乃至5にかかる定義情報ファイルは、ヘッダ領域603に、入力形式ファイルのデータ領域602の開始行を指定する情報を含んでも構わない。これにより、入力形式ファイルごとに任意のデータ領域602を設定することができる。
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。