(57)【要約】      （修正有）【課題】Ｗｅｂブラウザ画面の入力項目への入力において、適切に入力項目への入力値のエラーを表示させる情報処理装置、サーバ、情報処理方法及びプログラムを提供する。【解決手段】クライアントＰＣ１００は、入力受付手段により受け付けられたユーザからの入力データをＷｅｂアプリケーションサーバ２００に送信する。入力受付手段は、入力受付手段が有する複数の関連する入力項目の入力データ間の整合性の確認を行う整合性確認手段を有する。整合性確認手段は、入力受付手段により受け付けられた入力データをＷｅｂアプリケーションサーバ２００に送信する前に、入力項目に関連する入力データ間の整合性の確認を行う。【効果】ユーザが誤った入力値のエラーを直ぐに判断でき、現在の入力項目と関係がない入力項目はエラー表示を行わないことにより、ユーザがエラーを確認する煩わしさを解消することができる。【選択図】図１
2018185558.tif 000002
【特許請求の範囲】
【請求項１】
サーバと通信可能な情報処理装置であって、
ユーザから入力データを受け付ける入力項目を複数有する入力受付手段と、
前記入力受付手段により受け付けられたユーザからの入力データを前記サーバに送信する送信手段と、
前記入力受付手段が有する複数の関連する入力項目の入力データ間の整合性の確認を行う整合性確認手段と、を有し、
前記整合性確認手段は、前記入力受付手段により受け付けられた入力項目に関連する入力データ間の整合性の確認を、前記送信手段によりサーバに送信する前に行うことを特徴とする情報処理装置。
【請求項２】
前記サーバは、前記整合性確認手段として動作させるプログラムを有しており、
前記情報処理装置は、前記サーバから前記整合性確認手段として動作させるプログラムを取得し、前記整合性確認手段として動作させることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記入力受付手段によりユーザから入力データを受け付けた入力項目は、該入力項目毎に入力値の整合性の確認を行う入力値確認手段を有し、
前記整合性確認手段は、前記入力値確認手段により前記入力項目毎に入力値の整合性を確認後に該入力項目に関連する入力データ間の整合性の確認を行うことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記整合性確認手段は、前記入力受付手段により受け付けられた入力項目に直接関連する入力データの整合性の確認を実行し、該入力項目と直接関連しない入力項目の入力データの整合性は確認しないことを特徴とする請求項１乃至３に記載の情報処理装置。
【請求項５】
情報処理装置と通信可能なサーバであって、
前記情報処理装置に対して、
ユーザから入力データを受け付ける入力項目を複数有する入力受付手段と、
前記入力受付手段により受け付けられたユーザからの入力データを前記サーバに送信する送信手段と、
前記入力受付手段が有する複数の関連する入力項目の入力データ間の整合性の確認を行う整合性確認手段と、を実行させるプログラムを送信するサーバであり、
前記整合性確認手段は、前記入力受付手段により受け付けられた入力項目に関連する入力データ間の整合性の確認を、前記送信手段によりサーバに送信させるする前に行わせることを特徴とするサーバ。  
【請求項６】
サーバと通信可能な情報処理装置における情報処理方法であって、
ユーザから入力データを受け付ける入力項目を複数有する入力受付工程と、
前記入力受付工程により受け付けられたユーザからの入力データを前記サーバに送信する送信工程と、
前記入力受付工程が有する複数の関連する入力項目の入力データ間の整合性の確認を行う整合性確認工程と、を有し、
前記整合性確認工程は、前記入力受付工程により受け付けられた入力項目に関連する入力データ間の整合性の確認を、前記送信工程によりサーバに送信する前に行うことを特徴とする情報処理方法。
【請求項７】
サーバと通信可能な情報処理装置におけるプログラムであって、
ユーザから入力データを受け付ける入力項目を複数有する入力受付手段と、
前記入力受付手段により受け付けられたユーザからの入力データを前記サーバに送信する送信手段と、
前記入力受付手段が有する複数の関連する入力項目の入力データ間の整合性の確認を行う整合性確認手段として動作させるプログラムであって、
前記整合性確認手段は、前記入力受付手段により受け付けられた入力項目に関連する入力データ間の整合性の確認を、前記送信手段によりサーバに送信する前に行わせることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力項目への入力値のエラーを表示させる情報処理装置、サーバ、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
Ｗｅｂシステムにおいて、Ｗｅｂブラウザ画面からのデータエントリを受け付け、データをサーバに登録し、その後様々な処理に利用する技術がある。
【０００３】
Ｗｅｂブラウザ画面の入力項目から入力を受け付ける際に、入力データに誤りがあると、サーバに登録する時やその後の処理で不都合が生じることがある。そのため、入力データに誤りが無いか、サーバにデータを登録する際にサーバ側で入力データをチェックして、誤りがある場合はＷｅｂブラウザ画面の入力項目にエラーを表示し、ユーザに注意を促す技術がある。
【０００４】
特許文献１では、複数の項目に対応するデータを入力させ該入力される各項目のデータに基づいて、入力されたデータの複数項目間の関連チェックが可能なプログラムを自動生成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２１３２２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１で生成されたプログラムは、入力されたデータの複数項目間の関連チェックはできるが、開発者が予め指定した入力確定ボタンが押下された後でしか関連チェックを行うことが出来ない。これは、ユーザからの入力データを入力確定ボタンの押下によりサーバサイドに送信した後、サーバ側で入力データの関連チェックを行うためである。
【０００７】
そのため、入力確定ボタンが押されるまではユーザは関連チェック項目による入力ミスに気付かず、入力確定ボタンの押下後、サーバからの通知でエラーを認識する。入力項目が多いＷｅｂブラウザの場合、エラーの入力項目までスクロール画面などを使って戻る必要があり、操作が煩わしいという課題が生じる。
【０００８】
また、Ｗｅｂブラウザ画面の入力項目を入力する毎に入力確定ボタンを押下し、サーバにデータを送信することも考えられるが、この場合、入力項目の関連チェックにより今の入力項目と関連がない項目もエラーが表示される可能性があり、特に未入力項目さえもエラーチェックされることがある。
【０００９】
本発明の目的は、Ｗｅｂブラウザ画面の入力項目を入力する毎に関連する入力項目の関連チェックを行うことにより、ユーザが誤った入力値のエラーを直ぐに判断でき、かつ現在の入力項目と関係がない入力項目（未記入の場合等）はエラーチェックを行わないことにより、ユーザがエラーを確認する煩わしさを解消可能とすることである。
【課題を解決するための手段】
【００１０】
本発明は、サーバと通信可能な情報処理装置であって、ユーザから入力データを受け付ける入力項目を複数有する入力受付手段と、前記入力受付手段により受け付けられたユーザからの入力データを前記サーバに送信する送信手段と、前記入力受付手段が有する複数の関連する入力項目の入力データ間の整合性の確認を行う整合性確認手段と、を有し、前記整合性確認手段は、前記入力受付手段により受け付けられた入力項目に関連する入力データ間の整合性の確認を、前記送信手段によりサーバに送信する前に行うことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、Ｗｅｂブラウザ画面の入力項目を入力する毎に関連する入力項目の関連チェックを行うことにより、ユーザが入力値のエラーを直ぐに判断でき、かつ現在の入力項目と関係がない入力項目（未記入の場合等）はエラーチェックを行わないことを可能にする。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態における、システム構成の一例を示すブロック図である。
【図２】本発明の実施形態における、情報処理装置に適応されるハードウェア構成の一例を示すブロック図である。
【図３】本発明の実施形態における、Ｗｅｂサーバ２００とクライアントＰＣ１００とのデータの処理の流れを示すフローチャートである。
【図４】本発明の実施形態における、ユーザから入力項目へデータの入力を受け付けた後の処理の流れを示すフローチャートである。
【図５】本発明の実施形態における、入力項目の相関チェックを行う処理の流れを示すフローチャートである。
【図６】本発明の実施形態における、入力画面例６００と入力画面の入力項目のバリデーション定義の例を示す模式図である。
【図７】本発明の実施形態における、入力項目をチェックする対象項目と関連項目との関係を示したデータテーブル及び相関図の例を示す模式図である。
【図８】本発明の実施形態における、入力画面への入力例を示す模式図である。
【図９】本発明の実施形態における、入力画面への入力例を示す模式図である。
【図１０】本発明の実施形態における、入力画面への入力例を示す模式図である。
【図１１】本発明の実施形態における、入力画面への入力例を示す模式図である。
【図１２】本発明の実施形態における、入力画面への入力例を示す模式図である。
【図１３】本発明の実施形態における、入力画面への入力例を示す模式図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１４】
図１は、本発明の実施形態における、システム構成の一例を示すブロック図である。
【００１５】
図１のクライアントＰＣ１００は、ユーザがデータの入出力操作を行うための端末であり、Ｗｅｂアプリケーションサーバ（以下、Ｗｅｂサーバ）２００から情報を受信し、ユーザに図６の６００のような入力項目を表示、ユーザから入力を受け付け、入力されたデータをＷｅｂサーバ２００に送信する。
【００１６】
また、クライアントＰＣ１００は、Ｗｅｂサーバから受信するＪａｖａＳｃｒｉｐｔ（登録商標）により、Ｗｅｂサーバ２００に送信する前に入力データの整合性などをチェックし、整合性を取っていることを判定する。入力データの整合性が取れている場合は、Ｗｅｂサーバ２００に入力データを送信する。
【００１７】
Ｗｅｂサーバ２００は、クライアントＰＣ１００にデータの入力項目などを表示する一連の画面構成データを送信し、クライアントＰＣ１００からの入力した結果を受信する。
【００１８】
Ｗｅｂサーバ２００にて、受信したデータは図示しないデータベースなどに記憶、様々な処理を施し、またクライアントＰＣ１００に処理結果を送信する。処理結果については、本発明の主要部ではないので、説明は省略する。
【００１９】
図２は、本発明の実施形態におけるクライアントＰＣ１００、Ｗｅｂサーバ２００などに適応される情報処理装置のハードウェア構成の一例を示すブロック図である。
【００２０】
図２に示すように、情報処理装置は、システムバス２０４を介してＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３、入力コントローラ２０５、ビデオコントローラ２０６、メモリコントローラ２０７、よび通信Ｉ／Ｆコントローラ２０８が接続される。
【００２１】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２２】
ＲＯＭ２０２あるいは外部メモリ２１１は、ＣＰＵ２０１が実行する制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や、本情報処理方法を実現するためのコンピュータ読み取り実行可能なプログラムおよび必要な各種データ（データテーブルを含む）を保持している。
【００２３】
ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【００２４】
入力コントローラ２０５は、キーボード２０９や不図示のマウス等のポインティングデバイス等の入力装置からの入力を制御する。入力装置がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下（指等でタッチ）することにより、各種の指示を行うことができることとする。
【００２５】
また、タッチパネルは、マルチタッチスクリーンなどの、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
【００２６】
ビデオコントローラ２０６は、ディスプレイ２１０などの外部出力装置への表示を制御する。ディスプレイは本体と一体になったノート型パソコンのディスプレイも含まれるものとする。なお、外部出力装置はディスプレイに限ったものははく、例えばプロジェクタであってもよい。また、前述のタッチ操作を受け付け可能な装置については、入力装置も提供する。
【００２７】
なおビデオコントローラ２０６は、表示制御を行うためのビデオメモリ（ＶＲＡＭ）を制御することが可能で、ビデオメモリ領域としてＲＡＭ２０３の一部を利用することもできるし、別途専用のビデオメモリを設けることも可能である。
【００２８】
メモリコントローラ２０７は、外部メモリ２１１へのアクセスを制御する。外部メモリとしては、ブートプログラム、各種アプリケーション、フォントデータ、ユーザファイル、編集ファイル、および各種データ等を記憶する外部記憶装置（ハードディスク）、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等を利用可能である。
【００２９】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信やＩＳＤＮなどの電話回線、および携帯電話の３Ｇ回線を用いた通信が可能である。
【００３０】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３１】
ハードウェア上で動作する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。
【００３２】
なお、全ての装置がこれらの構成を備えているわけではなく、必要なものを夫々備えていればよい。
【００３３】
次に、図３のフローチャートを参照して、本発明の実施形態におけるデータ入力を受け付けるＷｅｂ画面を表示する処理について説明する。
【００３４】
図３は、本発明の実施形態における、Ｗｅｂサーバ２００とクライアントＰＣ１００とのデータの処理の流れを示すフローチャートであり、図中のＳ３０１〜Ｓ３０３は各ステップを示す。各ステップの処理は、それぞれのシステムの外部メモリ２１１に格納されたアプリケーションプログラムを、それぞれのシステムのＣＰＵ２０１がＲＡＭ２０３上にロードして実行することにより実現される。
【００３５】
図３のフローチャートは、クライアントＰＣ１００において、Ｗｅｂブラウザを起動しＷｅｂサーバ２００のＵＲＬを指定して、Ｗｅｂサーバ２００からＨＴＭＬやＪａｖａＳｃｒｉｐｔ（登録商標）などの情報をリクエストすると開始される処理の流れである。
【００３６】
図３のステップＳ３０１において、クライアントＰＣ１００のＣＰＵ２０１は、Ｗｅｂサーバ２００にＷｅｂブラウザで表示する画面情報などを取得するリクエストを送信する。
【００３７】
次に、ステップＳ３０２において、Ｗｅｂサーバ２００のＣＰＵ２０１は、クライアントＰＣ１００から指定されているＵＲＬに対応する情報（ＨＴＭＬ、ＪａｖａＳｃｒｉｐｔ（登録商標））を
送信する。
【００３８】
クライアントＰＣ１００のＣＰＵ２０１は、Ｗｅｂサーバ２００から送信された情報を受信すると、次のステップＳ３０３において、受信した情報を元にＷｅｂブラウザ上に表示する。表示した画面イメージを図６を参照して説明する。
【００３９】
図６は、本発明の実施形態における、入力画面例６００と入力画面の入力項目のバリデーション定義の例を示す模式図である。
【００４０】
図６の６００は、クライアントＰＣ１００のＷｅｂブラウザ上に表示される「工程予約」の画面イメージを示す模式図であり、６０１から６０４への入力項目は、それぞれ６０５の条件で入力されるべき項目であるとする。なお、６０５の条件文は便宜上画面表示しているものである。
【００４１】
６００の入力画面の入力項目に関するバリデーション定義（検証定義）を６１０に表記する。
【００４２】
６１０の６１１〜６２０は、入力画面６００の入力項目に関するバリデーション定義であり、６１１〜６１４は、各入力項目６０１〜６０４の単項目でのバリデーション定義である。また、６１５〜６２０は、各入力項目６０１〜６０４間の関連項目でのバリデーション定義である。図６の例では、工程Ａから工程Ｄへの予約日程は必ず昇順でないと行けないというバリデーション定義である。
【００４３】
図６の６１０のバリデーション定義のデータはステップＳ３０２において、サーバから取得するため、図４以降で説明する入力項目チェック処理は全てクライアントＰＣ１００のみで実施することができる。このことにより、ユーザは入力確定ボタンなどを押下してサーバに入力データを送らなくても単項目チェック及び関連項目チェックを手間なく実行する事ができる。
【００４４】
次に、図４を参照して、Ｗｅｂブラウザに表示される入力項目へのユーザからの入力データの入力値受付後の処理について説明する。
【００４５】
図４は、本発明の実施形態における、ユーザから入力項目へデータの入力を受け付けた後の処理の流れを示すフローチャートであり、図中のＳ４０１〜Ｓ４１３は各ステップを示す。各ステップの処理は、クライアントＰＣ１００の外部メモリ２１１に格納されたアプリケーションプログラムを、クライアントＰＣ１００のＣＰＵ２０１がＲＡＭ２０３上にロードして実行することにより実現される。
【００４６】
図４のフローチャートは、クライアントＰＣ１００上におけるＷｅｂブラウザの入力項目にユーザから入力データを受け付けると開始される処理の流れである。
【００４７】
まず、ステップＳ４０１において、クライアントＰＣ１００のＣＰＵ２０１は、ユーザの入力を受け付ける項目（以下、対象項目と呼ぶ）にユーザからの入力データを受け付ける。
【００４８】
次に、ステップＳ４０２において、クライアントＰＣ１００のＣＰＵ２０１は、対象項目に対するエラー表示が残っている可能性があるので、対象項目のエラー表示をクリアする。
【００４９】
次に、ステップＳ４０３において、クライアントＰＣ１００のＣＰＵ２０１は、対象項目に単項目のチェックがあるかないかにより処理を分ける。単項目チェックがない場合は、ステップＳ４０５へと遷移し、単項目チェックが有る場合は、ステップＳ４０４へと処理を遷移する。ここで言う単項目チェックとは、たとえば、図６の６１０における６１１から６１４のように、入力項目に入力する入力データの型や文字数などが定義された単項目でチェックされるバリデーション定義における項目チェックである。
【００５０】
ステップＳ４０４へと処理を遷移すると、クライアントＰＣ１００のＣＰＵ２０１は、対象項目の単項目チェックを行う。単項目チェックの結果、ＯＫであれば、ステップＳ４０５へと処理を遷移し、ＮＧであればステップＳ４１３へと処理を遷移する。
【００５１】
ステップＳ４１３へと処理を遷移すると、クライアントＰＣ１００のＣＰＵ２０１は、対象項目に対しエラー表示（たとえば、入力項目を赤線で覆うなど）を行い、入力データにエラーがあることをユーザに示し、本発明の処理を終えて、入力画面に戻る。具体例は図９で後述する。
【００５２】
一方、ステップＳ４０４において、単項目チェックがＯＫであれば、ステップＳ４０５へと処理を遷移し、ステップＳ４０５において、クライアントＰＣ１００のＣＰＵ２０１は、対象項目の相関チェックの数だけ、ステップＳ４０６の処理を繰り返す。
【００５３】
ステップＳ４０６では、クライアントＰＣ１００のＣＰＵ２０１は、対象項目に対する相関チェックを行う。ステップＳ４０６の処理の詳細を図５を参照して説明する。
【００５４】
図５は、本発明の実施形態における、対象項目の相関チェックを行う処理の流れを示すフローチャートであり、図中のＳ５０１〜Ｓ５０８は各ステップを示す。各ステップの処理は、クライアントＰＣ１００の外部メモリ２１１に格納されたアプリケーションプログラムを、クライアントＰＣ１００のＣＰＵ２０１がＲＡＭ２０３上にロードして実行することにより実現される。
【００５５】
図５のフローチャートは、図４のステップＳ４０６の処理、もしくはステップＳ４１１の処理へと遷移すると開始される処理の流れである。
【００５６】
まず、ステップＳ５０１において、クライアントＰＣ１００のＣＰＵ２０１は、対象項目の相関チェックに設定された関連項目の数だけステップＳ５０２〜Ｓ５０４の処理を繰り返す処理を実行する。ここで、対象項目の関連項目とは、たとえば、図６の例で６０１が対象項目とすると、６０１のバリデーション定義で定義されている６１５に記載されている関連する項目（６０１の場合、工程Ａを対象項目としているので、関連項目は工程Ｂである）６０２を指す。なお、ステップＳ５０２〜Ｓ５０４内の関連項目とは、ステップＳ５０１で指定された繰り返す関連項目である。
【００５７】
ステップＳ５０２において、クライアントＰＣ１００のＣＰＵ２０１は、ステップＳ５０１で指定された関連項目がユーザの入力している項目かどうかを判断する。この判断分岐は、ステップＳ４０６から遷移してきた場合は、Ｎｏに遷移する。すなわち、ステップＳ４０６から遷移してきた場合は、対象項目がユーザの入力している項目であるので、対象項目の関連項目はユーザの入力している項目ではなく、ステップＳ５０２の条件分岐はＮｏのステップＳ５０３へと遷移する。
【００５８】
ステップＳ５０３において、クライアントＰＣ１００のＣＰＵ２０１は、設定されている関連項目の単項目チェックの有無により処理を分ける。単項目チェックがない場合は、ステップＳ５０５へと処理を遷移し、単項目チェックが有る場合は、ステップＳ５０４へと処理を遷移する。
【００５９】
ステップＳ５０４に遷移すると、クライアントＰＣ１００のＣＰＵ２０１は、関連項目の単項目チェックを実行する。この処理はステップＳ４０４の処理と同じ処理になるが、単項目チェックがＮＧの場合は、関連項目に対しエラー表示は行わずに図５のフローチャートの処理を終え、図４のフローチャートに戻る。この処理は、ユーザが入力している項目以外の入力項目に単項目チェックのエラーがあってもエラー表示をさせないことにより、ユーザが入力している項目以外に整合性が合わないデータが入力されていても（たとえば、まだ未記入の場合などでも）エラー表示を気にせず、入力が可能となる。
【００６０】
一方、ステップＳ５０４において、単項目チェックがＯＫの場合は、ステップＳ５０５の処理へ遷移する。この判断分岐は、ステップＳ４０６から遷移してきた場合は、ＯＫに遷移する。すなわち、ステップＳ４０６から遷移してきた場合は、ステップＳ４０４において単項目チェックがＯＫであることが確認されているため、ＯＫの場合のステップＳ５０５へと処理を遷移する。
【００６１】
ステップＳ５０５において、クライアントＰＣ１００のＣＰＵ２０１は、対象項目と関連項目の相関チェックを行い、相関チェックがＯＫかＮＧかによって処理を分ける。相関チェックがＯＫの場合はステップＳ５０２の処理へと戻って、関連項目がある回数だけ繰り返す。一方、相関チェックがＮＧの場合は、ステップＳ５０７へと処理を遷移する。
【００６２】
ステップＳ５０７へと処理を遷移すると、クライアントＰＣ１００のＣＰＵ２０１は、対象項目に対しエラー表示（たとえば、入力項目を赤線で覆うなど）を行い、入力データにエラーがあることをユーザに示す。なお、ユーザにエラーの原因を示すために、ステップＳ４１３とは異なるエラー表示（たとえば、入力項目を赤線以外の色の線で覆うなど）にしても良いし、マウスアイコンを対象項目の欄に持ってきた際にポップアップでエラー原因のコメントを表示するようにしても良い。
【００６３】
以上の処理をクライアントＰＣ１００側で行うことにより、ユーザは入力確定ボタンなどを押下してサーバに入力データを送らなくても単項目チェック及び関連項目チェックを手間なく実行する事ができる。図４のフローチャートの説明に戻る。
【００６４】
図４のステップＳ４０６において、対象項目の相関チェックを行う処理を相関チェックの回数分繰り返すと、次に、ステップＳ４０８へと処理を遷移し、ステップＳ４０８において、クライアントＰＣ１００のＣＰＵ２０１は、対象項目の相関チェックの数だけ、ステップＳ４０９〜Ｓ４１１の処理を繰り返す。
【００６５】
ステップＳ４０９へと処理を遷移すると、クライアントＰＣ１００のＣＰＵ２０１は、ステップＳ４０８で指定された相関チェック内の関連項目に入力データが入っているかによって処理を分ける。関連項目に入力データが入っていなければ、ステップＳ４１２へと遷移後、ステップＳ４０８へと処理を戻し、次の相関チェックの関連項目について、ステップＳ４０９から繰り返す。
【００６６】
一方、ステップＳ４０９において、ステップＳ４０８で指定された相関チェック内の関連項目に入力データが入っている場合はステップＳ４１０へと処理を遷移する。
【００６７】
ステップＳ４１０へと処理を遷移すると、クライアントＰＣ１００のＣＰＵ２０１は、ステップＳ４０８で指定された相関チェック内の関連項目を対象項目と一時的に置き換える。置き換えた対象項目について、次のステップＳ４１１において、クライアントＰＣ１００のＣＰＵ２０１は、対象項目の相関チェックを行う。相関チェックの処理はステップＳ４０６と同様に図５を参照して説明する。
【００６８】
図５のステップＳ５０１の処理以降は前述した処理と同様に、対象項目の相関チェックに設定された関連項目の数だけステップＳ５０２〜Ｓ５０４の処理を繰り返す処理を実行する。
【００６９】
次のステップＳ５０２において、クライアントＰＣ１００のＣＰＵ２０１は、ステップＳ５０１で指定された関連項目がユーザの入力中の項目かどうかを判断する。ステップＳ４１１からステップＳ５０２へ遷移してきた場合、ユーザが入力中の項目が対象項目であることがある。すなわち、ステップＳ４１０で、関連項目を対象項目と一時的に置き換えているので、新しい対象項目の関連項目として、ユーザが入力中の項目が該当することがある。その場合は、関連項目（＝ユーザの入力している項目）の単項目チェックの有無（ステップＳ５０３やステップＳ５０４の処理）は、ステップＳ４０３において確認しているので、実行する必要はない。
【００７０】
ステップＳ５０２において、関連項目がユーザの入力している項目でない場合は、ステップＳ５０３とステップＳ５０４の処理を行い、関連項目がユーザの入力している項目である場合は、ステップＳ５０３とステップＳ５０４の処理をスキップし、ステップＳ５０５の処理へと遷移する。ステップＳ５０３とステップＳ５０４の処理は前述した処理と同様なので、説明を省略する。
【００７１】
ステップＳ５０５に遷移すると、クライアントＰＣ１００のＣＰＵ２０１は、ステップＳ４１０で一時的に設定された対象項目と、ステップＳ５０１で設定された関連項目との相関チェックを行い、相関チェックがＯＫかＮＧかによって処理を分ける。相関チェックがＯＫの場合はステップＳ５０２の処理へと戻って、関連項目がある回数だけ繰り返す。一方、相関チェックがＮＧの場合は、ステップＳ５０７へと処理を遷移する。
【００７２】
ステップＳ５０７へと処理を遷移すると、クライアントＰＣ１００のＣＰＵ２０１は、対象項目に対しエラー表示（たとえば、入力項目を赤線で覆うなど）を行い、入力データにエラーがあることをユーザに示す。この処理により、ステップＳ４１０で一時的に設定された対象項目にエラー表示し、関連項目はエラー表示しないことにより、複数の入力項目が連鎖的に関連している場合でも、一時的に設定された対象項目以外の相関チェックの結果のエラーは表示しないため、整合性が合わないデータが入力されていても（たとえば、まだ未記入の場合などでも）ユーザはエラー表示を気にせず、入力が可能となる。なお、ユーザにエラーの原因を示すために、ステップＳ４１３とは異なるエラー表示（たとえば、入力項目を赤線以外の色の線で覆うなど）にしても良いし、マウスアイコンを対象項目の欄に持ってきた際にポップアップでエラー原因のコメントを表示するようにしても良い。
【００７３】
ステップＳ５０７の処理を終えるか、ステップＳ５０１からステップＳ５０６のループを関連項目の数だけ処理が終了すると、図５のフローチャートの処理を終え、図４のフローチャートに戻る。
【００７４】
図４のステップＳ４０９からステップＳ４１１の処理を、対象項目の相関チェックの回数分繰り返すと、図４のフローチャートの処理を終える。
【００７５】
以上の処理により、Ｗｅｂブラウザ画面の入力項目を入力する毎に関連する入力項目の関連チェックを行うことにより、ユーザが誤った入力値のエラーを直ぐに判断でき、かつ現在の入力項目と関係がない入力項目（未記入の場合等）はエラーチェックを行わないことにより、ユーザがエラーを確認する煩わしさを解消することができる。
【００７６】
図７以降を参照して、具体的にデータを入力する場合のデータチェック項目及び画面イメージの例として説明する。
【００７７】
図７は、本発明の実施形態における、入力項目をチェックする対象項目と関連項目との関係を示したデータテーブル及び相関図の例を示す模式図であり、図６のイメージ図の入力項目例に対応するデータ間の関係を示した図である。７０１の列には、項目Ａ（図６のイメージ図では６０１の工程Ａ）の項目に関するデータ間の関係が示されており、一行目の「単項目チェック有無」欄は、図６の６１０の６１１のように、単項目チェック欄があるので、『あり』となっている。また、７０１の列には、二行目の「相関チェック１つめ：関連項目」欄は、図６の６１５が対応しており、６１５の『工程Ａ＜工程Ｂ』という条件から、７０１の項目Ｂが『工程Ｂ』であり、相関チェックaが『工程Ａ＜工程Ｂ』であることを示す。三行目の「相関チェック２つめ：関連項目」欄には、相関チェックの２つ目の条件が入力され、たとえば、７０２の列の場合は、項目Ｂ（図６のイメージ図では６０２の工程Ｂ）の相関チェックの２つ目の条件である、６１７の条件が設定される。
【００７８】
なお、図７の７００のようなデータは、図３のステップＳ３０２により、Ｗｅｂサーバ２００から受信し、クライアントＰＣ１００に保持することにより、ユーザの入力時にクライアントＰＣ１００側で直ぐにチェックする事ができる。
【００７９】
７２０は、図６の工程Ａ欄６０１にデータを入力している（７１０）際に、他の項目の単項目チェックを行うか、相関チェックを行うかを示す図である。
【００８０】
図６の工程Ａ欄６０１にデータを入力している場合、７２０の７１０のように、項目Ａ（工程Ａ欄６０１）は、単項目、相関ともにチェック（凡例７０５参照）を実施する。また、工程Ａ欄６０１にデータを入力している場合に項目Ａと相関関係にある項目Ｂ（工程Ｂ欄６０２）は、７１１のように単項目、相関ともにチェックを実施する。また、工程Ａ欄６０１にデータを入力している場合に項目Ｃ（工程Ｃ欄６０３）は、項目Ａとは直接相関関係があるわけではないので、相関チェックは行わず、項目Ｂと項目Ｃとの相関関係を確認するための単項目チェックのみを行う。なお、項目Ｃの単項目チェックのエラーは表示しなくても良い（凡例７０６参照）。また、項目Ｄ欄は、項目Ａの入力とは直接相関関係はなく、項目Ｂとも相関関係にないので、７０４のように、単項目チェック、相関チェックともに有するが、工程Ａ欄６０１にデータを入力している場合は、単項目、相関チェック共に実施しない（凡例７０７参照）。図７の７００の太字部分は項目Ａ入力中にチェックされる項目であり、細字部分はチェック項目ではあるが、項目Ａ入力中にはチェックされない項目である。以上のように、各項目の単項目、相関チェックは、ユーザが入力中の項目との関係がある項目のみエラー表示をすることにより、ユーザは入力している項目と関係がない入力項目に関するエラーを確認しないで入力を続けることができる。
【００８１】
図８から図１３は、本発明の実施形態における、入力画面への入力例を示す模式図であり、図６のＷｅｂ入力画面にデータが入力されているイメージである。それぞれの入力項目の単項目チェック条件、相関チェック条件は、図６の６１０に記載された条件である。それぞれの図の文字が反転表示されている部分はユーザにより入力がなされた部分を示す。
【００８２】
図８の８００は、工程Ａ欄に日付データが入力された例である。工程Ａは単項目チェックにおいて、入力フォーマットが日付フォーマット（６１１）となっており、８０１の工程Ａ入力欄には日付フォーマットのデータが入力されているため、エラー表示（図９の９０２のようなイメージのエラー表示）はされていない。また、工程Ａと関連している工程Ｂに何も入力されていないため、相関チェック（工程Ａ＜工程Ｂ）のエラーが表示されるはずであるが、図４のステップＳ４０９の処理により、エラー表示は行わずスキップしている。
【００８３】
図９の９００は、図８への入力後、工程Ｂ欄にデータを入力している例である。図９の工程Ｂ欄には日付フォーマットで入力する必要があるが、９０１には日付フォーマットとは異なる文字列が入力されている。そのため、９０２のようにエラーが表示されている。この場合、マウスアイコンなどを９０２の上に移動したり、ユーザが指やスタイラスペンなどで９０２上をタッチすると、たとえば、ポップアップで「入力フォーマットエラー」などと表示しても良い。また、ユーザの入力欄９０１の上にマウスアイコンや指、スタイラスペンを持ってきた際に上記ポップアップを表示しても良い。
【００８４】
９０１への日付フォーマットと異なる文字列の入力により、９０１の入力欄と関連する関連項目である工程Ａや工程Ｃの相関チェックは、ステップＳ４０４の処理によりスキップされ、図９の場合、工程Ｃの入力欄が空白（未入力）であっても、工程Ｃにはエラー表示はしない。
【００８５】
図１０の１０００は、図８への入力後、工程Ｂ欄にデータを入力している例である。図１０の工程Ｂ欄１００３には日付フォーマットが指定されており、単項目チェックは通過した例である。
【００８６】
１０００の例の場合は、工程Ｂに入力された日付１００３が工程Ａに入力されている日付より小さい日付であるため、工程Ａ欄１００４と工程Ｂ欄１００３との相関チェック（図６の６１６）の整合性に合わない。そのため、工程Ａ及び工程Ｂにそれぞれエラー表示１００１，１００２を表示している。この場合、マウスアイコンなどを１００１や１００２の上に移動したり、ユーザが指やスタイラスペンなどで１００１や１００２上をタッチすると、たとえば、ポップアップで「相関チェックエラー」などと表示して、単項目チェックで出た「入力フォーマットエラー」とはエラー条件が異なる事を示しても良い。
【００８７】
図１１の１１００は、図１０の１０００の入力画面から、工程Ｂの入力項目１１０２の値を適正に修正した値にした場合の例である。工程Ｂ欄１１０２と工程Ａ欄１１０１との関係（相関チェック）は図６の６１６の条件が満たされており、整合性が取れているので、１００１や１００２のようなエラー表示はされていない。
【００８８】
図１２の１２００は、工程Ａ欄１２０１と工程Ｃ欄１２０３を予め入力しており、工程Ｂ欄１２０２にユーザが入力した際の画面イメージである。工程Ｂ欄１２０２に入力された日付は、工程Ａ欄１２０１よりは大きく、相関チェック条件６１６には合致している。そのため、工程Ａ欄１２０１にはエラー表示はされていない。
【００８９】
一方、工程Ｂ欄１２０２と工程Ｃ欄１２０３との相関チェック条件は、図６の６１７のように「工程Ｂ≦工程Ｃ」であり、工程Ｂ欄へ入力された日付「２０１７／０３／１３」は、工程Ｃ欄へ入力された日付「２０１７／０３／１２」より大きいため、１２０２や１２０３のように工程Ｂ欄と工程Ｃ欄とにだけ、エラー表示がなされている。この場合、工程Ｂと相関チェックを行う工程Ａの入力項目はエラー表示されていない。また、図６の６１９のように工程Ｃと相関チェックの関係を持つ工程Ｄへの相関チェックも行われない。
【００９０】
これらのエラー表示のように、ユーザが入力して直ぐにユーザが修正すべき可能性の高い入力項目のみをエラー表示させる事ができ、また、未入力部分や現在の入力欄と関係のない部分はエラー表示しないようにすることにより、ユーザの入力をスムーズにすることができる。
【００９１】
図１３の１３００は、工程Ａ欄１３０１から工程Ｄ１３０４までの入力項目が相関チェック６１５から６２０の整合性通りに入力された場合の例である。それぞれの入力欄は単項目チェックも相関チェックもエラーがないので、１００１のようなエラー表示はされていない。
【００９２】
以上の処理により、本発明は、ユーザが誤った入力値のエラーを直ぐに判断でき、かつ現在の入力項目と関係がない入力項目（未記入の場合等）はエラーチェックを行わないことにより、ユーザがエラーを確認する煩わしさを解消することができる。
【００９３】
また、関連項目のチェックであってもエラーの際のレスポンスが早く、ユーザを待たせることなくエラーが表示可能と言う効果も有する。
【００９４】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【００９５】
また、本発明におけるプログラムは、図３〜５の処理をコンピュータに実行させるプログラムである。なお、本発明におけるプログラムは、図３〜５の各処理ごとのプログラムであってもよい。
【００９６】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【００９７】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【００９８】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【００９９】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１００】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０１】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１０２】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１０３】
１００  クライアントＰＣ
２００  Ｗｅｂサーバ
２０１  ＣＰＵ      
２０２  ＲＯＭ      
２０３  ＲＡＭ      
２０４  システムバス      
２０５  入力コントローラ      
２０６  ビデオコントローラ      
２０７  メモリコントローラ      
２０８  通信Ｉ／Ｆ（インタフェース）コントローラ      
２０９  入力装置      
２１０  ディスプレイ装置      
２１１  外部メモリ    
３００  インターネット
【図１】
2018185558.tif 000003
【図２】
2018185558.tif 000004
【図３】
2018185558.tif 000005
【図４】
2018185558.tif 000006
【図５】
2018185558.tif 000007
【図６】
2018185558.tif 000008
【図７】
2018185558.tif 000009
【図８】
2018185558.tif 000010
【図９】
2018185558.tif 000011
【図１０】
2018185558.tif 000012
【図１１】
2018185558.tif 000013
【図１２】
2018185558.tif 000014
【図１３】
2018185558.tif 000015