(57)【要約】      （修正有）【課題】キー入力操作を最小限にできる日付入力支援方法、プログラム、およびシステム。【解決手段】予め指定された日付を基準日として記憶装置に記憶するステップと、表示装置に表示された日付フィールドに１桁以上の数字列を入力することに応答して当該入力された数字列を記憶装置に記憶するステップと、入力された数字列の桁数を計算し、当該桁数が前記日付フィールドの桁数とを比較するステップと、計算された数字列の桁数が日付フィールドの桁数より小さいことを条件として、入力された数字列に基準日に基づいて作成された数字列を補完することにより、１つまたは複数の日付の候補を作成するステップと、作成された日付の候補を表示装置に表示するステップとを含む。【選択図】図７
2008102832.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システムにおける日付入力を支援するための方法であって、
予め指定された日付を基準日として記憶装置に記憶するステップと、
表示装置に表示された日付フィールドに、ユーザが１桁以上の数字列を入力することに応答して、当該入力された数字列を前記記憶装置に記憶するステップと、
入力された前記数字列の桁数を計算し、当該桁数と前記日付フィールドの桁数とを比較するステップと、
計算された前記数字列の桁数が前記日付フィールドの桁数より小さいことを条件として、前記入力された数字列に、前記基準日に基づいて作成された数字列を補完することにより、１つまたは複数の日付の候補を作成するステップと、
作成された前記日付の候補を表示装置に表示するステップと
を含む方法。
【請求項２】
前記日付の候補を作成するステップは、
前記基準日を表す数字列を前記記憶装置から取得するステップと、
前記日付フィールドの桁数ｍから前記入力された数字列の桁数ｎを減算することにより得られる値の桁数分の数字列を、前記基準日を表す数字列から抽出するステップと、
抽出した数字列を前記入力された数字列に連結することにより、日付の候補を作成するステップと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記日付フィールドについて、基準日以降の日付の候補を作成することが指定されていることを条件として、
前記連結して作成された日付の候補が基準日以降のものであるか否かを判断するステップと、
前記日付の候補が基準日以降のものでない場合、当該日付の候補が基準日以降のものとなるまで、当該日付の候補の数字列の（ｍ−ｎ）番目の値を増加するステップと、
をさらに含む、請求項２に記載の方法。
【請求項４】
前記日付フィールドについて、基準日以前の日付の候補を作成することが指定されていることを条件として、
前記連結して作成された日付の候補が基準日以前のものであるか否かを判断するステップと、
前記日付の候補が基準日以前のものでない場合、当該日付の候補が基準日以前のものとなるまで、当該日付の候補の数字列の（ｍ−ｎ）番目の値を減ずるステップと、
をさらに含む、請求項２に記載の方法。
【請求項５】
作成された日付の候補が日付として妥当であるか否かを判断するステップと、
当該日付の候補が日付として妥当でない場合、妥当な日付を作成できないことを表示装置に表示するステップと、
をさらに含む、請求項１に記載の方法。
【請求項６】
作成された日付の候補が日付として妥当であるか否かを判断するステップと、
当該日付の候補が日付として妥当でない場合、前記入力された数字列を前記入力フィールドにおいて１桁以上シフトしたものに基づいて、再度、補完処理をして日付の候補を作成するステップと、
をさらに含む、請求項１に記載の方法。
【請求項７】
前記日付フィールドの形式がＹＹＹＹＭＭＤＤであり、入力された数字列は右詰に配置される、請求項１に記載の方法。
【請求項８】
データ処理システムにおける日付入力を支援するためのプログラムであって、
予め指定された日付を基準日として記憶装置に記憶するステップと、
表示装置に表示された日付フィールドに、ユーザが１桁以上の数字列を入力することに応答して、当該入力された数字列を前記記憶装置に記憶するステップと、
入力された前記数字列の桁数を計算し、当該桁数と前記日付フィールドの桁数とを比較するステップと、
計算された前記数字列の桁数が前記日付フィールドの桁数より小さいことを条件として、前記入力された数字列に、前記基準日に基づいて作成された数字列を補完することにより、１つまたは複数の日付の候補を作成するステップと、
作成された前記日付の候補を表示装置に表示するステップと
をデータ処理システムに実行させるプログラム。
【請求項９】
データ処理システムにおいて日付入力を支援するためのシステムであって、
表示装置に表示された日付フィールドにユーザにより入力された１桁以上の数字列を受け取る入力部と、
予め指定された基準日と、前記入力された数字列とを記憶するデータ保持部と、
前記入力された入力された数字列の桁数を計算し、当該桁数が前記日付フィールドの桁数より小さいことを条件として、当該入力された数字列に、前記基準日に基づいて作成された数字列を補完することにより、１つまたは複数の日付の候補を作成する補完処理部と、
前記補完処理部により作成された日付の候補を表示装置に表示する表示部と
を含むシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、ユーザ・インターフェイスに関する。特に、本発明は、データ処理システムにおける日付入力を支援するための方法、プログラム、およびシステムに関する。
【背景技術】
【０００２】
データ処理システムで稼働する業務プログラムには、その業務の内容に応じて、ユーザに日付を入力させるものがある。近年、日付の入力は、例えば、日付入力画面にカレンダーを表示させ、そのカレンダー上の日付をユーザがマウス等により選択することによって行うような、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を用いたものが増加してきている。しかしながら、画面サイズの表示可能範囲の制約などから、日付をキーボードから直接入力することの優位性も依然として存在する。
【０００３】
日付（例えば、「２００６／１０／１２」）をキーボードから入力する場合、ユーザは８桁の数字を入力する必要がある。このようなユーザの入力の労力を減らすために、日付を入力する際、日付の要素の一部（例えば、「年」）の入力を省略することを可能とする技術が開発されており、以下のような従来技術が存在する。
【０００４】
特開２００５−６３０３７号公報は、電子調達システムにおいて、日付に関して昇順に並ぶ項目に関して、「年」、「月」、「日」の要素のうち「月」および「日」を入力することにより、「年」部分を省略して入力することができる技術を開示している。
特開２０００−１０６９７号公報は、日付入力装置において、現在の日付を基準として入力可能な日付の範囲を決定し、その範囲から入力された「日」に相当する日付を特定する技術を開示している。
特開平７−１０５２９０号公報は、帳票データ処理装置において、帳票データ種類（例えば、その項目に過去又は将来の日付を入力すべきか）を予め設定しておき、これと異なるデータが入力された場合に、その登録を拒否することにより、帳票データの誤入力を阻止する技術を開示している。
【特許文献１】特開２００５−６３０３７号公報
【特許文献２】特開２０００−１０６９７号公報
【特許文献３】特開平７−１０５２９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記に説明した従来技術においては、日付の「年」または「年・月」の入力の省略は、一定の条件の下、ユーザにより入力された「月・日」または「日」に、所定の「年」または「年・月」を補完することにより実現される。これらの従来技術においては、少なくとも「日」は、完全な形で入力され、確定される必要がある。例えば、日付「２００６／１０／１２」を入力したい場合、ユーザが日として「１２」を入力し、「Ｅｎｔｅｒ」キーの押下などにより確定した後でなければ、補完処理は行われない。したがって、「日」が完全な形で入力され、確定されなくても、すなわち、例えば、上記の例において、「１」または「２」のみの入力によっても補完処理が可能となれば、より効率的な日付の入力が可能となる。
【０００６】
また、従来技術においては、補完処理の動作が、ユーザにとってわかりにくいという問題がある。これは、主に、ユーザが入力した数字を確定して初めて、補完処理後の日付がユーザに表示されることに起因する。例えば、現在日付が「２００６／１０／１０」であり、ユーザは「２００６／１０／１２」が表示されることを期待して、日付フィールドに「１２」を入力して確定したにもかかわらず、業務プログラムが「１２」を１９００年からの経過日数であると認識し、「１９００年１月１２日」を表示するような場合があり得る。このような場合、ユーザは、入力を確定するまで、「１９００年１月１２日」が表示されることを知ることは困難である。その結果、ユーザは日付を再入力しなければならなくなり、入力の労力が軽減されない。
【０００７】
ユーザが入力した数字を確定していない段階で、どのような補完処理が行われようとしているのかをユーザに示すことができれば、ユーザは、その動作を予測しながら、より効率的な日付の入力が可能となる。したがって、本発明の目的は、ユーザのキー入力操作を最小限にできる日付入力を支援するための方法、プログラム、およびシステムを提供することである。また、本発明のもう１つの目的は、その補完処理の動作がユーザに予測しやすい日付入力を支援するための方法、プログラム、およびシステムを提供することである。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、データ処理システムにおける日付入力を支援するための方法が提供される。この方法は、予め指定された日付を基準日として記憶装置に記憶するステップと、表示装置に表示された日付フィールドに、ユーザが１桁以上の数字列を入力することに応答して、当該入力された数字列を記憶装置に記憶するステップと、入力された数字列の桁数を計算し、当該桁数と前記日付フィールドの桁数とを比較するステップと、計算された数字列の桁数が日付フィールドの桁数より小さいことを条件として、当該入力された数字列に、基準日に基づいて作成された数字列を補完することにより、１つまたは複数の日付の候補を作成するステップと、作成された日付の候補を表示装置に表示するステップとを含む。
【０００９】
好ましくは、日付の候補を作成するステップは、基準日を表す数字列を記憶装置から取得するステップと、日付フィールドの桁数ｍから入力された数字列の桁数ｎを減算することにより得られる値の桁数分の数字列を、基準日を表す数字列から抽出するステップと、抽出した数字列を前記入力された数字列に連結することにより、日付の候補を作成するステップとをさらに含むことができる。
【００１０】
好ましくは、日付フィールドについて、基準日以降の日付の候補を作成することが指定されていることを条件として、連結して作成された日付の候補が基準日以降のものであるか否かを判断するステップと、その日付の候補が基準日以降のものでない場合、当該日付の候補が基準日以降のものとなるまで、当該日付の候補の数字列の（ｍ−ｎ）番目の値を増加するステップとをさらに含むことができる。これにより、所定の基準日以降の日付が入力されるべき入力フィールドにおいては、日付の候補は、その基準日以降の日付となるように補完がなされて、作成される。
【００１１】
好ましくは、日付フィールドについて、基準日以前の日付の候補を作成することが指定されていることを条件として、連結して作成された日付の候補が基準日以前のものであるか否かを判断するステップと、その日付の候補が基準日以前のものでない場合、当該日付の候補が基準日以前のものとなるまで、当該日付の候補の数字列の（ｍ−ｎ）番目の値を減ずるステップとをさらに含むことができる。これにより、所定の基準日以前の日付が入力されるべき入力フィールドにおいては、日付の候補は、その基準日以前の日付となるように補完がなされて、作成される。
【００１２】
好ましくは、作成された日付の候補が日付として妥当であるか否かを判断するステップと、当該日付の候補が日付として妥当でない場合、妥当な日付を作成できないことを表示装置に表示するステップとをさらに含むことができる。これにより、ユーザの誤入力を防止することができる。
【００１３】
さらに、好ましくは、作成された日付の候補が日付として妥当であるか否かを判断するステップと、当該日付の候補が日付として妥当でない場合、入力された数字列を入力フィールドにおいて１桁以上シフトしたものに、再度、補完処理をして日付の候補を作成するステップとをさらに含むことができる。これは、ユーザにより入力された数字列は妥当な日付であると推定して、可能な限り、妥当な日付を提示するものである。
【００１４】
以上、複数のオブジェクトの表示を制御するための方法として本発明の概要を説明したが、本発明は、データ処理システム、プログラム、またはプログラム製品として把握することもできる。プログラム製品は、例えば、前述のプログラムを格納した記憶媒体を含め、あるいはプログラムを伝送する媒体を含めることができる。
【００１５】
上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの構成要素のコンビネーションまたはサブコンビネーションもまた、発明となり得ることに留意すべきである。
【発明を実施するための最良の形態】
【００１６】
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１７】
また、本発明は多くの異なる態様で実施することが可能であり、実施の形態の記載内容に限定して解釈されるべきものではない。また、実施の形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須とは限らないことに留意されたい。実施の形態の説明の全体を通じて同じ要素には同じ番号を付している。
【００１８】
図１は、本発明の実施の形態によるデータ処理システム１００の外観の一例を示す。本発明の実施の形態によるデータ処理システム１００は、キーボード６、マウス７、および表示装置１１を含む。
【００１９】
本発明の実施の形態によるデータ処理システム１００の表示装置１１は、ユーザのために、作業状況の情報などを視覚的に表示する。ユーザは、キーボード６、マウス７などの入力デバイスを使用して、業務プログラムによって表示装置１１に表示された種々のデータ入力フィールドに、必要なデータを入力する。データ入力フィールドは、所定の日付を入力する「日付フィールド」を含む。
【００２０】
図２は、本発明の実施の形態によるデータ処理システム１００を実現するのに好適な情報処理装置のハードウェア構成の一例を示した図である。情報処理装置は、バス２に接続されたＣＰＵ（中央処理装置）１とメインメモリ４を含んでいる。ハードディスク装置１３、３０、およびＣＤ−ＲＯＭ装置２６、２９、フレキシブル・ディスク装置２０、ＭＯ装置２８、ＤＶＤ装置３１のようなリムーバブル・ストレージ（記録メディアを交換可能な外部記憶システム）がフロッピーディスクコントローラ１９、ＩＤＥコントローラ２５、ＳＣＳＩコントローラ２７などを経由してバス２へ接続されている。
【００２１】
フレキシブル・ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭのような記憶メディアが、リムーバブル・ストレージに挿入される。これらの記憶メディアやハードディスク装置１３、３０、ＲＯＭ１４には、オペレーティング・システムと協働してＣＰＵ等に命令を与え、本発明を実施するためのコンピュータ・プログラムのコードを記録することができる。メインメモリ４にロードされることによってコンピュータ・プログラムは実行される。コンピュータ・プログラムは圧縮し、また複数に分割して複数の媒体に記録することもできる。
【００２２】
情報処理装置は、キーボード／マウス・コントローラ５を経由して、キーボード６やマウス７のような入力デバイスからの入力を受ける。情報処理装置は、視覚データをユーザに提示するための表示装置１１にＤＡＣ／ＬＣＤＣ１０を経由して接続される。
【００２３】
情報処理装置は、ネットワーク・アダプタ１８（イーサネット（Ｒ）・カードやトークンリング・カード）等を介してネットワークに接続し、他のコンピュータ等と通信を行うことが可能である。図示はされていないが、パラレルポートを介してプリンタと接続することや、シリアルポートを介してモデムを接続することも可能である。
【００２４】
以上の説明により、本発明の実施の形態によるデータ処理システム１００を実現するのに好適な情報処理装置は、通常のパーソナルコンピュータ、ワークステーション、メインフレームなどの情報処理装置、または、これらの組み合わせによって実現されることが容易に理解されるであろう。ただし、これらの構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。
【００２５】
本発明の実施の形態において使用される情報処理装置の各ハードウェア構成要素を、複数のマシンを組み合わせ、それらに機能を配分し実施する等の種々の変更は当業者によって容易に想定され得ることは勿論である。それらの変更は、当然に本発明の思想に包含される概念である。
【００２６】
データ処理システム１００は、マイクロソフト・コーポレーションが提供するＷｉｎｄｏｗｓ（Ｒ）オペレーティング・システム、アップル・コンピュータ・インコーポレイテッドが提供するＭａｃＯＳ（Ｒ）、Ｘ  Ｗｉｎｄｏｗ  Ｓｙｓｔｅｍを備えるＵＮＩＸ（Ｒ）系システム（たとえば、インターナショナル・ビジネス・マシーンズ・コーポレーションが提供するＡＩＸ（Ｒ）あるいはＬｉｎｕｘ（Ｒ）など）のような、ＧＵＩ（グラフィカル・ユーザー・インターフェース）をサポートするオペレーティング・システムを採用する。
【００２７】
以上から、本発明の実施の形態において使用されるデータ処理システム１００は、特定のオペレーティング・システム環境に限定されるものではないことを理解することができる。
【００２８】
図３は、本発明の実施の形態のデータ処理システム１００において、日付の入力を支援するためのシステム３００の機能ブロック図である。なお、図３の機能ブロック図に示す各要素は、図２に例示したハードウェア構成を有する情報処理装置において、ハードディスク装置１３などに格納されたオペレーティング・システムやコンピュータ・プログラムをメインメモリ４にロードした上でＣＰＵ１に読み込ませ、ハードウェア資源とソフトウェアを協働させることによって実現することができる。
【００２９】
日付入力支援システム３００は、入力部３１０、データ保持部３２０、補完処理部３３０、表示部３４０、および制御部３５０を含む。入力部３１０は、表示装置１１に表示された、日付を入力するための日付フィールドに、ユーザによりキーボード６等から入力された数字列を受け取る。データ保持部３２０は、メモリ４などの記憶装置により実現され、ユーザにより日付フィールドに入力された数字列や後述する基準日などを記憶する。
【００３０】
補完処理部３３０は、ユーザから入力された数字列の桁数を計算し、当該桁数が日付フィールドの桁数より小さい場合に、ユーザにより入力された数字列に、基準日に基づいて作成された数字列を補完することにより、日付の候補を作成する。日付フィールドの形式が「ＹＹＹＹＭＭＤＤ」（ＹＹＹＹは「年」、ＭＭは「月」、ＤＤは「日」を示す。）の場合、日付フィールドの桁数は８である。
【００３１】
表示部３４０は、補完処理部３３０により作成された日付の候補を表示装置１１に表示する。制御部３５０は、入力部３１０、補完処理部３３０、データ保持部３２０，および表示部３４０を制御する。制御部３５０は、入力部３１０がユーザからの入力を受け取ることに応じて、補完処理部３３０に処理の実行を依頼し、その結果の表示を表示部３５０に依頼する。
【００３２】
図４は、本発明の実施形態における日付フィールドを含む業務プログラムのデータ入力画面４００の例である。データ入力画面４００には、商品名を入力するフィールド４１０、商品の注文数を入力するフィールド４２０、配送してもらう日付を入力するフィールド４３０が表示されている。この例では、日付フィールド４３０は、右詰めに日付が入力され、商品「アイテムＡ」の配送日として「２００６／１０／０１」が入力されている。
【００３３】
図５は、本発明の実施形態における日付フィールドへの入力があった場合の処理を表現するフローチャート５００である。処理は、ステップ５０１で、日付フィールド４３０に日付を入力するために、ユーザが日付フィールド４３０に１文字入力することにより開始される。入力された数字列は、入力部３１０により受け取られ、データ保持部３２０に記憶される。補完処理部３３０は、ステップ５０２で、日付フィールドに入力された数字列をデータ記憶部３２０から取得する。
【００３４】
次に、ステップ５０３で、補完処理部３３０は、入力された数字列の桁数ｎを計算し、それを日付フィールドの桁数ｍと比較し、桁数ｎが桁数ｍより小さいかどうかを判断する。例えば、日付フィールドがＹＹＹＹＭＭＤＤ形式で８桁の日付の入力を要求している場合、ユーザが最初の文字を入力した段階では、入力された数字列の桁数は１であり、日付フィールドの桁数８より小さいため、ステップ５０４に進む。
【００３５】
ステップ５０４では、補完処理部３３０は、所定のルールに従って、ユーザにより入力された数字列に、不足する桁数の数字列を補完することにより、日付の候補を作成する。補完処理の詳細については、後述する。次に、ステップ５０５で、表示部３４０は、補完処理部３３０により作成された日付の候補をユーザに表示する。
【００３６】
これらの処理は、ユーザが日付フィールドに数字を１桁入力する度に行われ、入力された数字列の桁数ｎが日付フィールドの桁数ｍより小さくなくなった場合に終了する（ステップ５０６）。
【００３７】
図６は、本発明の実施形態における日付入力支援システム３００において行われる補完処理を表すフローチャート６００である。補完処理６００は、図５のステップ５０３において、入力された数字列の桁数ｎが日付フィールドの桁数ｍよりも小さいと判断されたことを条件として、開始される。
【００３８】
日付入力支援システム３００のデータ保持部３２０には、任意の指定された日付が基準日として記憶されている。基準日は、入力作業を行っている現在の日付であっても良い。補完処理は、ステップ６０１で、その基準日をデータ保持部３２０から取得することから開始する。ステップ６０２で、補完処理部３３０は、入力された数字列の桁数ｎを日付フィールドの桁数ｍから減算することによって、その差ｘを求める。次に、ステップ６０３で、補完処理部３３０は、基準日を表す数字列の左側ｘ桁を抽出する。そして、ステップ６０４で、抽出された数字列は、ユーザにより入力された数字列の左側に連結される。これにより作成された数字列が、日付の候補となる。
【００３９】
補完処理の具体例を、図７を参照して説明する。図７は、本発明の実施形態における日付入力支援システム３００において行われる補完処理の一例を示した図である。この例では、ユーザは、図４における商品「アイテムＡ」の配送日を入力するための日付フィールド４３０に「２００６／１１／１０」を入力しようとする。ユーザは、年の入力を省略し、月と日を順に入力していく。日付は、日付フィールドに、ＹＹＹＹ／ＭＭ／ＤＤ形式で右詰に入力される（７０２）。また、基準日は、「２００６／１０／１５」に指定されている（７０１）。
【００４０】
ユーザが、最初の操作で、日付フィールドに「１」を入力した場合（７０３）、入力された数字列は１桁であり、日付フィールドの桁数８よりも小さいため、補完処理が開始される。入力フィールドの桁数と入力された数字列の桁数の差は７であるため、基準日を表す数字列の左から７桁（すなわち、「２００６１０１」）が抽出され（７０４）、それがユーザにより入力された数字列（すなわち、「１」）の左側に連結される。これにより、「２００６／１０／１１」が日付の候補として作成され、ユーザに表示される（７０５）。
【００４１】
しかし、表示された日付はユーザの意図するものではないため、ユーザは、第２の操作で、再度「１」を入力する。これにより、先に入力された「１」は、左に１桁シフトされ、「１１」が入力される（７０６）。ユーザにより入力された数字列は２桁であり、日付フィールドの桁数８よりも小さいため、補完処理が開始される。入力フィールドの桁数と入力された数字列の桁数の差は６であるため、基準日を表す数字列の左から６桁（すなわち、「２００６１０」）が抽出され（７０４）、それがユーザにより入力された数字列（すなわち、「１１」）の左側に連結される。これにより、「２００６／１０／１１」が日付の候補として作成され、ユーザに表示される（７０８）。
【００４２】
しかし、表示された日付の候補がまだユーザの意図するものではないため、ユーザは、同様に、「１」、「０」を順に入力する（７０９、７１２）。その結果、「２００６／１０／１１」が日付の候補として作成され、表示される（７１４）。
【００４３】
このように、補完処理により作成された日付の候補は、ユーザが１文字入力する都度、表示されるため、ユーザは、自分の入力に対して、どのような補完処理がなされるかを予測しやすく、これにより、ユーザは補完処理の動作を学習し、入力操作を減少させることが可能となる。その具体例を、図８を用いて説明する。
【００４４】
図８は、図７の説明と同様の状況において、補完処理の動作を学習したユーザが、日付を入力する場合を示す。ユーザが「１１」を入力し、「２００６／１０／１１」が表示されるところまでは、図７の説明と同様である（８０１〜８０８）。
【００４５】
しかし、表示される補完処理の結果を見て学習したユーザは、次に、「１」ではなく、「０」を入力することができるだろう（８０９）。なぜなら、これまでの補完処理の結果を見れば、ユーザは、右から４桁目には、「１」が補完されることを予測することができるからである。
【００４６】
ユーザが「０」を入力することにより（８０９）、基準日を表す数字列の左から５桁（すなわち、「２００６１」）が抽出され（８１０）、ユーザが入力した「１１０」の左側に連結される。その結果、ユーザが入力しようとしていた「２００６／１０／１１」が日付の候補として作成され、表示される（８１１）。
【００４７】
以上、本発明の実施形態における補完処理の基本的な動作を説明したが、拡張した補完処理について、以下に説明する。その日付フィールドに入力すべき日付の意味によっては、入力される日付が限定される場合がある。例えば、発送日や支払い予定日は、過去の日付となることはありえない。また、実績データは、未来の日付となることはありえない。このような特定の日付以降または特定の日付以前の日付が入力されるべき日付フィールドにおける補完処理の動作について、以下に説明する。
【００４８】
図９は、本発明の実施形態における、基準日以降の日付が入力されるべき日付フィールドのための補完処理を表すフローチャート９００である。処理は、ステップ９０１で、前述の基本的な補完処理によって日付の候補が作成されることにより開始する。ステップ９０２で、入力される日付フィールドには、基準日以降の日付が入力されることが指定されているかどうか判断する。この指定は、各日付フィールドと対応付けてデータ保持部３２０に記憶することができる。その日付フィールドについて、基準日以降の日付が入力されることが指定されていない場合には、この処理は終了する（ステップ９０３）。
【００４９】
一方、その日付フィールドに基準日以降の日付が入力されることが指定されている場合には、ステップ９０１に進み、作成された日付の候補と基準日とを比較し、それが基準日以降のものであるかどうか判断する（ステップ９０４）。それが基準日以降のものであった場合には、要件を満たしているため、この処理は終了する（ステップ９０３）。
【００５０】
ステップ９０１で作成された日付の候補が基準日以降のものでない場合、ステップ９０５に進み、その日付の候補が基準日以降のものとなるまで、当該日付の候補の数字列の（ｍ−ｎ）番目の値を１ずつ増加させる。ｍは、日付フィールドの桁数であり、ｎは、ユーザにより入力された数字列の桁数である。
【００５１】
具体例を、図１０を参照して説明する。この例では、基準日として「２００６／１０／２５」が指定されており（１００１）、ユーザは、日付フィールド１００２に「２００６／１１／１０」を入力しようとする。最初に、ユーザは、「１」を入力する（１００３）。すると、基準日を表す数字列の左から７桁（すなわち、「２００６１０２」）が抽出され（１００４）、ユーザにより入力された文字「１」の左側に連結される。これにより、「２００６／１０／２１」が作成される（１００５）。「２００６／１０／２１」は、基準日以降の日付でないため、左から（８−１）番目（すなわち、７番目）の値が１増加される。その結果、「２００６／１０／３１」が作成される（１００６）。これは、基準日以降の日付であるため、処理は終了する。
【００５２】
しかしながら、作成された日付の候補は、ユーザが入力しようとした日付ではないため、ユーザは、さらに、「０」を入力する（１００７）。すると、基準日を表す数字列の左から６桁（すなわち、「２００６１０」）が抽出され（１００８）、これをユーザにより入力された数字列「１０」の左側に連結することにより、「２００６／１０／１０」が作成される（１００９）。これは、基準日以降の日付でないため、左から（８−２）番目（すなわち、６番目）の値が１増加される。その結果、「２００６／１１／１０」が作成される（１０１０）。これは基準日以降の日付であるため、処理は終了し、この日付が候補としてユーザに表示される。そして、これはユーザが入力しようとした日付であるため、ユーザは、入力を終了する。
【００５３】
次に、基準日以前の日付が入力されるべき日付フィールドのための補完処理について、図１１を参照して説明する。処理は、ステップ１１０１で、前述の基本的な補完処理によって日付の候補が作成されることにより開始する。ステップ１１０２で、入力される日付フィールドには、基準日以前の日付が入力されることが指定されているかどうか判断する。それが指定されていない場合には、この処理は終了する（ステップ１１０３）。
【００５４】
一方、その日付フィールドに基準日以前の日付が入力されることが指定されている場合には、ステップ１１０４に進み、ステップ１１０１で作成された日付の候補が基準日以前のものであるかどうか判断する。それが基準日以前のものであった場合には、要件を満たしているため、この処理は終了する（ステップ１１０３）。
【００５５】
ステップ１１０１で作成された日付の候補が基準日以前のものでない場合、ステップ１１０５に進み、その日付の候補が基準日以前のものとなるまで、当該日付の候補の数字列の（ｍ−ｎ）番目の値を減少させる。ｍは、日付フィールドの桁数であり、ｎは、ユーザにより入力された数字列の桁数である。
【００５６】
具体例を、図１２を参照して説明する。この例では、基準日として「２００６／１１／１０」が指定されており（１２０１）、ユーザは、日付フィールド１２０２に「２００６／１０／２５」を入力しようとする。最初に、ユーザは、「２」を入力する（１２０３）。すると、基準日を表す数字列の左から７桁（すなわち、「２００６１１１」）が抽出され（１２０４）、ユーザにより入力された文字「２」の左側に連結される。これにより、「２００６／１１／１２」が作成される（１２０５）。これは、基準日以前の日付でないため、左から（８−１）番目（すなわち、７番目）の値が１減少される。その結果、「２００６／１１／０１」が作成される（１２０６）。これは、基準日以前の日付であるため、処理は終了する。
【００５７】
しかしながら、作成された日付の候補は、ユーザが入力しようとした日付ではないため、ユーザは、さらに、「５」を入力する（１２０７）。すると、基準日を表す数字列の左から６桁（すなわち、「２００６１１」）が抽出され（１２０８）、これをユーザにより入力された数字列「２５」の左側に連結することにより、「２００６／１１／２５」が作成される（１２０９）。これは、基準日以前の日付でないため、左から（８−２）番目（すなわち、６番目）の値が１減少される。その結果、「２００６／１０／２５」が作成される（１２１０）。これは、基準日以前の日付であるため、処理は終了する。また、これは、ユーザが入力しようとした日付であるため、ユーザは、入力を終了する。
【００５８】
次に、もう一つの拡張した補完処理について説明する。ユーザにより入力された数字列に基づいて補完処理をして作成された日付の候補が日付として妥当でない場合がある。例えば、「月」が１２を超えた場合や、「日」が０になったような場合である。このような場合の補完処理の基本的な動作のフローチャートが図１３に示されている。処理１３００は、ステップ１３０１で、補完処理により日付の候補が作成されることにより開始される。ステップ１３０２で、その作成された日付の候補が日付で妥当かどうかを判断する。それが日付として妥当な場合には、ステップ１３０３に進み、その日付の候補を表示することにより処理は終了する。一方、作成された日付の候補が日付として妥当でない場合には、ステップ１３０４に進み、補完処理の結果作成された日付が妥当な日付でないことを表示する。ユーザに注意を喚起するため、その表示を、アイコンにより行ったり、表示される日付の候補の文字の色を変えることにより行うこともできる。
【００５９】
図１４は、補完処理により作成された日付の候補が日付として妥当でない場合のもう一つの動作を表すフローチャートである。処理１４００では、日付の候補が日付として妥当でない場合の処理が、図１３で説明した動作と異なる。ステップ１４０２で、日付の候補が日付として妥当でない場合、ステップ１４０４に進み、ユーザにより入力された数字列を入力フィールドにおいて溢れることなく左に１桁シフトすることができるかどうか判断する。シフトすることが可能な場合には、ステップ１４０５に進み、１桁シフトした後に、再度、補完処理を行い、日付の候補を作成する。その後、ステップ１４０２に戻り、作成された日付の候補が妥当かどうかを判断する。ステップ１４０４で、シフトすることがもはやできない場合には、ステップ１４０６に進み、補完処理の結果作成された日付が妥当な日付でないことを表示する。
【００６０】
この処理の具体例を、図１５を参照して説明する。この例では、ユーザが日付フィールドに「２００６」を入力し、その補完処理の結果、「２００６／２０／０６」という日付の候補が作成された（１５０１）。これは、「月」が２０となっており、日付としては妥当でない。そこで、ユーザにより入力された「２００６」をシフトすることができるかどうか判断する。ユーザにより入力された数字列が４桁であり、入力フィールドは８桁であるから、左に最大４桁までシフトすることができる。そこで、入力された数字列を左に１桁シフトし、補完処理を行う。
【００６１】
補完処理は、日付フィールドの桁数ｍからユーザにより入力された数字列の桁数ｎと数字列をシフトした桁数ｐを減じて求められた値の桁数分を、基準日を表す数字列の左側から抽出し、これをユーザにより入力された数字列の左側に連結し、さらに、基準日を表す数字列の右側から、数字列をシフトした桁数分を抽出し、これをユーザにより入力された数字列の右側に連結することにより行われる。この例では、基準日を表す数字列の左側３桁を抽出し、ユーザにより入力された数字列の左側に連結し、基準日を表す数字列の右側１桁を抽出し、ユーザにより入力された数字列の右側に連結する。その結果、「２００２／００／６０」が作成される。
【００６２】
しかしながら、「２００２／００／６０」は、「月」が０であり、また、「日」が６０となっており、日付として妥当でないため、さらに１桁左にシフトし、補完処理をする。その結果、「２０２０／０６／１０」が作成される（１５０５）。「２０２０／０６／１０」は、日付としては、妥当であるため、これが表示される。これで処理を終了することもできるが、シフトできなくなるまで、さらに日付の候補を作成するように構成することもできる。図１５では、ユーザにより入力された数字列を日付フィールドにおいてシフトできなくなるまで、日付の候補を作成している。３桁左にシフトした場合には、「２２００／６１／１０」が作成されるが、これは、「月」が６１となっており、日付としては妥当ではない（１５０７）。４桁左にシフトした場合には、「２００６／１１／１０」が作成され、これは、日付としては妥当である（１５０９）。このようにして妥当な日付をそれぞれデータ保持部３２０に記憶しておき、複数の日付の候補をまとめて表示し、ユーザに選択させるように構成することもできる。
【００６３】
以上、本発明によれば、日付入力において、ユーザが文字を１桁入力する度に、補完処理が行われ、日付の候補が作成されることから、キー入力を最小限にすることができる。また、ユーザが文字を１桁入力する度に、補完処理により作成された日付の候補がユーザに表示されるため、その補完処理の動作がユーザに予測しやすいものとなり、より効率的な日付入力が可能となる。なお、本発明の実施の態様として、日付フィールドへの入力が、ＹＹＹＹ／ＭＭ／ＤＤ形式で右詰に行われる場合を説明したが、他の形式、例えば、ＭＭ／ＤＤ／ＹＹＹＹ形式で左詰に行うことも可能であることは、当業者であれば容易に理解されるだろう。
【００６４】
また、本発明は、ハードウェア、ソフトウェア、またはハードウェア及びソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアの組み合わせによる実行において、所定のプログラムを有するデータ処理システムにおける実行が典型的な例として挙げられる。かかる場合、該所定プログラムが該データ処理システムにロードされ実行されることにより、該プログラムは、データ処理システムを制御し、本発明にかかる処理を実行させる。このプログラムは、任意の言語・コード・表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接、または１．他の言語・コード・表記への変換、２．他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。
【００６５】
もちろん、本発明は、そのようなプログラム自体のみならず、プログラムを記録した媒体もその範囲に含むものである。本発明の機能を実行するためのプログラムは、フレキシブル・ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ、ハードディスク装置、ＲＯＭ、ＭＲＡＭ、ＲＡＭ等の任意のコンピュータ読み取り可能な記録媒体に格納することができる。かかるプログラムは、記録媒体への格納のために、通信回線で接続する他のデータ処理システムからダウンロードしたり、他の記録媒体から複製したりすることができる。また、かかるプログラムは、圧縮し、または複数に分割して、単一または複数の記録媒体に格納することもできる。また、様々な形態で、本発明を実施するプログラム製品を提供することも勿論可能であることにも留意されたい。
【００６６】
上記の実施の形態に、種々の変更または改良を加えることが可能であることが当業者に明らかである。従って、そのような変更または改良を加えた形態も当然に本発明の技術的範囲に含まれる。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施形態おけるデータ処理システムの外観の一例を示した図である。
【図２】本発明の実施形態おけるデータ処理システムを実現するのに好適な情報処理装置のハードウェア構成の一例を示した図である。
【図３】本発明の実施形態における日付の入力を支援するシステムの機能ブロック図である。
【図４】本発明の実施形態における日付フィールドを含む業務プログラムのデータ入力画面の例である。
【図５】本発明の実施形態における日付フィールドへの入力があった場合の処理を表現するフローチャートである。
【図６】本発明の実施形態における日付入力支援システムにおいて行われる補完処理を表すフローチャートである。
【図７】本発明の実施形態における日付入力支援システムにおいて行われる補完処理の一例を示した図である。
【図８】本発明の実施形態において、補完処理の動作を学習したユーザが日付を入力する場合を示した図である。
【図９】本発明の実施形態における基準日以降の日付が入力されるべき日付フィールドのための補完処理を表すフローチャートである。
【図１０】本発明の実施形態における基準日以降の日付が入力されるべき日付フィールドのための補完処理の一例を示した図である。
【図１１】本発明の実施形態における基準日以前の日付が入力されるべき日付フィールドのための補完処理を表すフローチャートである。
【図１２】本発明の実施形態における基準日以前の日付が入力されるべき日付フィールドのための補完処理の一例を示した図である。
【図１３】本発明の実施形態における補完処理により作成された日付の候補が日付として妥当でない場合の基本的な動作を表すフローチャートである。
【図１４】本発明の実施形態における補完処理により作成された日付の候補が日付として妥当でない場合のもう一つの動作を表すフローチャートである。
【図１５】本発明の実施形態における補完処理により作成された日付の候補が日付として妥当でない場合のもう一つの動作の一例を示した図である。
【図１】
2008102832.tif 000003
【図２】
2008102832.tif 000004
【図３】
2008102832.tif 000005
【図４】
2008102832.tif 000006
【図５】
2008102832.tif 000007
【図６】
2008102832.tif 000008
【図７】
2008102832.tif 000009
【図８】
2008102832.tif 000010
【図９】
2008102832.tif 000011
【図１０】
2008102832.tif 000012
【図１１】
2008102832.tif 000013
【図１２】
2008102832.tif 000014
【図１３】
2008102832.tif 000015
【図１４】
2008102832.tif 000016
【図１５】
2008102832.tif 000017