説明

データ処理システムにおける日付入力を支援するための方法、プログラムおよびシステム

【課題】キー入力操作を最小限にできる日付入力支援方法、プログラム、およびシステム。
【解決手段】予め指定された日付を基準日として記憶装置に記憶するステップと、表示装置に表示された日付フィールドに1桁以上の数字列を入力することに応答して当該入力された数字列を記憶装置に記憶するステップと、入力された数字列の桁数を計算し、当該桁数が前記日付フィールドの桁数とを比較するステップと、計算された数字列の桁数が日付フィールドの桁数より小さいことを条件として、入力された数字列に基準日に基づいて作成された数字列を補完することにより、1つまたは複数の日付の候補を作成するステップと、作成された日付の候補を表示装置に表示するステップとを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的には、ユーザ・インターフェイスに関する。特に、本発明は、データ処理システムにおける日付入力を支援するための方法、プログラム、およびシステムに関する。
【背景技術】
【0002】
データ処理システムで稼働する業務プログラムには、その業務の内容に応じて、ユーザに日付を入力させるものがある。近年、日付の入力は、例えば、日付入力画面にカレンダーを表示させ、そのカレンダー上の日付をユーザがマウス等により選択することによって行うような、GUI(Graphical User Interface)を用いたものが増加してきている。しかしながら、画面サイズの表示可能範囲の制約などから、日付をキーボードから直接入力することの優位性も依然として存在する。
【0003】
日付(例えば、「2006/10/12」)をキーボードから入力する場合、ユーザは8桁の数字を入力する必要がある。このようなユーザの入力の労力を減らすために、日付を入力する際、日付の要素の一部(例えば、「年」)の入力を省略することを可能とする技術が開発されており、以下のような従来技術が存在する。
【0004】
特開2005−63037号公報は、電子調達システムにおいて、日付に関して昇順に並ぶ項目に関して、「年」、「月」、「日」の要素のうち「月」および「日」を入力することにより、「年」部分を省略して入力することができる技術を開示している。
特開2000−10697号公報は、日付入力装置において、現在の日付を基準として入力可能な日付の範囲を決定し、その範囲から入力された「日」に相当する日付を特定する技術を開示している。
特開平7−105290号公報は、帳票データ処理装置において、帳票データ種類(例えば、その項目に過去又は将来の日付を入力すべきか)を予め設定しておき、これと異なるデータが入力された場合に、その登録を拒否することにより、帳票データの誤入力を阻止する技術を開示している。
【特許文献1】特開2005−63037号公報
【特許文献2】特開2000−10697号公報
【特許文献3】特開平7−105290号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記に説明した従来技術においては、日付の「年」または「年・月」の入力の省略は、一定の条件の下、ユーザにより入力された「月・日」または「日」に、所定の「年」または「年・月」を補完することにより実現される。これらの従来技術においては、少なくとも「日」は、完全な形で入力され、確定される必要がある。例えば、日付「2006/10/12」を入力したい場合、ユーザが日として「12」を入力し、「Enter」キーの押下などにより確定した後でなければ、補完処理は行われない。したがって、「日」が完全な形で入力され、確定されなくても、すなわち、例えば、上記の例において、「1」または「2」のみの入力によっても補完処理が可能となれば、より効率的な日付の入力が可能となる。
【0006】
また、従来技術においては、補完処理の動作が、ユーザにとってわかりにくいという問題がある。これは、主に、ユーザが入力した数字を確定して初めて、補完処理後の日付がユーザに表示されることに起因する。例えば、現在日付が「2006/10/10」であり、ユーザは「2006/10/12」が表示されることを期待して、日付フィールドに「12」を入力して確定したにもかかわらず、業務プログラムが「12」を1900年からの経過日数であると認識し、「1900年1月12日」を表示するような場合があり得る。このような場合、ユーザは、入力を確定するまで、「1900年1月12日」が表示されることを知ることは困難である。その結果、ユーザは日付を再入力しなければならなくなり、入力の労力が軽減されない。
【0007】
ユーザが入力した数字を確定していない段階で、どのような補完処理が行われようとしているのかをユーザに示すことができれば、ユーザは、その動作を予測しながら、より効率的な日付の入力が可能となる。したがって、本発明の目的は、ユーザのキー入力操作を最小限にできる日付入力を支援するための方法、プログラム、およびシステムを提供することである。また、本発明のもう1つの目的は、その補完処理の動作がユーザに予測しやすい日付入力を支援するための方法、プログラム、およびシステムを提供することである。
【課題を解決するための手段】
【0008】
上記の目的を達成するために、データ処理システムにおける日付入力を支援するための方法が提供される。この方法は、予め指定された日付を基準日として記憶装置に記憶するステップと、表示装置に表示された日付フィールドに、ユーザが1桁以上の数字列を入力することに応答して、当該入力された数字列を記憶装置に記憶するステップと、入力された数字列の桁数を計算し、当該桁数と前記日付フィールドの桁数とを比較するステップと、計算された数字列の桁数が日付フィールドの桁数より小さいことを条件として、当該入力された数字列に、基準日に基づいて作成された数字列を補完することにより、1つまたは複数の日付の候補を作成するステップと、作成された日付の候補を表示装置に表示するステップとを含む。
【0009】
好ましくは、日付の候補を作成するステップは、基準日を表す数字列を記憶装置から取得するステップと、日付フィールドの桁数mから入力された数字列の桁数nを減算することにより得られる値の桁数分の数字列を、基準日を表す数字列から抽出するステップと、抽出した数字列を前記入力された数字列に連結することにより、日付の候補を作成するステップとをさらに含むことができる。
【0010】
好ましくは、日付フィールドについて、基準日以降の日付の候補を作成することが指定されていることを条件として、連結して作成された日付の候補が基準日以降のものであるか否かを判断するステップと、その日付の候補が基準日以降のものでない場合、当該日付の候補が基準日以降のものとなるまで、当該日付の候補の数字列の(m−n)番目の値を増加するステップとをさらに含むことができる。これにより、所定の基準日以降の日付が入力されるべき入力フィールドにおいては、日付の候補は、その基準日以降の日付となるように補完がなされて、作成される。
【0011】
好ましくは、日付フィールドについて、基準日以前の日付の候補を作成することが指定されていることを条件として、連結して作成された日付の候補が基準日以前のものであるか否かを判断するステップと、その日付の候補が基準日以前のものでない場合、当該日付の候補が基準日以前のものとなるまで、当該日付の候補の数字列の(m−n)番目の値を減ずるステップとをさらに含むことができる。これにより、所定の基準日以前の日付が入力されるべき入力フィールドにおいては、日付の候補は、その基準日以前の日付となるように補完がなされて、作成される。
【0012】
好ましくは、作成された日付の候補が日付として妥当であるか否かを判断するステップと、当該日付の候補が日付として妥当でない場合、妥当な日付を作成できないことを表示装置に表示するステップとをさらに含むことができる。これにより、ユーザの誤入力を防止することができる。
【0013】
さらに、好ましくは、作成された日付の候補が日付として妥当であるか否かを判断するステップと、当該日付の候補が日付として妥当でない場合、入力された数字列を入力フィールドにおいて1桁以上シフトしたものに、再度、補完処理をして日付の候補を作成するステップとをさらに含むことができる。これは、ユーザにより入力された数字列は妥当な日付であると推定して、可能な限り、妥当な日付を提示するものである。
【0014】
以上、複数のオブジェクトの表示を制御するための方法として本発明の概要を説明したが、本発明は、データ処理システム、プログラム、またはプログラム製品として把握することもできる。プログラム製品は、例えば、前述のプログラムを格納した記憶媒体を含め、あるいはプログラムを伝送する媒体を含めることができる。
【0015】
上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの構成要素のコンビネーションまたはサブコンビネーションもまた、発明となり得ることに留意すべきである。
【発明を実施するための最良の形態】
【0016】
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0017】
また、本発明は多くの異なる態様で実施することが可能であり、実施の形態の記載内容に限定して解釈されるべきものではない。また、実施の形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須とは限らないことに留意されたい。実施の形態の説明の全体を通じて同じ要素には同じ番号を付している。
【0018】
図1は、本発明の実施の形態によるデータ処理システム100の外観の一例を示す。本発明の実施の形態によるデータ処理システム100は、キーボード6、マウス7、および表示装置11を含む。
【0019】
本発明の実施の形態によるデータ処理システム100の表示装置11は、ユーザのために、作業状況の情報などを視覚的に表示する。ユーザは、キーボード6、マウス7などの入力デバイスを使用して、業務プログラムによって表示装置11に表示された種々のデータ入力フィールドに、必要なデータを入力する。データ入力フィールドは、所定の日付を入力する「日付フィールド」を含む。
【0020】
図2は、本発明の実施の形態によるデータ処理システム100を実現するのに好適な情報処理装置のハードウェア構成の一例を示した図である。情報処理装置は、バス2に接続されたCPU(中央処理装置)1とメインメモリ4を含んでいる。ハードディスク装置13、30、およびCD−ROM装置26、29、フレキシブル・ディスク装置20、MO装置28、DVD装置31のようなリムーバブル・ストレージ(記録メディアを交換可能な外部記憶システム)がフロッピーディスクコントローラ19、IDEコントローラ25、SCSIコントローラ27などを経由してバス2へ接続されている。
【0021】
フレキシブル・ディスク、MO、CD−ROM、DVD−ROMのような記憶メディアが、リムーバブル・ストレージに挿入される。これらの記憶メディアやハードディスク装置13、30、ROM14には、オペレーティング・システムと協働してCPU等に命令を与え、本発明を実施するためのコンピュータ・プログラムのコードを記録することができる。メインメモリ4にロードされることによってコンピュータ・プログラムは実行される。コンピュータ・プログラムは圧縮し、また複数に分割して複数の媒体に記録することもできる。
【0022】
情報処理装置は、キーボード/マウス・コントローラ5を経由して、キーボード6やマウス7のような入力デバイスからの入力を受ける。情報処理装置は、視覚データをユーザに提示するための表示装置11にDAC/LCDC10を経由して接続される。
【0023】
情報処理装置は、ネットワーク・アダプタ18(イーサネット(R)・カードやトークンリング・カード)等を介してネットワークに接続し、他のコンピュータ等と通信を行うことが可能である。図示はされていないが、パラレルポートを介してプリンタと接続することや、シリアルポートを介してモデムを接続することも可能である。
【0024】
以上の説明により、本発明の実施の形態によるデータ処理システム100を実現するのに好適な情報処理装置は、通常のパーソナルコンピュータ、ワークステーション、メインフレームなどの情報処理装置、または、これらの組み合わせによって実現されることが容易に理解されるであろう。ただし、これらの構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。
【0025】
本発明の実施の形態において使用される情報処理装置の各ハードウェア構成要素を、複数のマシンを組み合わせ、それらに機能を配分し実施する等の種々の変更は当業者によって容易に想定され得ることは勿論である。それらの変更は、当然に本発明の思想に包含される概念である。
【0026】
データ処理システム100は、マイクロソフト・コーポレーションが提供するWindows(R)オペレーティング・システム、アップル・コンピュータ・インコーポレイテッドが提供するMacOS(R)、X Window Systemを備えるUNIX(R)系システム(たとえば、インターナショナル・ビジネス・マシーンズ・コーポレーションが提供するAIX(R)あるいはLinux(R)など)のような、GUI(グラフィカル・ユーザー・インターフェース)をサポートするオペレーティング・システムを採用する。
【0027】
以上から、本発明の実施の形態において使用されるデータ処理システム100は、特定のオペレーティング・システム環境に限定されるものではないことを理解することができる。
【0028】
図3は、本発明の実施の形態のデータ処理システム100において、日付の入力を支援するためのシステム300の機能ブロック図である。なお、図3の機能ブロック図に示す各要素は、図2に例示したハードウェア構成を有する情報処理装置において、ハードディスク装置13などに格納されたオペレーティング・システムやコンピュータ・プログラムをメインメモリ4にロードした上でCPU1に読み込ませ、ハードウェア資源とソフトウェアを協働させることによって実現することができる。
【0029】
日付入力支援システム300は、入力部310、データ保持部320、補完処理部330、表示部340、および制御部350を含む。入力部310は、表示装置11に表示された、日付を入力するための日付フィールドに、ユーザによりキーボード6等から入力された数字列を受け取る。データ保持部320は、メモリ4などの記憶装置により実現され、ユーザにより日付フィールドに入力された数字列や後述する基準日などを記憶する。
【0030】
補完処理部330は、ユーザから入力された数字列の桁数を計算し、当該桁数が日付フィールドの桁数より小さい場合に、ユーザにより入力された数字列に、基準日に基づいて作成された数字列を補完することにより、日付の候補を作成する。日付フィールドの形式が「YYYYMMDD」(YYYYは「年」、MMは「月」、DDは「日」を示す。)の場合、日付フィールドの桁数は8である。
【0031】
表示部340は、補完処理部330により作成された日付の候補を表示装置11に表示する。制御部350は、入力部310、補完処理部330、データ保持部320,および表示部340を制御する。制御部350は、入力部310がユーザからの入力を受け取ることに応じて、補完処理部330に処理の実行を依頼し、その結果の表示を表示部350に依頼する。
【0032】
図4は、本発明の実施形態における日付フィールドを含む業務プログラムのデータ入力画面400の例である。データ入力画面400には、商品名を入力するフィールド410、商品の注文数を入力するフィールド420、配送してもらう日付を入力するフィールド430が表示されている。この例では、日付フィールド430は、右詰めに日付が入力され、商品「アイテムA」の配送日として「2006/10/01」が入力されている。
【0033】
図5は、本発明の実施形態における日付フィールドへの入力があった場合の処理を表現するフローチャート500である。処理は、ステップ501で、日付フィールド430に日付を入力するために、ユーザが日付フィールド430に1文字入力することにより開始される。入力された数字列は、入力部310により受け取られ、データ保持部320に記憶される。補完処理部330は、ステップ502で、日付フィールドに入力された数字列をデータ記憶部320から取得する。
【0034】
次に、ステップ503で、補完処理部330は、入力された数字列の桁数nを計算し、それを日付フィールドの桁数mと比較し、桁数nが桁数mより小さいかどうかを判断する。例えば、日付フィールドがYYYYMMDD形式で8桁の日付の入力を要求している場合、ユーザが最初の文字を入力した段階では、入力された数字列の桁数は1であり、日付フィールドの桁数8より小さいため、ステップ504に進む。
【0035】
ステップ504では、補完処理部330は、所定のルールに従って、ユーザにより入力された数字列に、不足する桁数の数字列を補完することにより、日付の候補を作成する。補完処理の詳細については、後述する。次に、ステップ505で、表示部340は、補完処理部330により作成された日付の候補をユーザに表示する。
【0036】
これらの処理は、ユーザが日付フィールドに数字を1桁入力する度に行われ、入力された数字列の桁数nが日付フィールドの桁数mより小さくなくなった場合に終了する(ステップ506)。
【0037】
図6は、本発明の実施形態における日付入力支援システム300において行われる補完処理を表すフローチャート600である。補完処理600は、図5のステップ503において、入力された数字列の桁数nが日付フィールドの桁数mよりも小さいと判断されたことを条件として、開始される。
【0038】
日付入力支援システム300のデータ保持部320には、任意の指定された日付が基準日として記憶されている。基準日は、入力作業を行っている現在の日付であっても良い。補完処理は、ステップ601で、その基準日をデータ保持部320から取得することから開始する。ステップ602で、補完処理部330は、入力された数字列の桁数nを日付フィールドの桁数mから減算することによって、その差xを求める。次に、ステップ603で、補完処理部330は、基準日を表す数字列の左側x桁を抽出する。そして、ステップ604で、抽出された数字列は、ユーザにより入力された数字列の左側に連結される。これにより作成された数字列が、日付の候補となる。
【0039】
補完処理の具体例を、図7を参照して説明する。図7は、本発明の実施形態における日付入力支援システム300において行われる補完処理の一例を示した図である。この例では、ユーザは、図4における商品「アイテムA」の配送日を入力するための日付フィールド430に「2006/11/10」を入力しようとする。ユーザは、年の入力を省略し、月と日を順に入力していく。日付は、日付フィールドに、YYYY/MM/DD形式で右詰に入力される(702)。また、基準日は、「2006/10/15」に指定されている(701)。
【0040】
ユーザが、最初の操作で、日付フィールドに「1」を入力した場合(703)、入力された数字列は1桁であり、日付フィールドの桁数8よりも小さいため、補完処理が開始される。入力フィールドの桁数と入力された数字列の桁数の差は7であるため、基準日を表す数字列の左から7桁(すなわち、「2006101」)が抽出され(704)、それがユーザにより入力された数字列(すなわち、「1」)の左側に連結される。これにより、「2006/10/11」が日付の候補として作成され、ユーザに表示される(705)。
【0041】
しかし、表示された日付はユーザの意図するものではないため、ユーザは、第2の操作で、再度「1」を入力する。これにより、先に入力された「1」は、左に1桁シフトされ、「11」が入力される(706)。ユーザにより入力された数字列は2桁であり、日付フィールドの桁数8よりも小さいため、補完処理が開始される。入力フィールドの桁数と入力された数字列の桁数の差は6であるため、基準日を表す数字列の左から6桁(すなわち、「200610」)が抽出され(704)、それがユーザにより入力された数字列(すなわち、「11」)の左側に連結される。これにより、「2006/10/11」が日付の候補として作成され、ユーザに表示される(708)。
【0042】
しかし、表示された日付の候補がまだユーザの意図するものではないため、ユーザは、同様に、「1」、「0」を順に入力する(709、712)。その結果、「2006/10/11」が日付の候補として作成され、表示される(714)。
【0043】
このように、補完処理により作成された日付の候補は、ユーザが1文字入力する都度、表示されるため、ユーザは、自分の入力に対して、どのような補完処理がなされるかを予測しやすく、これにより、ユーザは補完処理の動作を学習し、入力操作を減少させることが可能となる。その具体例を、図8を用いて説明する。
【0044】
図8は、図7の説明と同様の状況において、補完処理の動作を学習したユーザが、日付を入力する場合を示す。ユーザが「11」を入力し、「2006/10/11」が表示されるところまでは、図7の説明と同様である(801〜808)。
【0045】
しかし、表示される補完処理の結果を見て学習したユーザは、次に、「1」ではなく、「0」を入力することができるだろう(809)。なぜなら、これまでの補完処理の結果を見れば、ユーザは、右から4桁目には、「1」が補完されることを予測することができるからである。
【0046】
ユーザが「0」を入力することにより(809)、基準日を表す数字列の左から5桁(すなわち、「20061」)が抽出され(810)、ユーザが入力した「110」の左側に連結される。その結果、ユーザが入力しようとしていた「2006/10/11」が日付の候補として作成され、表示される(811)。
【0047】
以上、本発明の実施形態における補完処理の基本的な動作を説明したが、拡張した補完処理について、以下に説明する。その日付フィールドに入力すべき日付の意味によっては、入力される日付が限定される場合がある。例えば、発送日や支払い予定日は、過去の日付となることはありえない。また、実績データは、未来の日付となることはありえない。このような特定の日付以降または特定の日付以前の日付が入力されるべき日付フィールドにおける補完処理の動作について、以下に説明する。
【0048】
図9は、本発明の実施形態における、基準日以降の日付が入力されるべき日付フィールドのための補完処理を表すフローチャート900である。処理は、ステップ901で、前述の基本的な補完処理によって日付の候補が作成されることにより開始する。ステップ902で、入力される日付フィールドには、基準日以降の日付が入力されることが指定されているかどうか判断する。この指定は、各日付フィールドと対応付けてデータ保持部320に記憶することができる。その日付フィールドについて、基準日以降の日付が入力されることが指定されていない場合には、この処理は終了する(ステップ903)。
【0049】
一方、その日付フィールドに基準日以降の日付が入力されることが指定されている場合には、ステップ901に進み、作成された日付の候補と基準日とを比較し、それが基準日以降のものであるかどうか判断する(ステップ904)。それが基準日以降のものであった場合には、要件を満たしているため、この処理は終了する(ステップ903)。
【0050】
ステップ901で作成された日付の候補が基準日以降のものでない場合、ステップ905に進み、その日付の候補が基準日以降のものとなるまで、当該日付の候補の数字列の(m−n)番目の値を1ずつ増加させる。mは、日付フィールドの桁数であり、nは、ユーザにより入力された数字列の桁数である。
【0051】
具体例を、図10を参照して説明する。この例では、基準日として「2006/10/25」が指定されており(1001)、ユーザは、日付フィールド1002に「2006/11/10」を入力しようとする。最初に、ユーザは、「1」を入力する(1003)。すると、基準日を表す数字列の左から7桁(すなわち、「2006102」)が抽出され(1004)、ユーザにより入力された文字「1」の左側に連結される。これにより、「2006/10/21」が作成される(1005)。「2006/10/21」は、基準日以降の日付でないため、左から(8−1)番目(すなわち、7番目)の値が1増加される。その結果、「2006/10/31」が作成される(1006)。これは、基準日以降の日付であるため、処理は終了する。
【0052】
しかしながら、作成された日付の候補は、ユーザが入力しようとした日付ではないため、ユーザは、さらに、「0」を入力する(1007)。すると、基準日を表す数字列の左から6桁(すなわち、「200610」)が抽出され(1008)、これをユーザにより入力された数字列「10」の左側に連結することにより、「2006/10/10」が作成される(1009)。これは、基準日以降の日付でないため、左から(8−2)番目(すなわち、6番目)の値が1増加される。その結果、「2006/11/10」が作成される(1010)。これは基準日以降の日付であるため、処理は終了し、この日付が候補としてユーザに表示される。そして、これはユーザが入力しようとした日付であるため、ユーザは、入力を終了する。
【0053】
次に、基準日以前の日付が入力されるべき日付フィールドのための補完処理について、図11を参照して説明する。処理は、ステップ1101で、前述の基本的な補完処理によって日付の候補が作成されることにより開始する。ステップ1102で、入力される日付フィールドには、基準日以前の日付が入力されることが指定されているかどうか判断する。それが指定されていない場合には、この処理は終了する(ステップ1103)。
【0054】
一方、その日付フィールドに基準日以前の日付が入力されることが指定されている場合には、ステップ1104に進み、ステップ1101で作成された日付の候補が基準日以前のものであるかどうか判断する。それが基準日以前のものであった場合には、要件を満たしているため、この処理は終了する(ステップ1103)。
【0055】
ステップ1101で作成された日付の候補が基準日以前のものでない場合、ステップ1105に進み、その日付の候補が基準日以前のものとなるまで、当該日付の候補の数字列の(m−n)番目の値を減少させる。mは、日付フィールドの桁数であり、nは、ユーザにより入力された数字列の桁数である。
【0056】
具体例を、図12を参照して説明する。この例では、基準日として「2006/11/10」が指定されており(1201)、ユーザは、日付フィールド1202に「2006/10/25」を入力しようとする。最初に、ユーザは、「2」を入力する(1203)。すると、基準日を表す数字列の左から7桁(すなわち、「2006111」)が抽出され(1204)、ユーザにより入力された文字「2」の左側に連結される。これにより、「2006/11/12」が作成される(1205)。これは、基準日以前の日付でないため、左から(8−1)番目(すなわち、7番目)の値が1減少される。その結果、「2006/11/01」が作成される(1206)。これは、基準日以前の日付であるため、処理は終了する。
【0057】
しかしながら、作成された日付の候補は、ユーザが入力しようとした日付ではないため、ユーザは、さらに、「5」を入力する(1207)。すると、基準日を表す数字列の左から6桁(すなわち、「200611」)が抽出され(1208)、これをユーザにより入力された数字列「25」の左側に連結することにより、「2006/11/25」が作成される(1209)。これは、基準日以前の日付でないため、左から(8−2)番目(すなわち、6番目)の値が1減少される。その結果、「2006/10/25」が作成される(1210)。これは、基準日以前の日付であるため、処理は終了する。また、これは、ユーザが入力しようとした日付であるため、ユーザは、入力を終了する。
【0058】
次に、もう一つの拡張した補完処理について説明する。ユーザにより入力された数字列に基づいて補完処理をして作成された日付の候補が日付として妥当でない場合がある。例えば、「月」が12を超えた場合や、「日」が0になったような場合である。このような場合の補完処理の基本的な動作のフローチャートが図13に示されている。処理1300は、ステップ1301で、補完処理により日付の候補が作成されることにより開始される。ステップ1302で、その作成された日付の候補が日付で妥当かどうかを判断する。それが日付として妥当な場合には、ステップ1303に進み、その日付の候補を表示することにより処理は終了する。一方、作成された日付の候補が日付として妥当でない場合には、ステップ1304に進み、補完処理の結果作成された日付が妥当な日付でないことを表示する。ユーザに注意を喚起するため、その表示を、アイコンにより行ったり、表示される日付の候補の文字の色を変えることにより行うこともできる。
【0059】
図14は、補完処理により作成された日付の候補が日付として妥当でない場合のもう一つの動作を表すフローチャートである。処理1400では、日付の候補が日付として妥当でない場合の処理が、図13で説明した動作と異なる。ステップ1402で、日付の候補が日付として妥当でない場合、ステップ1404に進み、ユーザにより入力された数字列を入力フィールドにおいて溢れることなく左に1桁シフトすることができるかどうか判断する。シフトすることが可能な場合には、ステップ1405に進み、1桁シフトした後に、再度、補完処理を行い、日付の候補を作成する。その後、ステップ1402に戻り、作成された日付の候補が妥当かどうかを判断する。ステップ1404で、シフトすることがもはやできない場合には、ステップ1406に進み、補完処理の結果作成された日付が妥当な日付でないことを表示する。
【0060】
この処理の具体例を、図15を参照して説明する。この例では、ユーザが日付フィールドに「2006」を入力し、その補完処理の結果、「2006/20/06」という日付の候補が作成された(1501)。これは、「月」が20となっており、日付としては妥当でない。そこで、ユーザにより入力された「2006」をシフトすることができるかどうか判断する。ユーザにより入力された数字列が4桁であり、入力フィールドは8桁であるから、左に最大4桁までシフトすることができる。そこで、入力された数字列を左に1桁シフトし、補完処理を行う。
【0061】
補完処理は、日付フィールドの桁数mからユーザにより入力された数字列の桁数nと数字列をシフトした桁数pを減じて求められた値の桁数分を、基準日を表す数字列の左側から抽出し、これをユーザにより入力された数字列の左側に連結し、さらに、基準日を表す数字列の右側から、数字列をシフトした桁数分を抽出し、これをユーザにより入力された数字列の右側に連結することにより行われる。この例では、基準日を表す数字列の左側3桁を抽出し、ユーザにより入力された数字列の左側に連結し、基準日を表す数字列の右側1桁を抽出し、ユーザにより入力された数字列の右側に連結する。その結果、「2002/00/60」が作成される。
【0062】
しかしながら、「2002/00/60」は、「月」が0であり、また、「日」が60となっており、日付として妥当でないため、さらに1桁左にシフトし、補完処理をする。その結果、「2020/06/10」が作成される(1505)。「2020/06/10」は、日付としては、妥当であるため、これが表示される。これで処理を終了することもできるが、シフトできなくなるまで、さらに日付の候補を作成するように構成することもできる。図15では、ユーザにより入力された数字列を日付フィールドにおいてシフトできなくなるまで、日付の候補を作成している。3桁左にシフトした場合には、「2200/61/10」が作成されるが、これは、「月」が61となっており、日付としては妥当ではない(1507)。4桁左にシフトした場合には、「2006/11/10」が作成され、これは、日付としては妥当である(1509)。このようにして妥当な日付をそれぞれデータ保持部320に記憶しておき、複数の日付の候補をまとめて表示し、ユーザに選択させるように構成することもできる。
【0063】
以上、本発明によれば、日付入力において、ユーザが文字を1桁入力する度に、補完処理が行われ、日付の候補が作成されることから、キー入力を最小限にすることができる。また、ユーザが文字を1桁入力する度に、補完処理により作成された日付の候補がユーザに表示されるため、その補完処理の動作がユーザに予測しやすいものとなり、より効率的な日付入力が可能となる。なお、本発明の実施の態様として、日付フィールドへの入力が、YYYY/MM/DD形式で右詰に行われる場合を説明したが、他の形式、例えば、MM/DD/YYYY形式で左詰に行うことも可能であることは、当業者であれば容易に理解されるだろう。
【0064】
また、本発明は、ハードウェア、ソフトウェア、またはハードウェア及びソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアの組み合わせによる実行において、所定のプログラムを有するデータ処理システムにおける実行が典型的な例として挙げられる。かかる場合、該所定プログラムが該データ処理システムにロードされ実行されることにより、該プログラムは、データ処理システムを制御し、本発明にかかる処理を実行させる。このプログラムは、任意の言語・コード・表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接、または1.他の言語・コード・表記への変換、2.他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。
【0065】
もちろん、本発明は、そのようなプログラム自体のみならず、プログラムを記録した媒体もその範囲に含むものである。本発明の機能を実行するためのプログラムは、フレキシブル・ディスク、MO、CD−ROM、DVD、ハードディスク装置、ROM、MRAM、RAM等の任意のコンピュータ読み取り可能な記録媒体に格納することができる。かかるプログラムは、記録媒体への格納のために、通信回線で接続する他のデータ処理システムからダウンロードしたり、他の記録媒体から複製したりすることができる。また、かかるプログラムは、圧縮し、または複数に分割して、単一または複数の記録媒体に格納することもできる。また、様々な形態で、本発明を実施するプログラム製品を提供することも勿論可能であることにも留意されたい。
【0066】
上記の実施の形態に、種々の変更または改良を加えることが可能であることが当業者に明らかである。従って、そのような変更または改良を加えた形態も当然に本発明の技術的範囲に含まれる。
【図面の簡単な説明】
【0067】
【図1】本発明の実施形態おけるデータ処理システムの外観の一例を示した図である。
【図2】本発明の実施形態おけるデータ処理システムを実現するのに好適な情報処理装置のハードウェア構成の一例を示した図である。
【図3】本発明の実施形態における日付の入力を支援するシステムの機能ブロック図である。
【図4】本発明の実施形態における日付フィールドを含む業務プログラムのデータ入力画面の例である。
【図5】本発明の実施形態における日付フィールドへの入力があった場合の処理を表現するフローチャートである。
【図6】本発明の実施形態における日付入力支援システムにおいて行われる補完処理を表すフローチャートである。
【図7】本発明の実施形態における日付入力支援システムにおいて行われる補完処理の一例を示した図である。
【図8】本発明の実施形態において、補完処理の動作を学習したユーザが日付を入力する場合を示した図である。
【図9】本発明の実施形態における基準日以降の日付が入力されるべき日付フィールドのための補完処理を表すフローチャートである。
【図10】本発明の実施形態における基準日以降の日付が入力されるべき日付フィールドのための補完処理の一例を示した図である。
【図11】本発明の実施形態における基準日以前の日付が入力されるべき日付フィールドのための補完処理を表すフローチャートである。
【図12】本発明の実施形態における基準日以前の日付が入力されるべき日付フィールドのための補完処理の一例を示した図である。
【図13】本発明の実施形態における補完処理により作成された日付の候補が日付として妥当でない場合の基本的な動作を表すフローチャートである。
【図14】本発明の実施形態における補完処理により作成された日付の候補が日付として妥当でない場合のもう一つの動作を表すフローチャートである。
【図15】本発明の実施形態における補完処理により作成された日付の候補が日付として妥当でない場合のもう一つの動作の一例を示した図である。

【特許請求の範囲】
【請求項1】
データ処理システムにおける日付入力を支援するための方法であって、
予め指定された日付を基準日として記憶装置に記憶するステップと、
表示装置に表示された日付フィールドに、ユーザが1桁以上の数字列を入力することに応答して、当該入力された数字列を前記記憶装置に記憶するステップと、
入力された前記数字列の桁数を計算し、当該桁数と前記日付フィールドの桁数とを比較するステップと、
計算された前記数字列の桁数が前記日付フィールドの桁数より小さいことを条件として、前記入力された数字列に、前記基準日に基づいて作成された数字列を補完することにより、1つまたは複数の日付の候補を作成するステップと、
作成された前記日付の候補を表示装置に表示するステップと
を含む方法。
【請求項2】
前記日付の候補を作成するステップは、
前記基準日を表す数字列を前記記憶装置から取得するステップと、
前記日付フィールドの桁数mから前記入力された数字列の桁数nを減算することにより得られる値の桁数分の数字列を、前記基準日を表す数字列から抽出するステップと、
抽出した数字列を前記入力された数字列に連結することにより、日付の候補を作成するステップと、
をさらに含む、請求項1に記載の方法。
【請求項3】
前記日付フィールドについて、基準日以降の日付の候補を作成することが指定されていることを条件として、
前記連結して作成された日付の候補が基準日以降のものであるか否かを判断するステップと、
前記日付の候補が基準日以降のものでない場合、当該日付の候補が基準日以降のものとなるまで、当該日付の候補の数字列の(m−n)番目の値を増加するステップと、
をさらに含む、請求項2に記載の方法。
【請求項4】
前記日付フィールドについて、基準日以前の日付の候補を作成することが指定されていることを条件として、
前記連結して作成された日付の候補が基準日以前のものであるか否かを判断するステップと、
前記日付の候補が基準日以前のものでない場合、当該日付の候補が基準日以前のものとなるまで、当該日付の候補の数字列の(m−n)番目の値を減ずるステップと、
をさらに含む、請求項2に記載の方法。
【請求項5】
作成された日付の候補が日付として妥当であるか否かを判断するステップと、
当該日付の候補が日付として妥当でない場合、妥当な日付を作成できないことを表示装置に表示するステップと、
をさらに含む、請求項1に記載の方法。
【請求項6】
作成された日付の候補が日付として妥当であるか否かを判断するステップと、
当該日付の候補が日付として妥当でない場合、前記入力された数字列を前記入力フィールドにおいて1桁以上シフトしたものに基づいて、再度、補完処理をして日付の候補を作成するステップと、
をさらに含む、請求項1に記載の方法。
【請求項7】
前記日付フィールドの形式がYYYYMMDDであり、入力された数字列は右詰に配置される、請求項1に記載の方法。
【請求項8】
データ処理システムにおける日付入力を支援するためのプログラムであって、
予め指定された日付を基準日として記憶装置に記憶するステップと、
表示装置に表示された日付フィールドに、ユーザが1桁以上の数字列を入力することに応答して、当該入力された数字列を前記記憶装置に記憶するステップと、
入力された前記数字列の桁数を計算し、当該桁数と前記日付フィールドの桁数とを比較するステップと、
計算された前記数字列の桁数が前記日付フィールドの桁数より小さいことを条件として、前記入力された数字列に、前記基準日に基づいて作成された数字列を補完することにより、1つまたは複数の日付の候補を作成するステップと、
作成された前記日付の候補を表示装置に表示するステップと
をデータ処理システムに実行させるプログラム。
【請求項9】
データ処理システムにおいて日付入力を支援するためのシステムであって、
表示装置に表示された日付フィールドにユーザにより入力された1桁以上の数字列を受け取る入力部と、
予め指定された基準日と、前記入力された数字列とを記憶するデータ保持部と、
前記入力された入力された数字列の桁数を計算し、当該桁数が前記日付フィールドの桁数より小さいことを条件として、当該入力された数字列に、前記基準日に基づいて作成された数字列を補完することにより、1つまたは複数の日付の候補を作成する補完処理部と、
前記補完処理部により作成された日付の候補を表示装置に表示する表示部と
を含むシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2008−102832(P2008−102832A)
【公開日】平成20年5月1日(2008.5.1)
【国際特許分類】
【出願番号】特願2006−286359(P2006−286359)
【出願日】平成18年10月20日(2006.10.20)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】