以下、サーバ装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態における情報システム1000のブロック図である。
情報システム1000は、サーバ装置1と、1または2以上の端末装置2を備える。なお、本実施の形態においては端末装置2が一つである場合を例に挙げて説明する。サーバ装置1と、端末装置2とは、ネットワーク3を介して接続されている。
サーバ装置1は、例えば、端末装置2で使用する情報や、端末装置2で入力された情報などを集中的に管理するためのサーバ装置である。サーバ装置1は、通常、コンピュータで実現される。
端末装置2は、例えば、ユーザが利用する情報処理端末であり、例えば、パーソナルコンピュータや、携帯電話、携帯情報端末、いわゆるスマートフォン等の多機能携帯電話等である。ここでのパーソナルコンピュータは、例えば、デスクトップ型や、ノート型、タブレット型などであり、形態は、問わない。
ネットワーク3は、有線または無線の通信回線を利用したネットワークである。ネットワーク3は、例えば、インターネットや、WAN(Wide Area Network)、イントラネット、LAN(Local Area Network)などである。情報システム1000は、例えば、いわゆるクラウドシステムであり、サーバ装置1は、例えば、クラウド等により会計処理の情報処理サービスや、勤怠管理等の情報処理サービス等を提供するサーバ装置である。端末装置2を使用するユーザは、通常、サーバ装置1が提供する情報処理サービスを、ネットワーク3を経由して利用する。
サーバ装置1は、入力候補格納部101、表管理情報格納部102、受信部103、対応文字格納部104、検出部105、および送信部106を備える。
端末装置2は、画面情報格納部201、画面出力部202、端末受付部203、端末送信部204、端末受信部205、メニュー出力部206、および入力候補情報出力部207を備える。
入力候補格納部101には、1または2以上の入力候補管理表が格納される。入力候補管理表は、入力候補情報を含む1以上の属性の情報の組を1または2以上有している。ここでは、この情報の組のそれぞれを、入力候補管理表のレコードと呼ぶ。入力候補管理表は、例えば、一の入力候補情報を含む1以上の属性の情報を有する1または2以上のレコードを有する。1以上の属性の情報とは、例えば、1以上の属性を有する情報と考えても良く、1以上の属性名と対応付けられた情報と考えてもよい。かかることは以下においても同様である。一のレコードは、通常、入力候補管理表の一の行の情報である。
入力候補情報は、1または2以上の入力フィールドに入力される情報の候補となる情報である。ここでの入力フィールドとは、例えば、端末装置2において画面出力部202により出力される画面等が有する入力フィールドである。入力フィールドとは、例えば、情報が入力される領域である。ここでの入力フィールドとは、例えば、文字を入力可能な入力フィールドである。入力フィールドとは、例えば、いわゆるテキストボックスであっても良い。入力フィールドは、例えば、いわゆるスプレッドシートや表等のセルであっても良い。入力候補情報は、例えば、1以上の入力フィールドに入力され得る情報である。入力候補情報は、例えば、1または2文字(数字や記号等も含む)であっても良く、静止画像や動画像等の画像であってもよく、音声データ等であっても良い。1文字以上の文字を文字列と考えてもよい。入力候補情報は、例えば、一の入力フィールドに対応するメニューが含む一のメニュー項目に対応付けられる情報であり、このメニュー項目の選択により、一の入力フィールドに入力される情報である。入力候補情報が示す情報の内容は問わない。入力候補情報は、例えば、会計処理における勘定勘定科目であってもよい。
入力候補管理表の各レコードは、例えば、入力候補情報だけを有していても良く、入力候補情報と、他の1または2以上の属性の情報(以下、候補関連情報と称す)を有していても良い。入力候補管理表の一のレコードが有する2以上の候補関連情報は、例えば、異なる属性の候補関連情報である。一の入力候補管理表が有する複数のレコードは、例えば、同じ属性の情報を有している。入力候補管理表のレコードが有する入力候補情報は、例えば、入力候補の情報であることを示す属性を有する情報と考えてよい。入力候補管理表は、例えば、入力候補情報と、この入力候補情報に対応する候補関連情報とを対応付けて有している。通常、入力候補管理表の各レコードの1または2以上の候補関連情報が、入力候補情報と対応付けられた情報である。候補関連情報は、対応する入力候補情報とは異なる情報である。候補関連情報は、入力候補情報とは異なる属性の情報である。入力候補管理表の一の行の情報は、例えば、入力候補管理表の一のレコードの情報と考えてもよい。なお、ここでの属性は、例えば、入力候補管理表のレコードが、入力候補管理表の行に相当すると考えた場合、入力候補管理表の列の見出しとして用いられる情報と考えてもよい。入力候補管理表は、例えば、入力候補情報の属性を識別する情報である属性識別子を、入力候補情報と対応付けて有している。また、入力候補管理表は、例えば、各レコードが有する1または2以上の候補関連情報のそれぞれの属性を識別する属性識別子を、各候補関連情報と対応付けて有している。入力候補情報を識別する属性識別子は、入力候補情報であることを識別する識別子であっても良く、入力候補情報がどのような属性の情報であるかを示す識別子であっても良い。かかることは、候補関連情報を識別する属性識別子についても同様である。これらの属性識別子は、例えば、入力候補管理表の各列に対応した属性の識別子(例えば、属性名等)と考えてもよい。
入力候補管理表の各レコードが有する1または2以上の候補関連情報は、例えば、対応する入力候補情報に関連した情報である。対応する入力候補情報とは、候補関連情報と同じレコードが有する入力候補情報である。候補関連情報は、例えば、キーである。キーとは、例えば、1以上の入力候補情報から一の入力候補選択するための情報である。キーは、例えば、対応する入力候補情報の見出しとして用いられる情報である。キーは、例えば、対応する入力候補情報に対応するコードである。例えば、一の入力候補情報に対応付けられたキーは、一の入力候補情報と対になる情報である。キーは、例えば、1以上のひらがなや、1以上のカタカナ、1以上の数字、1以上のアルファベットなどである。また、キーは、これらの文字の1以上の組み合わせであってもよい。入力候補情報が、1以上の文字で構成される文字列である場合、候補関連情報であるキーは、例えば、入力候補情報の読み仮名であってもよい。入力候補情報の見出しとして用いられる1以上の文字を「インデックス」と呼んでもよい。見出しとして用いられる1以上の文字は、例えば、入力候補情報の読み仮名である1以上のひらがなや、1以上のカタカナである。また、入力候補情報に対応する1以上の英数字は、「コード」と呼んでもよい。ただし、入力候補情報の読みをローマ字で表したものは、「コード」ではなく「インデックス」と呼ぶことが好ましい。入力候補情報の読み仮名であるキーは、入力候補情報の読みの一部を略称で表したものであっても良い。例えば、入力候補情報が有する「株式会社」という文字列を、「カ」や「カ)」で省略して表した読み仮名であっても良い。
入力候補管理表の各レコードは、1以上の候補関連情報として、2種類以上の異なるキーを有していても良い。種類の異なるキーのそれぞれがどのようなキーであるかは問わない。種類の異なるキーとは、例えば、キーを用いるユーザ層、キーを用いる用途、またはキーを用いる目的等が異なるキーであってもよい。また、種類の異なるキーは、一方のキーに対して予め決められた変換を行なって得られるキーであっても良く、入力候補情報に対して、予め決められた異なる変換を行なって取得された異なるキーであっても良い。種類の異なるキーとは、例えば、情報の体系が異なるキーや、キーを構成する文字のエンコードやバイト数等が異なるキーであっても良い。また、種類の異なるキーは、ひらがな、カタカナ、アルファベット、数字等の文字種が異なるキーであっても良い。また、種類の異なるキーは、例えば、異なる文字列のキーであってもよい。種類の異なるキーは、例えば、対応する入力候補情報の読み仮名、および対応する入力候補情報に対応するコードであっても良い。
一の入力候補管理表の各レコードが有する2以上の候補関連情報である2種類以上のキーのそれぞれは、異なる属性のユーザが利用するキーであっても良い。異なる属性のユーザとは、例えば、異なる層のユーザであってもよく、異なる業種のユーザであってもよく、異なる能力のユーザであってもよい。例えば、この2種類以上のキーは、例えば、会計士や、税理士などまた、のいわゆる士業ユーザが使用するキーと、企業の会計担当者や労務関係者などの担当者ユーザや、士業ユーザ以外の一般ユーザが使用するキーとを有していてもよい。士業ユーザとは、例えば、入力フィールドに入力される情報に関する取扱についての有資格者と考えてもよい。ここでの資格は、例えば、国家資格等の公的な資格であることが好ましい。入力フィールドに入力される情報が、会計に関連した情報である場合、士業ユーザは、公認会計士や税理士等である。入力フィールドに入力される情報が、労務に関連した情報である場合、士業ユーザは、労務士等である。士業ユーザが利用するキーは、例えば、「コード」である。また、担当者ユーザや一般ユーザが利用するキーは、例えば、「インデックス」である。
一の入力候補管理表が有する2以上の候補関連情報である2種類以上のキーは、ユーザが、カスタマイズ不可のキーと、カスタマイズ可なキーとを有することは、好適である。カスタマイズ不可のキーは、例えば、「コード」である。また、カスタマイズ可のキーは、例えば、「インデックス」である。
候補関連情報であるキーの属性は、例えば、キーであることを示す属性であってもよく、キーの種類等を示す属性であっても良い。なお、一の入力候補管理表が複数のキーを有する場合、それぞれのキーの属性は、例えば、いずれのキーであるかを識別可能な属性であることが好ましい。
なお、1以上の候補関連情報は、例えば、キー以外の、入力候補情報と同じ対象に関連した情報を有していてもよい。
なお、ここでの表は、例えば、データベース等で扱われる表である。ここでの表は、例えば、情報の集合を列と行という概念を用いて表したものである。ここでの表は、実質的に表として扱うことができるものであればよく、そのデータ構造等は問わない。
入力候補管理表は、例えば、データベース等に用いられるいわゆるマスターや、マスターテーブル等であってもよい。また、入力候補管理表が有する入力候補情報や、候補関連情報の一部は、マスター等が有する基本情報等と考えてもよい。
入力候補格納部101には、例えば、1または2以上の入力候補管理表が、各入力候補管理表を識別する識別子である表識別子と対応付けて格納されている。表識別子と、入力候補管理表とがどのように対応付けられているかは問わない。例えば、これらの対応付けを管理する管理表(図示せず)が、入力候補格納部101や他の格納部(図示せず)等に格納されていても良い。また、各入力候補管理表が、それぞれの表識別子を有していても良い。表識別子は、どのような情報であるかは問わない。表識別子は、例えば、入力候補管理表の名称であっても良い。また、一の入力候補管理表が一のファイルで構成されている場合、表識別子は、入力候補管理表を構成するファイルのファイル名等であってもよい。
入力候補格納部101に入力候補管理表が蓄積される過程は問わない。入力候補格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。かかることは、他の格納部についても同様である。
表管理情報格納部102には、1以上の表管理情報が格納される。表管理情報は、入力フィールドを識別するフィールド識別子と、表関連情報とを有する情報である。表関連情報は、入力候補格納部101に格納された1以上の入力候補管理表に関連する情報であって、1以上の入力候補管理表が有する1以上の情報を特定する情報である。
表関連情報は、例えば、1または2以上の表識別子を有する情報である。ここでの1以上の表識別子は、入力候補格納部101に格納されている1以上の入力候補管理表にそれぞれ対応する表管理表のうちの一以上の表識別子である。表関連情報が複数の表識別子を有する場合、この表関連情報により特定される入力候補管理表は、通常、複数の表識別子がそれぞれ示す複数の入力候補管理表である。
また、表関連情報は、例えば、1または2以上の対象属性識別子を有する情報であってもよい。対象属性識別子は、1以上の入力候補管理表が有する1以上の情報の属性を識別する識別子である。入力候補管理表が有する1以上の情報は、入力候補管理表の各レコードの1以上の情報と考えてもよい。表関連情報が複数の対象属性識別子を有する場合、この表関連情報により特定される情報は、通常、複数の対象属性識別子とそれぞれ一致する属性識別子が示す属性の情報である。表関連情報が有する1以上の対象属性識別子は、通常、入力候補管理表の各レコードが有する1以上の情報の属性識別子と一致する識別子である。ここでの一致は、完全一致であっても良く、部分一致であっても良い。入力候補管理表が有する1以上の情報とは、例えば、入力候補管理表が有する入力候補情報と、1種類以上の候補関連情報とのうちの1以上である。表関連情報が有する1以上の対象属性識別子は、入力候補管理表が有する入力候補情報の属性識別子は含まなくても良い。表関連情報が有する1または2以上の対象属性識別子は、入力候補管理表が有する2種類以上の候補関連情報の属性識別子と一致する識別子を有していることが好ましい。例えば、表関連情報が有する1以上の対象属性識別子は、入力候補管理表が有する2種類以上の候補関連情報の属性識別子と一致する識別子であって、入力候補情報の属性識別子と一致しない識別子であることが好ましい。
例えば、表関連情報は、入力候補格納部101に格納された1以上の入力候補管理表が有する候補関連情報である1種類以上のキーを特定する情報を有していてもよい。キーを特定する情報は、例えば、キーに対応する対象属性識別子である。表関連情報は、例えば、入力候補格納部101に格納された1以上の入力候補管理表が有する2種類以上のキーを特定する情報(例えば、2種類以上のキーに対応する対象属性識別子)を有していることが好ましい。
表関連情報は、上記の情報のうちの2以上の組合わせを有していても良い。例えば、表関連情報は、1以上の表識別子と、1以上の対象属性識別子とを有していても良い。このような場合、この表関連情報により特定される情報は、通常、1以上の表識別子により特定される入力候補管理表が有する情報のうちの、1以上の候補属性識別子と一致する属性識別子が示す属性の情報である。
表管理情報は、表示属性識別子を更に有していてもよい。表示属性識別子とは、1以上の入力候補管理表が有する1以上の情報の属性を識別する識別子である。入力候補管理表が有する1以上の情報は、入力候補管理表の各レコードが有する1以上の情報と考えてもよい。表管理情報が有する1以上の表示属性識別子は、1以上の入力候補管理表の各レコードが有する1以上の情報の属性識別子と一致する識別子である。表示属性識別子は、例えば、入力候補管理表が有する入力候補情報の属性識別子と、1種類以上の候補関連情報の属性識別子とのうちの1以上と一致する識別子である。ここでの一致は、完全一致であっても良く、部分一致であっても良い。表示属性識別子は、例えば、後述する検出部105が検出の母集団として用いる入力候補管理表が有する1種類以上の情報を、属性により指定するために用いられる情報である。表示属性識別子は、候補関連情報であるキーの属性識別子であってもよい。
なお、表関連情報が、表識別子を有する場合は、例えば、この表識別子が識別する入力候補管理表の、表示属性識別子が識別する属性の情報を、後述する検出部105が検出の母集団として用いる1以上の情報として用いるようにしてもよい。
受信部103は、メニュー取得指示を、1以上の端末装置2から受信する。メニュー取得指示は、一のフィールド識別子と、フィールド識別子が示す入力フィールドに入力された1または2以上の文字と、を有する情報であって、入力フィールドに対応するメニューを取得する指示である。メニュー取得指示は、メニューを取得することを指示する情報や、取得する命令等を有していても良く、有していなくても良い。例えば、端末装置2から受信する一のフィールド識別子と、フィールド識別子が示す入力フィールドに入力された1以上の文字との組を、メニューを取得する指示と考えてもよい。1または2以上の文字は、どのような文字であっても良い。1または2以上の文字は、1以上の文字で構成されるテキスト情報と考えてもよい。
メニュー取得指示は、メニュー取得指示を送信した端末装置2を識別する装置識別子を有していても良い。装置識別子は、例えば、端末装置2に割り当てられたコードや、端末装置2のアドレス情報等である。装置識別子は、端末装置2にメニュー出力情報を送信する際のアドレス情報として利用可能な情報や、アドレス情報と対応付けられた情報であることが好ましい。装置識別子は、端末装置2にログインしているユーザの識別子等であっても良い。装置識別子等は、送信部106がメニュー出力情報の送信先を決定する際に利用される。
受信部103は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。受信部103は、通信デバイスを含むと考えても、含まないと考えても良い。
対応文字格納部104には、1以上の文字対応情報が格納される。各文字対応情報は、入力文字と、入力文字に対応する1以上の文字である対応文字とを有する情報である。入力文字とは、1以上の文字である。1以上の文字は、文字列と考えてもよい。
文字対応情報は、例えば、入力文字である1文字のアルファベットと、ローマ字表記した場合に、先頭のアルファベットが、この1文字のアルファベットと一致するカタカナまたはひらがなである1または2以上の対応文字とを有する情報である。ただし、入力文字である1文字のアルファベットは有していなくても良い。
また、文字対応情報は、例えば、入力文字である1文字のアルファベットと、この1文字のアルファベットでローマ字表記されるカタカナまたはひらがなである対応文字とを有する情報であってもよい。また、文字対応情報は、例えば、入力文字である1文字のアルファベットと、このアルファベットを子音として有するアルファベット2または3文字でローマ字表記されるカタカナまたはひらがなである対応文字とを有する情報であってもよい。
また、対応文字情報は、入力文字である2以上のアルファベットと、この2以上のアルファベットを先頭から順番にローマ字変換して得られたカタカナまたはひらがなとを先頭から配列した対応文字、または、この2以上のアルファベットを先頭から順番にローマ字変換して得られたカタカナまたはひらがなと、ローマ字変換されずに残った1文字のアルファベットを子音として有するアルファベット2または3文字でローマ字表記されるカタカナまたはひらがなとを先頭から配列した対応文字であってもよい。
なお、対応文字は、入力文字に対応する文字であれば、上記以外の文字であっても良い。例えば、対応文字は、例えば、ローマ字表記した場合に、先頭のアルファベットが、対応する入力文字の1文字のアルファベットと一致するカタカナまたはひらがなと、このカタカナまたはひらがなの後ろに配列された1以上の文字で構成される2以上文字であってもよい。
検出部105は、表管理情報によってメニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が示す1以上の情報から、メニュー取得指示が有する1以上の文字に対応する1以上の情報を検出する。表管理情報によってメニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が示す1以上の情報とは、例えば、入力候補格納部101に格納されている1以上の入力候補管理表の各レコードの情報のうちの、表管理情報によってメニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が示す1以上の情報である。検出部105が検出するメニュー取得指示が有する1以上の文字に対応する1以上の情報は、1以上の入力候補情報が有する情報のうちの、メニュー取得指示が有する1以上の文字に対応する情報である。1以上の入力候補情報が有する情報は、例えば、入力候補情報および1または2以上の候補関連情報のうちの1以上である。検出部105が検出するメニュー取得指示が有する1以上の文字に対応する一の情報は、通常、一の入力候補情報に対応する情報である。
例えば、検出部105は、表管理情報によってメニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が示す1以上の情報を検出し、検出した情報から、メニュー取得指示が有する1以上の文字に対応する1以上の情報を検出する。例えば、検出部105は、表管理情報によってメニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が示す1以上の情報を検出し、検出した情報から、メニュー取得指示が有する1以上の文字に対応する1以上の情報を、入力候補管理表のレコード毎に検出する。
表管理情報によってメニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が示す1以上の情報は、例えば、検出部105がメニュー取得指示が有する1以上の文字に対応する1以上の情報を検出する際の母集団と考えてもよい。
検出部105は、例えば、入力候補管理表が1以上の候補関連情報を有する場合は、入力候補格納部101に格納されている1以上の入力候補管理表の各レコードが有する入力候補情報および1以上の候補関連情報のうちの、表関連情報が示す1以上の情報から、メニュー取得指示が有する1以上の文字に対応する1以上の情報を検出する。また、検出部105は、例えば、入力候補管理表が候補関連情報を有さない場合、入力候補格納部101に格納されている1以上の入力候補管理表が有する入力候補情報のうちの、表関連情報が示す1以上の情報からメニュー取得指示が有する1以上の文字に対応する1以上の情報を検出する。
例えば、メニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が1以上の表識別子を有する場合、表関連情報が示す1以上の情報とは、入力候補格納部101に格納されている1以上の入力候補管理表のうちの、表関連情報が有する1以上の表識別子によりそれぞれ識別される1以上の入力候補管理表が有する情報であってもよい。検出部105は、例えば、表管理情報によってメニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が有する表識別子が示す入力候補管理表の各レコードから、メニュー取得指示が有する1以上の文字に対応する1以上の情報を検出する。表関連情報が有する一の表識別子により識別される入力候補管理表とは、表関連情報が有する一の表識別子と一致する表識別子と対応付けられた入力候補管理表である。ここでの一致は、完全一致であっても良く、部分一致であっても良い。1以上の入力候補管理表が有する情報とは、例えば、1以上の入力候補管理表が有する入力候補情報であっても良く、入力候補管理表が1または2以上の異なる属性の候補関連情報を有する場合は、この1または2以上の異なる属性の候補関連情報のうちの1以上の属性の候補関連情報であってもよく、入力候補管理情報と、1または2以上の異なる属性の候補関連情報のうちの1以上の属性の候補関連情報との両方の情報であってもよい。入力候補管理表が有する1または2以上の異なる属性の候補関連情報が、1または2以上のキーである場合、1以上の入力候補管理表が有する情報としては、1以上の入力候補管理表が有する1または2以上のキーの1以上を用いることが好ましい。
例えば、メニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が1以上の対象属性識別子を有する場合、表関連情報が示す1以上の情報とは、入力候補格納部101に格納されている1以上の入力候補管理表のうちの、表関連情報が有する1以上の対象属性識別子がそれぞれ識別する属性を有する情報であってもよい。検出部105は、例えば、入力候補格納部101に格納されている1以上の入力候補管理表の各レコードの、表管理情報によってメニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が有する1以上の対象属性識別子が示す属性の情報から、メニュー取得指示が有する1以上の文字に対応する1以上の情報を検出する。表関連情報が有する一の対象属性識別子が示す属性を有する情報とは、表関連情報が有する一の対象属性識別子と一致する属性識別子と対応付けられた入力候補情報または候補関連情報である。ここでの一致は、完全一致であっても良く、部分一致であっても良い。なお、表関連情報が2以上の対象属性識別子を有する場合、この対象属性識別子が示す属性を有する情報は、通常は、一の入力候補管理表の異なる2以上の属性の情報とすることが好ましい。
なお、メニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が1以上の表識別子と、1以上の対象属性識別子とを有する場合、例えば、表関連情報が示す1以上の情報とは、入力候補格納部101に格納されている1以上の入力候補管理表のうちの、表関連情報が有する1以上の表識別子によりそれぞれ識別される入力候補管理表の各レコードの、表関連情報が有する1以上の対象属性識別子がそれぞれ識別する属性を有する情報とすることが好ましい。検出部105は、例えば、表管理情報によってメニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が有する1以上の表識別子がそれぞれ示す入力候補管理表の各レコードの、表関連情報が有する1以上の対象属性識別子がそれぞれ示す属性の情報から、メニュー取得指示が有する1以上の文字に対応する1以上の情報を検出する。
また、検出部105は、表管理情報によってメニュー取得指示が有するフィールド識別子と対応付けられた表関連情報である対象属性識別子が示す異なる属性の2以上の候補関連情報である2種類以上のキーから、メニュー取得指示が有する1以上の文字に対応する1以上の情報を検出するようにしてもよい。ここでの表関連情報が示す2種類以上のキーである2以上の候補関連情報とは、1以上の入力候補管理表が有する情報であって、表関連情報によって、結果的に指定される2種類以上のキーである2以上の候補関連情報であればよい。2種類以上のキーを利用することで、ユーザが利用しやすいキーに応じた入力候補情報を出力することが可能となる。
例えば、メニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が、1の入力候補情報に対応する異なるキーである2以上の候補関連情報をそれぞれ識別する2以上の対象属性識別子を有する場合、検出部105は、例えば、表管理情報によってメニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が有する2以上の対象属性識別子がそれぞれ示す属性を有する2以上の異なるキーの候補関連情報を検出し、この2以上の異なるキーの候補関連情報から、メニュー取得指示が有する1以上の文字に対応する1以上の情報を検出してもよい。
また、検出部105は、例えば、表管理情報によってメニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が有する表識別子が示す入力候補管理表が有する異なるキーである2以上の候補関連情報から、メニュー取得指示が有する1以上の文字に対応する1以上の情報を検出するようにしてもよい。
検出部105は、例えば、受信部103が受信したメニュー取得指示が有する1以上の文字に一致する文字を有する1以上の情報を検出することによって、メニュー取得指示が有する1以上の文字に対応する1以上の情報を検出する。例えば、検出部105は、1以上の入力候補管理表の、表管理情報によってメニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が示す1以上の情報から、メニュー取得指示が有する1以上の文字に一致する文字を有する1以上の情報(例えば、入力候補情報や、候補関連情報)をメニュー取得指示が有する1以上の文字に対応する1以上の情報として検出してもよい。このことは、メニュー取得指示が有する1以上の文字に一致する1以上の情報を検出することと考えてもよく、この場合の一致は、1以上の文字に対する完全一致であっても部分一致であっても良い。また、ここでの一致は、大文字と小文字とを区別しても良く、区別しなくても良い。また、ここでの一致は、文字の半角と全角とを区別しても良く、区別しなくても良い。ここでの1以上の情報は、表管理情報によってメニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が示す1以上の情報から検出される。ここでの検出は、例えば、表関連情報が示す情報を、入力候補管理表のレコード毎に読み出して行なわれる。かかることは,以下においても同様である。なお、検出部105は、例えば、メニュー取得指示が有する1以上の文字に一致する文字を有する1以上の情報を検出し、この情報を有する入力候補管理表のレコードを、メニュー取得指示が有する1以上の文字に対応する1以上の情報として検出してもよく、このレコードの入力候補情報を、メニュー取得指示が有する1以上の文字に対応する1以上の情報として検出してもよい。
検出部105は、例えば、メニュー取得指示が有する1以上の文字と一致する文字を、この文字の検出対象となる情報のいずれの位置において検出しても良い。検出部105は、例えば、メニュー取得指示が有する1以上の文字と一致する文字を、この文字の検出対象となる各情報の先頭以外の位置においても検索してよい。例えば、検出部105は、例えば、メニュー取得指示が有する1以上の文字と一致する文字を、この文字の検出対象となる各情報の先頭と、先頭以外の位置においても検索してよい。これにより、メニュー取得指示が有する1以上の文字と一致する文字が、この文字の検出対象となる情報の先頭以外の場所に存在する場合であっても、検出部105が、一致する文字を有すると判断するようにしてよい。例えば、検出部105は、検出の対象となる情報の全ての文字について、ニュー取得指示が有する1以上の文字と一致する文字を検索して、メニュー取得指示が有する1以上の文字に対応する1以上の情報を検出する。また、検出部105は、検出対象となる情報が有する全ての文字を対象とする代わりに、検出対象となる情報の一部の文字であって、先頭の文字以外の文字を含む文字を対象として検索を行なうようにしても良い。また、検出部105は、メニュー取得指示が2以上の文字を有する場合、通常は、この2以上の文字の配列順と同じ配列順で一致する文字があるか否かを判断する。なお、かかることは,後述する対応文字を用いた検出においても同様である。
また、検出部105は、例えば、メニュー取得指示が有する文字と同じ入力文字に対応する1以上の対応文字を、対応文字格納部104に格納された文字対応情報を用いて取得し、取得した1以上の対応文字の少なくとも一つを有する1以上の情報を検出することにより、メニュー取得指示が有する1以上の文字に対応する1以上の情報を検出してもよい。例えば、検出部105は、メニュー取得指示が有する文字と同じ入力文字に対応する1以上の対応文字を取得し、取得した1以上の対応文字の少なくとも一つを有する1以上の情報を、メニュー取得指示が有する1以上の文字に対応する1以上の情報として検出してもよい。このような場合も、メニュー取得指示が有する1以上の文字に対応する1以上の情報を検出することと考えてよい。対応文字を有する情報とは、例えば、対応文字と一致する文字を有する情報である。なお、検出部105が、対応文字を有する情報を検出する処理は、例えば、上述したような検出部105が、受信部103が受信したメニュー取得指示が有する1以上の文字に一致する文字を有する1以上の情報を検出する処理において、メニュー取得指示が有する文字を、対応文字に置き換えたものと同様の処理となるため、ここでは詳細な説明は省略する。なお、検出部105は、例えば、1以上の対応文字に一致する文字を有する1以上の情報を検出し、この情報を有する入力候補管理表のレコードを、メニュー取得指示が有する1以上の文字に対応する1以上の情報として検出してもよく、このレコードの入力候補情報を、メニュー取得指示が有する1以上の文字に対応する1以上の情報として検出してもよい。
検出部105は、例えば、メニュー取得指示が有する文字と同じ入力文字を有する文字対応情報を検出し、この文字対応情報に対応付けられた1以上の対応文字を取得する。そして、取得した1以上の対応文字の少なくとも一つを有する情報を、1以上の入力候補管理表の、表管理情報によってメニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が示す1以上の情報から検出する。なお、メニュー取得指示が有する文字と同じ入力文字を検出する際には、文字の大文字と小文字とを区別しても良く、区別しなくても良い。また、文字の半角と全角とを区別しても良く、区別しなくても良い。
なお、検出部105は、上記の対応文字を用いずに行なう検出の処理と、対応文字を用いた検出の処理との両方を行なうようにしても良く、いずれか一方のみを行なうようにしても良い。検出部105は、例えば、対応文字を用いずに行なう検出の処理により1以上の情報が検出できなかった場合にだけ、対応文字を用いた検出の処理を行なうようにしてもよい。また、例えば、検出部105は、メニュー取得指示が有する文字と同じ入力文字に対応する1以上の対応文字がない場合には、対応文字を用いずに検出の処理を行なっても良い。また、検出部105は、例えば、メニュー取得指示が有する2以上の文字のうちの、対応する対応文字がない文字をそのままの文字とし、対応する対応文字がある部分は対応文字で置き換えた2以上の文字で検出の処理を行なっても良い。なお、検出部105は、対応文字が複数存在する文字については、複数の対応文字で個別に置き換えた場合に得られる2以上の文字をそれぞれ用いて、検出の処理を行なうようにすればよい。
また、検出部105は、メニュー取得指示が有する1以上の文字に応じて、上述したような対応文字を用いた検出を行なうか否かを判断してもよい。例えば、検出部105は、メニュー取得指示が有する1以上の文字の文字種により、上述したような対応文字を用いた検出を行なうか否かを判断してもよい。例えば、検出部105は、メニュー取得指示が有する1以上の文字の文字種が数字である場合は、対応文字を用いた検出を行なわないことを判断し、その他の文字種である場合には、対応文字を用いた検出を行なうことを判断してもよい。また、例えば、検出部105は、更に、メニュー取得指示が有する1以上の文字の文字種が漢字である場合は、対応文字を用いた検出を行なわないことを判断してもよい。また、検出部105は、例えば、メニュー取得指示が有する1以上の文字の文字種がアルファベットである場合にだけ、対応文字を用いた検出を行なうことを判断してもよい。また、検出部105は、1以上の文字の文字数が、予め決められた2以上の数より多い文字数である場合に、対応文字を用いた検出を行なわないようにしてもよい。予め決められた文字数は、例えば、文字対応情報が有する入力文字のうちの最大文字数である。
入力候補管理表の各レコードが、入力候補情報と、この入力候補情報に対応する候補関連情報である2種類以上のキーを有しており、表関連情報が2種類以上のキーを特定する情報を有する場合、検出部105は、表管理情報によってメニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が示す2種類以上のキーから、メニュー取得指示が有する1以上の文字に対応する1以上のキーを検出してもよい。キーを特定する情報としては、例えば、キーである候補関連情報の属性識別子が用いられる。
なお、検出部105は、検出した情報をメモリー等の記録媒体等(図示せず)に読み出して記憶させても良い。また、検出部105は、検出した情報を有する入力候補管理表のレコードが有する少なくとも1以上の情報や、このレコードの識別子等を、例えば、レコード毎に、メモリー等の記録媒体等(図示せず)に読み出して記憶させても良い。また、検出した情報に、いわゆるフラグ等の情報を付与しても良い。
検出部105は、通常、MPUやメモリ等から実現され得る。検出部105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
送信部106は、検出部105が検出した1以上の情報に対応する入力候補情報を選択するためのメニュー項目を有するメニューを出力するためのメニュー出力情報を、端末装置2に送信する。送信部106は、例えば、検出部105が検出した1以上の情報に対応する入力候補情報を選択するためのメニュー項目を有するメニューを出力するためのメニュー出力情報を取得し、端末装置2に送信する。ここでのメニューは、例えば、入力候補情報を選択するための選択リストや入力候補情報を選択するための入力候補情報に関する一覧等と考えてもよい。検出部105が検出した1以上の情報は、例えば、上述したような、1以上の入力候補情報に対応した情報である。検出部105が検出した1以上の情報は、例えば、1以上の入力候補管理表の1以上のレコードであっても良く、1以上の入力候補情報であっても良い。例えば、送信部106は、検出部105が検出した各情報に対応する入力候補情報を取得して、この入力候補情報に対応するメニュー項目を有するメニューを出力するためのメニュー出力情報を取得する。なお、検出部105が検出した1以上の情報が入力候補情報である場合、送信部106は、例えば、検出部105が検出した情報を読み出せばよい。
検出部105が検出した1以上の情報に対応する入力候補情報を選択するためのメニュー項目を有するメニューは、例えば、検出部105が検出した1以上の情報を有する入力候補管理表の1以上のレコード(行)にそれぞれ対応するメニュー項目を有するメニューと考えてもよい。入力候補管理表のレコードには、入力候補情報が含まれるからである。例えば、検出部105が検出した各情報が、一以上の入力候補管理表の一以上のレコードが有する候補関連情報および入力候補情報のうちの1以上である場合、検出部105が検出した1以上の情報に対応する入力候補情報を選択するためのメニュー項目を有するメニューは、検出部105が検出した1以上の情報に対応する1以上の入力候補情報にそれぞれ対応した1以上のメニュー項目を有するメニューである。メニュー出力情報が示すメニューのメニュー項目には、例えば、1以上の入力候補管理表の、検出部105が検出した1以上の情報を有するレコードが有する情報の少なくとも1以上(好ましくは、入力候補情報を含む情報)が配置される。レコードにそれぞれ対応するメニュー項目を有するメニューとは、例えば、レコードが有する情報の少なくとも1以上(好ましくは、入力候補情報を含む情報)が配置されたメニュー項目を有するメニューであって、メニュー項目の選択に応じて入力候補情報の出力が行なわれるメニューである。
なお、送信部106は、上述したような検出部105が図示しない記憶媒体等にレコード毎に記憶した、検出部105が検出した情報を有する入力候補管理表のレコードが有する少なくとも1以上の情報を用いて、この各レコードに対応するメニュー項目を有するメニューを出力するためのメニュー出力情報を取得しても良い。
送信部106は、例えば、検出部105が検出した1または2以上の情報に対応する入力候補情報を選択するためのメニュー項目を有するメニューを出力するためのメニュー出力情報であって、1以上の入力候補管理表が有する情報のうちの、表管理情報によりメニュー取得指示が有するフィールド識別子と対応付けられた1以上の表示属性識別子が示す属性の情報をメニュー項目として有するメニュー出力情報を端末装置2に送信する。表示属性識別子が示す属性の情報とは、例えば、表示属性識別子と一致する属性識別子と対応付けられた情報である。
なお、上述したような検出部105が図示しない記憶媒体等にレコード毎に記憶した、検出部105が検出した情報を有する入力候補管理表のレコードが有する少なくとも1以上の情報を用いてメニュー出力情報を取得する場合、送信部106は、検出部105が検出した情報を有する入力候補管理表のレコードが有する少なくとも1以上の情報の、上記の表示属性識別子が示す属性の情報を、メニュー項目として有するメニューを出力するためのメニュー出力情報を取得するようにしても良い。
メニュー出力情報は、例えば、端末装置2がメニューを出力可能な情報であればどのような情報であっても良く、データの構造等は問わない。メニュー出力情報は、例えば、1または2以上のメニュー項目を示す情報と、各メニュー項目が選択された場合に入力される情報とを有する情報である。メニュー項目が選択された場合に入力される情報は、例えば、検出部105が検出した1以上の情報に対応する入力候補情報である。例えば、メニュー出力情報は、HTML等のマークアップ言語やCSS(カスケーディングスタイルシート)等を用いて記述されたメニューを出力可能な情報であっても良く、スクリプト言語等で記述されたメニューを出力可能な情報であっても良い。メニュー出力情報は、例えば、図示しない格納部等に格納されているテンプレート等の情報に、1以上の入力候補管理表が有する情報のうちの、表管理情報によりメニュー取得指示が有するフィールド識別子と対応付けられた1以上の表示属性識別子が示す属性の情報を、各メニュー項目の情報として配置することで作成される情報であっても良い。また、端末装置2側でメニューを出力(例えば、表示)可能な情報であれば、メニュー項目の情報、例えば、1以上の入力候補管理表が有する情報のうちの、表管理情報によりメニュー取得指示が有するフィールド識別子と対応付けられた1以上の表示属性識別子が示す属性の情報を、メニュー出力情報として送信してもよい。メニュー出力情報は、メニューの外観等を指定する情報や、メニューに用いられる画像等の情報を有していても良く、有していなくても良い。有していない場合等においては、例えば、端末装置2側で、予め決められた外観等を適用したメニューを取得して出力しても良い。メニュー出力情報は、メニュー項目が選択された場合にメニュー項目に対応した入力候補情報を入力する処理を端末装置2に実行させるための指示等を有していても良く、有していなくても良い。
送信部106は、例えば、検出部105が検出した1以上の情報に対応する入力候補情報の数を取得し、取得した数を示す情報を更に有するメニュー出力情報を送信してもよい。ただし、ここでの入力候補情報の数は、重複を除いた数である。ここでの入力候補情報の数は、例えば、検出部105が検出した1以上の情報を含む入力候補管理表のレコード(行)の数(ただし、重複を除いた数)と考えてもよい。取得した入力候補情報の数を示す情報が配置される位置等は問わない。検出部105が検出した数を示す情報に対応する入力候補情報の数は、例えば、メニューの各メニュー項目の下部等に配置される。
送信部106は、検出部105が検出した1以上の情報に対応する入力候補情報の数を取得し、取得した数が、予め指定された数より多い場合に、検出部105が検出した1以上の情報に対応する入力候補情報のうちの予め指定された数の入力候補情報を選択するためのメニュー項目を有するメニューを出力するためのメニュー出力情報と、送信部106が取得した数を示す情報とを有するメニュー出力情報を送信することが好ましい。予め指定された数は、以下、閾値と呼ぶ場合がある。ここでの入力候補情報の数については、上記と同様である。閾値は、1以上の整数である。送信部106は、例えば、閾値と同じ数のメニュー項目を有するメニューであって、検出部105が検出した情報に対応する入力候補情報の数を示す情報を配置したメニューを出力するためのメニュー出力情報を送信してもよい。
送信部106は、例えば、送信部106は、検出部105が検出した1以上の情報に対応する入力候補情報の数を取得し、取得した数が、閾値より多いか否かを判断し、多いと判断された場合に、検出部105が検出した1以上の情報に対応する入力候補情報のうちの閾値と同じ数の入力候補情報を選択するためのメニュー項目と、送信部106が取得した数を示す情報とを有するメニュー出力情報を送信し、多くないと判断された場合、検出部105が検出した全ての情報に対応する入力候補情報を選択するためのメニュー項目と、送信部106が取得した数を示す情報とを有するメニュー出力情報を送信する。
なお、検出部105が検出した1以上の情報に対応する入力候補情報の数が、閾値より多い場合に、この入力候補情報の中から、メニュー項目と対応付けられる閾値と同じ数の入力候補情報をどのように選択するかは問わない。例えば、ランダムに決定しても良く、文字や数字等によりソートした順番で予め指定された数の情報を選択してもよい。
送信部106は、検出部105が検出した1以上の情報を配置したメニュー項目であって、検出部105が検出した1以上の情報のメニュー取得指示が有する1以上の文字に対応する部分を強調表示したメニュー項目を有するメニューを出力するためのメニュー出力情報を送信してもよい。メニュー取得指示が有する1以上の文字に対応する部分とは、メニュー項目に配置される検出部105が検出した1以上の情報のうちの、例えば、上述した検出部105が1以上の情報の検出に利用したメニュー取得指示が有する1以上の文字に一致する文字、または、検出部105が1以上の情報の検出に利用したメニュー取得指示が有する文字と同じ入力文字に対応する1以上の対応文字に一致する文字である。なお、検出部105が検出した各情報の、メニュー取得指示が有する文字に対応する文字を有する箇所を示す情報や、強調表示する箇所を示す情報を、例えば、検出部105が取得するようにし、送信部106は、この情報をそのまま、あるいは少なくとも一部を変更して、各情報の強調表示する箇所を示す情報として用いても良い。
強調表示とは、例えば、文字色を他と異なる色にすること、背景色を他とは異なる色とすること、文字のフォントを他と異なる色とすること、下線を引くこと、および背景パターンを他と異なる色とすることの1以上である。どのような強調表示を行なうかを指定する情報は、例えば、予め図示しない格納部等に蓄積しておくようにすればよい。強調表示は、例えば、CSS等の情報を用いて設定可能である。例えば、送信部106は、メニュー項目に表示される検出部105が検出した情報の、強調表示する箇所(例えば、1以上の文字)を示す情報を有するメニュー出力指示を送信する。強調表示する箇所を示す情報は、例えば、メニュー項目に表示される検出部105が検出した情報の、強調表示する箇所の前後に配置された強調表示のためのタグである。また、強調表示する箇所を示す情報は、メニュー項目に表示される検出部105が検出した情報の先頭からの、強調表示する箇所の順番を示す情報であっても良い。
なお、検出部105が検出した1以上の情報が1以上のキーである場合、送信部106は、検出部105が検出した1以上のキーに対応する入力候補情報を選択するためのメニュー項目を有するメニューを出力するためのメニュー出力情報を、端末装置2に送信するようにすればよい。なお、キーに対応するメニュー出力情報を取得して送信する処理は、検出部105が検出する情報がキーである点を除けば、上述した検出部105が検出した1以上の情報に対応したメニュー出力情報を送信する処理と同様であるため、ここでは、詳細な説明は省略する。
送信部106がメニュー出力情報を送信する端末装置2は、通常、メニュー取得指示を送信した端末装置2である。
送信部106は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。送信部106は、通信デバイスを含むと考えても、含まないと考えても良い。
画面情報格納部201には、1以上の入力フィールドを有する画面を示す情報である1以上の画面情報が格納される。画面情報は、画面を図示しないモニタ等に表示するために用いられる情報である。例えば、画面情報を用いてレンダリング等を行なうことで、画面を表示するための情報を取得して、画面を表示することができる。画面情報の形式は、問わない。画面情報は、例えば、プログラムであってもよいし、HTML等のマークアッ言語のデータであってもよい。また、画面情報は、CSS等の情報を有していても良い。画面情報が有する1以上の入力フィールドには、通常、フィールド識別子が対応付けられている。フィールド識別子は、フィールド名であっても良く、フィールドに割り当てられコード等であっても良い。画面情報は、各入力フィールドに入力される情報の属性を示す1以上の入力属性情報を有していてもよい。また、画面情報は、当該1以上の各入力フィールドに入力される入力情報の配置を示す入力配置情報を有していてもよい。入力配置情報は、例えば、「右」や、「左」、「右寄せ」、「左寄せ」などである。入力フィールドについては、上述しているため、ここでは、詳細な説明は省略する。
画面情報格納部201に格納される1以上の画面情報は、例えば、帳票に関する画面情報や、勤怠管理に関する画面情報である。帳票に関する画面情報は、帳票のソフトウェアの入出力画面の画面情報である。勤怠管理に関する画面情報は、勤怠管理のソフトウェアの入出力画面の画面情報である。画面情報が示す画面の入力フィールドは、例えば、帳票に関する情報や、勤怠に関する情報の入力フィールドである。
画面情報格納部201に格納される画面情報は、サーバ装置1から送信された画面情報であっても良い。サーバ装置1から送信された画面情報は、例えば、サーバ装置1で提供するクラウドサービス等に用いられる入出力インターフェースを表示するための画面情報である。この場合、例えば、サーバ装置1は、画面情報が格納されるサーバ画面情報格納部(図示せず)と、画面情報を送信する画面情報送信部(図示せず)とを有していても良い。また、端末装置2の端末受信部205等が、この画面情報を、サーバ装置1から受信するようにすればよい。なお、この場合の格納は、一時記憶であってもよい。
画面出力部202は、画面情報格納部201に格納された画面情報を用いて画面を出力する。画面出力部202は、1以上の入力フィールドを有する画面を出力する。画面情報を用いて画面を出力する処理は、公知技術であるため、ここでは、詳細な説明は省略する。
ここでの出力は、例えば、モニタへの表示、表示等を行なう外部の装置への送信、他の処理装置や他のプログラム等への処理結果の引渡し等を含む概念である。画面出力部202は、モニタ等の出力デバイスを含むと考えても含まないと考えても良い。画面出力部202は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。かかることは、後述するメニュー出力部206、および入力候補情報出力部207においても同様である。
端末受付部203は、画面出力部202が出力する画面の一の入力フィールドに対して1以上の文字の入力を受け付ける。端末受付部203が受け付ける文字の文字種は問わない。また、受け付ける文字は、大文字であっても小文字であってもよく、全角であっても半角であってもよい。入力フィールドに対して文字の入力を受け付ける処理や構成については、公知技術であるため、ここでは、詳細な説明は省略する。また、端末受付部203は、入力フィールドに入力された文字を削除する指示や、文字を変換する操作等を更に受け付けても良い。
なお、一の入力フィールドに一以上の文字が既に入力されている場合において、更に、この入力フィールドに一以上の文字の追記を受け付けた場合、端末受付部203は、既に入力されている1以上の文字と、追記された文字とを有する複数の文字を新たに受け付けたと判断するようにしてもよく、追記された文字だけを新たに受け付けたと判断するようにしてもよい。また、既に入力されている文字が、後述するようにメニュー項目の選択によって入力された文字である場合には、端末受付部203が、追記された文字だけを新たに受け付けたと判断するようにし、既に入力されている文字が、メニュー項目の選択によって入力された文字でない場合には、端末受付部203が、既に入力されている1以上の文字と、追記された文字とを有する複数の文字を新たに受け付けたと判断するようにしてもよい。
端末受付部203は、後述するメニュー出力部206がメニュー出力情報を用いて出力するメニューから一のメニュー項目の選択を更に受け付けてもよい。メニュー項目の選択は、例えば、メニューの選択しようとするメニュー項目上の領域に対して、マウスや、タッチパネル等を用いた所定の操作を行なうことで行なわれる。所定の操作は、例えば、マウスクリックやタップやマウスボタンを放す操作等である。
端末受付部203は、一の入力フィールドに対して受け付けた1以上の文字を、例えば、入力フィールドのフィールド識別子等と対応付けて図示しない記憶媒体等に蓄積する。ここでの蓄積は、一時記憶と考えてもよい。また、端末受付部203が受け付けた文字は、後述する入力候補情報出力部207が、文字を受け付けた入力フィールド上に表示してもよい。
また、端末受付部203は、その他の情報や指示などを受け付けてもよい。その他の情報や指示などとは、例えば、ユーザ識別子、入力フィールドに入力されて、入力フィールドに情報として確定された入力情報をサーバ装置1に送信する入力情報送信指示、画面情報が示す画面を出力する画面出力指示などである。
ここでの文字の受付や、メニュー項目の選択の受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信などを含む概念である。
入力手段は、テンキーやキーボードやタッチパネル、マウスやメニュー画面によるもの等、何でも良い。端末受付部203は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
端末送信部204は、端末受付部203が受け付けた文字と、文字が入力された入力フィールドのフィールド識別子とを有するメニュー取得指示を、サーバ装置1に送信する。端末送信部204は、例えば、端末受付部203が一の入力フィールドに対して1文字を受け付ける毎に、この一の入力フィールドに入力された1以上の文字と、この入力フィールドのフィールド識別子とを有するメニュー取得指示を送信する。ただし、入力フィールドに対して予め指定された1以上の文字を受け付けた場合に、メニュー取得指示を送信するようにしても良い。メニュー取得指示は、メニュー出力情報の送信を要求する指示や命令等を有していても有していなくても良い。例えば、端末受付部203が受け付けた文字と、フィールド識別子との組を、メニュー出力指示と考えてもよい。メニュー取得指示は、端末装置2のユーザのユーザ識別子等を有していても良い。
端末送信部204は、その他の情報や指示などをサーバ装置1に送信してもよい。ここでのその他の情報や指示などとは、例えば、ユーザ識別子や、1以上の入力フィールドへの入力が確定された入力情報や、画面情報を要求する指示などである。
端末送信部204は、通常、無線または有線の通信手段で実現される。端末送信部204は、通信デバイスを含むと考えても、含まないと考えても良い。
端末受信部205は、端末送信部204が送信するメニュー取得指示の送信に応じて、メニュー出力情報を受信する。なお、端末受信部205は、画面情報等のメニュー出力情報以外の情報を更に受信してもよい。
端末受信部205は、通常、無線または有線の通信手段で実現される。端末受信部205は、通信デバイスを含むと考えても、含まないと考えても良い。
メニュー出力部206は、端末受信部205が受信したメニュー出力情報を用いて、メニュー出力情報が示す1以上のメニュー項目を含むメニューを、画面出力部202が出力する画面上に出力する。メニュー出力情報が示す1以上のメニュー項目を含むメニューは、上述した検出部105が検出した情報に対応する入力候補情報に対応する1以上のメニュー項目を有するメニューである。出力されるメニューは、上述した検出部105が検出した情報に対応する入力候補情報に対応する情報であって、上述した表示属性識別子が示す属性を有する情報(例えば、入力候補情報、1または2以上の候補関連情報のうちの1以上)が配置されたメニュー項目を有するメニューである。例えば、メニュー項目に表示される情報は、一の入力候補管理表の、上述した検出部105が検出した情報に対応する入力候補情報を含むレコードの1以上の情報である。メニュー出力部206が出力するメニューは、例えば、メニュー項目をリスト状に配列したメニューである。メニュー出力部206が出力するメニューは、例えば、いわゆるドロップダウンメニューや、コンテクストメニュー等と同様のメニューであってもよい。
画面出力部202が出力する画面上とは、上述した1以上の入力フィールドを有する画面である。例えば、画面出力部202は、端末受付部203が文字の入力を受け付けた入力フィールドや、文字の入力を位置を示すカーソルの近傍にメニューを表示する。
メニュー出力部206は、例えば、HTML等の情報で構成されるメニュー出力情報を用いてレンダリング等を行なうことでメニューの画像を作成して、作成したメニューの画像を出力することにより、メニューを出力する。メニュー出力情報が、メニュー項目に配置される入力候補情報や、1または2以上の候補関連情報や、1または2以上のキーと、メニュー項目を選択した場合に入力する入力候補情報とだけを有する情報である場合、メニュー出力部206は、このメニュー項目を用いて、予め用意されたテンプレート等の情報を用いてメニューの画面を作成して出力する。
メニュー出力部206は、例えば、端末受信部205が受信したメニュー出力情報が、上述したような検出部105が検出した1以上の情報に対応する入力候補情報の数を示す情報を有している場合、この入力候補情報の数を示す情報を更に画面出力部202が出力する画面上に出力しても良い。例えば、メニュー出力部206は、この入力候補情報の数を配置したメニューを出力してもよい。
例えば、メニュー出力情報が、閾値と同じ数の入力候補情報をそれぞれ選択するためのメニュー項目を有するメニューを出力するためのメニュー出力情報であって、検出部105が検出した1以上の情報に対応する入力候補情報の数を示す情報を有している場合、メニュー出力部206は、メニュー出力情報に含まれる検出部205が検出した1以上の情報に対応する入力候補情報のうちの閾値と同じ数の入力候補情報を選択するためのメニュー項目を有するメニューと、メニュー出力情報に含まれる検出部205が検出した1以上の情報に対応する入力候補情報の数を示す情報と、を画面出力部202が出力する画面上に出力する
また、例えば、端末受信部205が受信したメニュー出力情報が、検出部105が検出した1以上の情報を少なくとも配置したメニュー項目であって、検出部105が検出した1以上の情報のメニュー取得指示が有する1以上の文字に対応する部分を強調表示したメニュー項目を有するメニューを出力するためのメニュー出力情報である場合、画面出力部202は、このメニュー出力情報を用いて、検出部105が検出した1以上の情報のメニュー取得指示が有する1以上の文字に対応する部分を強調表示したメニュー項目を有するメニューを出力するようにしてもよい。検出部105が検出した1以上の情報とは、対象属性識別子と同じ属性の情報であって、メニュー取得指示が有する1以上の文字に対応する部分を有する情報である。
メニュー出力部206は、例えば、どのような強調表示を行なうかを指定する情報が、メニュー出力情報に含まれている場合、この情報に応じた強調表示を行なう。また、含まれていない場合、予め指定された強調表示を行なうようにしても良い。
メニュー出力部206がメニューを出力する出力デバイスは、通常、上述した出力部202が画面を出力する出力デバイスと同じ出力デバイスである。
入力候補情報出力部207は、端末受付部203が受け付けたメニュー項目の選択に対応する入力候補情報を、メニューに対応する入力フィールド上に出力する。
また、入力候補情報出力部207は、端末受付部203が画面出力部202が出力する画面の一の入力フィールドに対して受け付けた1以上の文字を、この一の入力フィールド上に出力するようにしても良い。この場合、入力された文字に応じてメニュー出力部206が出力したメニューのメニュー項目が選択された場合、このメニュー項目を選択する操作に応じて、このメニュー項目に対応する入力候補情報を、入力フィールドに入力されて入力フィールド上に出力された情報と置き換えて出力するようにしても良い。
なお、入力候補情報が選択された場合や、入力候補情報が入力フィールドに出力された場合や、画面に対する入力を終了する操作を受け付けた場合に、入力フィールドに出力された入力候補情報が、入力フィールドへの入力が確定された情報として、端末送信部204によりサーバ装置1等に送信されるようにしても良い。
入力候補情報出力部207が入力候補情報を出力する出力デバイスは、通常、上述した出力部202が画面を出力する出力デバイスと同じ出力デバイスである。
なお、サーバ装置1の受信部103は、上述したような端末送信部204から送信される入力フィールドへの入力が確定された情報を受信し、サーバ装置1の図示しない出力部等が、受信した情報を出力するようにしても良い。ここでの出力は、出力とは、モニタへの表示、プリンタへの印字、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラム等への処理結果の引渡し等を含む概念である。
次に、情報システム1000のサーバ装置1の動作の一例について図2のフローチャートを用いて説明する。
(ステップS101)受信部103は、端末装置2からメニュー取得指示を受信したか否かを判断する。受信した場合、ステップS102に進み、受信していない場合、ステップS101に戻る。
(ステップS102)検出部105は、対応文字格納部104に格納されている文字対応情報に、受信部103が受信したメニュー取得指示が有する1以上の文字に対応する対応文字があるか否かを判断する。例えば、検出部105は、対応文字格納部104に格納されている文字対応情報の中から、受信部103が受信したメニュー取得指示が有する1以上の文字と一致する入力文字を有する文字対応情報を検出し、検出した文字対応情報が有する1以上の対応文字を検出する。1以上の対応文字が検出できた場合、対応文字があると判断して、ステップS103に進み、1以上の対応文字が検出できなかった場合、ステップS105に進む。
(ステップS103)検出部105は、ステップS103で検出した1以上の対応文字を、メモリ等の記憶媒体に読み出す。
(ステップS104)検出部105は、表管理情報格納部102に格納されている表管理情報のうちの、ステップS101で受信したメニュー取得指示が有するフィールド識別子と一致するフィールド識別子を有する表管理情報から、表関連情報を取得する。そして、入力候補格納部101に格納されている1以上の入力候補管理表が有する情報のうちの、取得した表関連情報に対応する情報から、ステップS103で取得した1以上の対応文字をそれぞれ有する情報を検出する。また、検出部105は、検出した情報における対応文字と一致する文字の位置を示す情報を取得する。例えば、検出部105は、検出した情報を有する入力候補情報のレコードと、対応文字と一致する文字の位置を示す情報とを、対応付けて、図示しない格納部に蓄積する。そして、ステップS106に進む。
対応文字が含まれる位置を示す情報は、例えば、1以上の対応文字が含まれる情報またはこの識別子(例えば、属性識別子)と、この情報の対応文字が含まれる位置(例えば、先頭からの配列順番)を示す情報とを、対応文字と対応付けて有する情報である。ただし、対応文字のそれぞれが含まれる位置を示す情報は、対応文字が含まれる位置を特定可能な情報であれば、どのような情報であっても良い。例えば、対応文字が含まれる位置を示す情報は、対応文字が含まれる情報の、対応文字が含まれる位置に埋め込まれたタグ等の情報であってもよい。なお、検出部105が検出した情報の、対応文字と一致する部分の前後に、このようなタグ等を配置することも、検出した情報に、対応文字が含まれる位置を示す情報を対応付けること等と考えてもよい。
ここで、この検出部105の処理の一例を、表管理情報から取得する表関連情報を表識別子とし、一の入力候補管理表には、入力候補情報と、入力候補情報以外の1以上の属性を有する情報(例えば、候補関連情報)とが格納されているものとした場合について説明すると、検出部105は、表管理情報格納部102に格納されている表管理情報のうちの、メニュー取得指示が有するフィールド識別子と一致するフィールド識別子を有する表管理情報から、表関連情報である表識別子を取得する。検出部105は、取得した表識別子が示す入力候補管理表から一のレコードを読み出す。検出部105は、読み出したレコードが有する情報に、ステップS103で取得した1以上の対応文字のそれぞれが含まれているか判断する。なお、入力候補管理表のレコードに含まれる入力候補情報については、ステップS103で取得した1以上の対応文字のそれぞれが含まれているかの判断を行なわないようにしてもよい。また、入力候補管理表の入力候補情報を除いた予め指定された一部の属性の情報についても判断を行なわないようにしても良い。そして、含まれている場合、例えば、このレコードに含まれる情報と、この情報のうちの1以上の対応文字のそれぞれが含まれる位置を示す情報とを、対応付けて図示しない格納部等に蓄積する。検出部105は、このような処理を、入力候補管理表の全てのレコードに対して行なうことで、1以上の対応文字を有する情報を検出する。
なお、上記の例において、表管理情報から取得する表関連情報を対象属性識別子とした場合、検出部105は、表管理情報格納部102に格納されている表管理情報のうちの、メニュー取得指示が有するフィールド識別子と一致するフィールド識別子を有する表管理情報から、表関連情報である表識別子の代わりに1以上の対象属性識別子を取得し、検出部105は、入力候補格納部101に格納されている1以上の入力候補管理表のうちの、取得した1以上の対象属性識別子が示す属性を有する情報を含む入力候補管理表から、上記で取得した1以上の対象属性識別子が示す属性をそれぞれ有する情報を、入力候補管理表のレコード毎に読み出し、読み出した情報に、ステップS103で取得した1以上の対応文字のそれぞれが含まれているか判断するようにすればよい。
(ステップS105)検出部105は、表管理情報格納部102に格納されている表管理情報のうちの、ステップS101で受信したメニュー取得指示が有するフィールド識別子と一致するフィールド識別子を有する表管理情報から、表関連情報を取得する。そして、入力候補格納部101に格納されている1以上の入力候補管理表が有する情報のうちの、取得した表関連情報に対応する情報から、ステップS101で受信したメニュー取得指示が有する1以上の文字を有する情報を検出する。また、検出部105は、検出した情報におけるメニュー取得指示が有する1以上の文字と一致する文字の位置を示す情報を取得する。そして、ステップS106に進む。この処理は、対応文字の代わりに、ステップS101で受信したメニュー取得指示が有する1以上の文字を用いる点を除けば、ステップS104の処理と同様である。
(ステップS106)送信部106は、ステップS104またはステップS105で1以上の情報が検出できたか否かを判断する。できた場合、ステップS107に進み、できなかった場合、ステップS101に戻る。
(ステップS107)送信部106は、ステップS101で受信したメニュー取得指示が有するフィールド識別子と一致するフィールド識別子を有する表管理情報から、表示属性識別子を取得する。
(ステップS108)送信部106は、ステップS104またはステップS105で検出した情報に対応する入力候補情報の数をカウントする。ただし、同じ入力候補情報は、重複してカウントしないようにする。あるいは、重複してカウントした後、重複した分を後から減算してもよい。
(ステップS109)送信部106は、ステップS108でカウントした数が、閾値よりも多いか否かを判断する。多い場合、ステップS110に進み、多くない場合、ステップS111に進む。
(ステップS110)送信部106は、ステップS104またはステップS105で検出した情報に対応する入力候補情報を、上記の閾値と同数だけ取得する。例えば、送信部106は、ステップS104またはステップS105で蓄積したレコードが有する入力候補情報のうちの、上記の閾値と同数の入力候補情報を取得する。どのように取得する入力候補情報を決定するかは問わない。例えば、入力候補管理表における入力候補情報を有するレコードの配列順に、閾値と同数の入力候補情報を取得しても良い。また、送信部106は、入力候補管理表が有する情報のうちの、取得した入力候補情報に対応する情報(例えば、取得した入力候補情報と同じレコードに含まれる情報)であって、ステップS107で取得した表示属性識別子が示す属性を有する情報を取得する。そして、ステップS112に進む。例えば、送信部106は、ステップS104またはステップS105で蓄積したレコードの、上記で取得した入力候補情報を有するレコードから、レコード毎に、それぞれ、ステップS107で取得した表示属性識別子が示す属性を有する情報を取得する。なお、この表示属性識別子が示す属性を有する情報に、ステップS104またはステップS105で検出した情報が含まれるように、表示属性識別子を予め選択しておくことが好ましい。あるいは、表示属性識別子が示す属性を有する情報に、ステップS104またはステップS105で検出した情報が含まれない場合、この検出した情報と同じ属性の情報を、更に入力候補管理表から取得するようにしてもよい。かかることは、ステップS111についても同様である。
(ステップS111)送信部106は、ステップS104またはステップS105で検出した情報に対応する入力候補情報を取得する。送信部106は、通常、検出した情報に対応する全ての入力候補情報を取得する。例えば、送信部106は、ステップS104またはステップS105で蓄積したレコードが有する入力候補情報を取得する。また、送信部106は、入力候補管理表が有する情報のうちの、取得した入力候補情報に対応する情報であって、ステップS107で取得した表示属性識別子が示す属性を有する情報を取得する。例えば、送信部106は、ステップS104またはステップS105で蓄積したレコードから、レコード毎に、それぞれ、ステップS107で取得した表示属性識別子が示す属性を有する情報を取得する。そして、ステップS112に進む。
(ステップS112)送信部106は、ステップS110またはステップS111で取得した入力候補情報を選択するためのメニュー項目であって、この入力候補情報に対応する情報のうちの、ステップS107で取得した表示属性識別子が示す属性を有する情報を、入力候補情報毎に配置したメニュー項目を有するメニューを出力するためのメニュー出力情報を取得する。各メニュー項目には、例えば、ステップS110またはステップS111において取得した各入力候補情報を有する各レコードの、ステップS107で取得した表示属性識別子が示す属性を有する情報がそれぞれ配置される。送信部106は、このメニュー出力情報として、ステップS104またはステップS105で取得した対応文字またはメニュー取得指示が有する文字と一致する文字の位置を示す情報を用いて、メニュー項目に配置される検出部105が検出した情報の、この位置を示す情報が示す位置の文字が強調表示されるメニュー項目を有するメニューを出力するためのメニュー出力情報を取得する。また、送信部106は、このメニュー出力情報として、ステップS108で取得した検出数を示す情報を配置したメニューを出力するためのメニュー出力情報を取得する。
(ステップS113)送信部106は、ステップS112で取得したメニュー出力情報を、端末装置2に送信する。例えば、メニュー取得指示を送信した端末装置2にメニュー出力情報を送信する。そして、ステップS101に戻る。
なお、サーバ装置1は、図2のフローチャートにおいて説明していない他の動作を行なっても良い。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、情報システム1000の端末装置2の動作の一例について説明する。
(ステップS201)端末受付部203は、ユーザから1以上の入力フィールドを有する画面を出力する指示を受け付けたか否かを判断する。受け付けた場合、ステップS202に進み、受け付けていない場合、ステップS201に戻る。
(ステップS202)画面出力部202は、画面情報格納部201に格納されている画面情報を取得して、1以上の入力フィールドを有する画面を図示しないモニタ等に出力(例えば、表示)する。
(ステップS203)端末受付部203は、図示しない入力デバイス等を介して、画面出力部202が出力している画面の1の入力フィールドに対して、1以上の文字を受け付けたか否かを判断する。受け付けた場合、ステップS204に進み、受け付けていない場合、ステップS203に戻る。なお、受け付けた場合、入力候補情報出力部207は、受け付けた1以上の文字を、入力フィールドに出力してもよい。
(ステップS204)端末送信部204は、ステップS203で受け付けた文字と、文字を受け付けた入力フィールドのフィールド識別子を有するメニュー取得指示を、サーバ装置1に送信する。
(ステップS205)端末受信部205は、メニュー取得指示の送信に応じてサーバ装置1から送信されるメニュー出力情報を受信したか否かを判断する。受信した場合、ステップS206に進み、受信していない場合、ステップS205に戻る。なお、予め指定された時間以上経過してもメニュー出力情報が受信できなかった場合、処理を終了して、ステップS203に戻るようにしても良い。
(ステップS206)メニュー出力部206は、端末受信部205が受信したメニュー出力情報を用いて、このメニュー出力情報が示すメニュー項目を画面出力部202が出力している画面上に出力(例えば、表示)する。メニュー出力部206は、メニュー出力情報に応じて、メニュー項目に配置される情報の、メニュー取得指示が有する文字に対応する部分を強調表示したメニュー項目とを有するメニューを出力する。また、メニュー出力部206は、メニュー出力情報に応じて、メニュー取得指示が有する文字に対応する情報に対応する入力候補情報の数を示す情報を配置したメニューを出力する。メニュー取得指示が有する文字に対応する部分とは、具体的には、上述したような対応文字と一致する部分、またはメニュー取得指示が有する文字と一致する部分である。
(ステップS207)端末受付部203は、図示しない入力デバイス等を介して、メニュー出力部206が出力するメニュー項目の一つを選択する操作を受け付けたか否かを判断する。受け付けた場合、ステップ208に進み、受け付けていない場合、ステップS211に進む。
(ステップS208)入力候補情報出力部207は、ステップS207で選択を受け付けたメニュー項目に対応付けられた入力候補情報を、上記の1以上の文字を入力する操作を受け付けた入力フィールドに出力する。例えば、ステップS203で入力フィールドに出力した1以上の文字を、選択されたメニュー項目に対応する入力候補情報で置換する。
(ステップS209)メニュー出力部206は、メニューの出力を終了する。
(ステップS210)画面出力部202は、画面の出力を終了するか否かを判断する。例えば、端末受付部203が画面の出力を終了する指示を受け付けた場合に、画面の出力を終了することを決定する。画面の出力を終了する場合、画面の出力を終了して、ステップS201に戻り、終了しない場合、ステップS203に戻る。
(ステップS211)メニュー出力部206は、メニューの出力を終了するか否かを判断する。例えば、メニュー出力部206は、端末受付部203が、メニュー上以外の場所をクリックしたりタップしたりする操作を受け付けた場合に、メニューの出力を終了することを決定する。メニューの出力を終了する場合、ステップS209に進み、終了しない場合、ステップS207に戻る。
なお、図3に示したフローチャートにおいては説明していないが、端末装置2は、1以上の入力フィールドに入力された情報を、サーバ装置1等に送信する処理等を行なっても良い。
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報システム1000の具体的な動作について説明する。ここでは、表管理情報が、表関連情報として、表識別子を有している場合を例に挙げて説明する。
一の端末装置2のユーザが、仕訳伝票を入力するための入力画面を表示する操作を図示しないキーボードやマウス等の入力デバイス等を用いて行なうと、端末受付部203は、仕訳伝票の入力画面を表示するための画面情報を、画面情報格納部201から読み出して、仕訳伝票を入力するための画面を、端末装置2が有する図示しないモニタに表示する。
図4は、画面出力部202が表示する仕訳伝票の入力用の画面40の一例を示す図である。
ユーザが、キーボードやマウス等の入力デバイス等を用いて、画面出力部202が有する一の入力フィールド41に半角英字の一の文字である「a」を入力する操作を行なったとすると、端末受付部203は、入力された「a」を受け付ける。入力候補情報出力部207は、受け付けた文字「a」を入力フィールド41上に表示する。また、画面情報格納部201に格納されている各画面情報が、各画面情報を用いて出力される画面が有する入力フィールドのフィールド識別子を有しているものとすると、端末送信部204は、入力フィールド41のフィールド識別子である「F01」を、現在出力している画面の画面情報から取得する。そして、端末送信部204は、取得したフィールド識別子「F01」と、入力された文字「a」とを有するメニュー取得指示を、サーバ装置1に、インターネット等のネットワークを介して送信する。
図5は、入力候補格納部101に格納されている第一の入力候補管理表を示す図(図5(a))、および第二の入力候補管理表を示す図(図5(b))である。この第一の入力候補管理表および第二の入力候補管理表は、財務会計に関する入力候補管理表であるとする。
第一の入力候補管理表は、「勘定科目コード」、「勘定科目名」、「勘定科目カナ(インデックス)」という属性を有する。「勘定科目名」は、仕訳伝票に入力される勘定科目の情報の候補であり、この「勘定科目名」の列に入力された値が、ここでは入力候補情報であるとする。ここでの値とは、「勘定科目名」という属性の属性値と考えてもよく、「勘定科目名」という属性の情報と考えてもよい。かかることは、他の属性の値についても同様である。「勘定科目コード」は、対応する「勘定科目名」の値に対応するコードである。「勘定科目カナ(インデックス)」は、対応する「勘定科目名」の値の読み仮名であるとする。「勘定科目コード」および「勘定科目カナ(インデックス)」は、候補関連情報に相当する。なお、第一の入力候補管理表には、「勘定科目マスター」という表識別子が対応付けられているものとする。ここでは、各行が、第一の入力候補管理表の一のレコードであるとする。
第二の入力候補管理表は、「部門コード」、「部門名」、「部門カナ(インデックス)」という属性を有する。「部門名」は、仕訳伝票に入力される部門の情報の候補であり、この「部門名」の列に入力された値が、ここでは入力候補情報であるとする。「部門コード」は、対応する「部門名」の値に対応するコードである。「部門カナ(インデックス)」は、対応する「部門名」の値の読み仮名であるとする。「部門コード」および「部門カナ(インデックス)」は、候補関連情報に相当する。なお、第二の入力候補管理表には、「部門マスター」という表識別子が対応付けられているものとする。ここでは、各行が、第二の入力候補管理表の一のレコードであるとする。
なお、ここでは、図示していないが、入力候補格納部101には、上記以外の入力候補管理表も格納されているものとする。例えば、給与および人事に関する入力候補管理表として、例えば、表識別子が「社員マスター」であって、「社員番号」、「社員名」、「社員名カナ(インデックス)」、「所属名」、「所属名カナ」、および「社員区分」という属性を有する入力候補管理表が格納されている。また、例えば、販売および仕入に関する入力候補管理表として、表識別子が「取引先マスター」であって、「取引先名」、「取引先名カナ(インデックス)」、「取引先コード」、「法人番号」という属性を有する入力候補管理表、および表識別子が「商品マスター」であって、「商品名」、「商品名カナ(インデックス)」、および「商品コード」という属性を有する入力候補管理表が格納されている。ただし、入力候補格納部101に格納されている入力候補管理表の数や内容等は問わない。
図6は、表管理情報格納部102に格納されている表管理情報を示す図である。表管理情報は、「フィールドID」と、「表ID」と、「表示属性」という項目を有している。「フィールドID」はフィールド識別子である。「表ID」は、表関連情報である表識別子であり、「表示属性」は、表示属性識別子である。ここでは、各行が、表管理情報の一のレコードであるとする。
図7は、対応文字格納部104に格納されている文字対応情報を示す図である。文字対応情報は、「入力」と、「対応」という属性を有する。「入力」は、入力文字であり、「対応」は、入力文字に対応する1以上の対応文字である。なお、「対応」が有する複数の対応文字は、ここでは「、」で区切られているものとする。ここでは、各行が、文字対応情報の一のレコードであるとする。
サーバ装置1の受信部103は、端末装置2からフィールド識別子「F01」と、文字「a」とを有するメニュー取得指示を受信する。
検出部105は、図7に示した文字対応情報において、「入力」の値が、メニュー取得指示が有する文字「a」と一致するレコードを検索する。ここでの一致は、完全一致であるとするが、半角全角の区別はせず、大文字小文字の区別も行なわないものとする。ここでは、一致するレコードが検出されたとすると、検出部105は、一致するレコードの「対応」の値である1以上の対応文字を全て読み出す。読み出した対応文字は、「a」、「ア」であるとする。
検出部105は、図6に示した表管理情報において、「フィールドID」の値が、メニュー取得指示が有する「F01」と一致するレコードを検索し、検出したレコードの「表ID」の値である「部門マスター」と、検出したレコードの「表示属性」の値である「部門コード、部門名、部門カナ(インデックス)」とを取得する。ここでの一致は、例えば、完全一致であるとする。
検出部105は、対応文字が取得できているため、入力候補格納部101に格納されている入力候補管理表のうちの、表識別子が、表管理情報を用いて取得した「表ID」の値と同じ「部門マスター」である第二の入力候補管理表が有する情報において、上記で文字対応情報から読み出した対応文字に一致する文字を有する情報を以下のように検索する。なお、ここでは、入力候補情報は、検索の対象に含めないことが予め設定されているものとする。
検出部105は、第二の入力候補管理表の、上から1行目のレコードの、入力候補情報以外の他の属性の情報を読み出す。ここでは、入力候補情報以外の他の属性の情報として、「部門コード」の値「001」と、「部門カナ(インデックス)」の値「アサクサテン」とを読み出す。そして、読み出した情報である「部門コード」の値と、「部門カナ(インデックス)」の値とのそれぞれについて、上記で取得した1以上の対応文字のそれぞれ、即ち、「a」または「ア」が含まれているかを判断する。ここでの、対応文字が含まれている場所は問わない。例えば、検出部105は、読み出した情報を構成する全ての文字を対象として、各対応文字と一致する文字を検索して、一致する文字が検出された場合、対応文字が含まれていると判断する。なお、ここでの一致の判断においては、大文字と小文字とは区別せず、全角と半角とも区別しないものとする。
そして、「部門コード」の値と、「部門カナ(インデックス)」の値との少なくとも一方に、対応文字の少なくとも1以上が含まれている場合、この一のレコードの入力候補情報である「部門名」と、「部門コード」の値と、「部門カナ(インデックス)」の値と、を、図示しない格納部等に蓄積する。含まれない場合は、蓄積しない。ここでは、「部門カナ(インデックス)」の値「アサクサテン」に対応文字の一つである「ア」が含まれているため、検出部105は、この一のレコードの「部門名」の値(すなわち入力候補情報)である「浅草店」と、「部門コード」の値「001」と、「部門カナ(インデックス)」の値「アサクサテン」と、を、図示しない格納部等に蓄積する。
また、この「部門コード」の値と、「部門カナ(インデックス)」の値とのうちの、上記の1以上の対応文字と一致する文字の前後を、この文字を強調するためのタグである「<em>」と、「</em>」とではさみ込むようにする。ここでは、「部門カナ(インデックス)」の値「アサクサテン」に対応文字の一つである「ア」が含まれているため、「アサクサテン」の先頭の「ア」の前後にこのタグを配置する。これににより、図示しない格納部に格納される情報は、「<em>ア</em>サクサテン」となる。このタグは、「部門カナ(インデックス)」の情報に対応付けられた、強調する位置を示す情報である。ただし、このタグは、一例であり、他のタグであっても良いことはいうまでもない。
検出部105は、このような処理を、第二の入力候補管理表の全てのレコードに対して行なうことで、各レコードについて、1以上の対応文字を有する情報を検出する。
図8は、検出部105が上記の検出によって取得して図示しない格納部に蓄積した、第二の入力候補管理表の、対応文字の少なくとも1以上が含まれている情報を有するレコードの、入力候補情報である「部門名」の値と、「部門コード」の値と、「部門カナ(インデックス)」の値と、を有する情報を管理する検出管理表を示す図である。なお、「部門コード」の値と、「部門カナ(インデックス)」の値とのうちの、対応文字と一致する文字は、上記のような文字を強調するタグで挟まれている。
送信部106は、検出部105が対応文字を有する1以上の情報を検出したため、検出した情報に対応する入力候補情報数をカウントする。ここでは、図8に示した検出部105が蓄積した検出管理表の入力候補情報数をカウントする。なお、入力候補情報数の代わりに、レコード数をカウントするようにしてもよい。そして、カウント数が予め指定された閾値を超えるか否かを判断する。ここでは、カウント数が「3」であり、閾値が「10」であるため、閾値を超えないと判断する。このため、送信部106は、検出部105が検出した情報に対応する全ての入力候補情報に対応するメニュー項目を有するメニューを出力するためのメニュー出力情報を以下のように取得する。
送信部106は、上記で検出部105が表管理情報を用いて取得した「表示属性」の値である「部門コード、部門名、部門カナ(インデックス)」を取得し、図8に示した検出管理表の全てのレコード(ここでは、3つのレコード)の、属性が「部門コード」、「部門名」、および「部門カナ(インデックス)」である値を、レコード毎に順次取得し、各レコードの値を配置したメニュー項目を有するメニューを出力するためのメニュー出力情報を取得する。また、「部門名」が入力候補情報であるため、ここで取得するメニューは、各メニュー項目が選択された場合に、この入力候補情報の値が出力されるようなメニューとする。
また、ここでは、送信部106は、上記の入力候補情報をカウントした値が閾値以下であるため、このカウント数、つまり、対応文字と一致する情報の数を出力するための情報を含まないメニューを出力するためのメニュー出力情報を取得する。
なお、送信部106は、図8に示した検出管理表の各レコードが有する値であって、属性が「部門コード」、「部門名」、および「部門カナ(インデックス)」である値を、メニュー出力情報として取得してもよい。この場合、例えば、「部門名」が入力候補情報であることを示す情報をメニュー出力情報に含める必要がある。また、端末装置2側で、メニュー項目の画像を作成する場合等においては、上記の強調のためのタグは、文字を強調するための場所を指定する情報として利用できるため、そのまま残してもよい。
そして、送信部106は、取得したメニュー出力情報を、メニュー取得指示を送信した端末装置2に対して送信する。
端末装置2の端末受信部205が、サーバ装置1からメニュー出力情報を受信すると、メニュー出力部206は、このメニュー出力情報を用いてメニューを取得する。例えば、メニュー出力部206は、メニュー出力情報を用いて、図8に示した検出管理表の一のレコード(行)が有する3つの属性の値が、一のメニュー項目に配置されているメニューの画像を取得する。また、属性が「部門コード」および「部門カナ(インデックス)」である値のうちの、上述した文字を強調するタグで囲まれた部分の背景色を、他と異なる背景色にする。また、例えば、メニュー出力部206は、各メニュー項目には、各メニュー項目が選択された場合に、それぞれに対応する入力候補情報を出力する処理を実行するための情報を対応付ける。そして、メニュー出力部206は、取得したメニューを画面出力部202が出力する画面上に出力する。
図9は、メニュー出力部206によるメニュー60の出力例を示す。ここでは、メニュー出力部206は、メニュー60を図4に示した画面出力部202が出力する画面40の、上記で文字「a」が入力された入力フィールド41の下に出力(例えば、表示)する。このメニュー60のメニュー項目は、「部門コード」、「部門名」、および「部門カナ(インデックス)」の値が一つずつ配列された各行である。文字を強調するタグで囲まれた文字71〜73の背景色は、他と異なる背景色に設定されている。ここでは、異なる背景色を、斜線で示している。
このようにして、本具体例においては、入力候補情報に対応する情報であって、メニュー取得指示が有する文字に対応する対応文字を有する情報を含む情報を、入力候補情報毎にメニュー項目として有するメニュー60を出力することができる。
また、文字を強調するタグで囲まれた文字71〜73の背景色を、他と異なる背景色にすることで、メニューに配置された情報のうちの、メニュー取得指示が有する文字に対応する対応文字と一致する文字を、強調して出力することができ、一致する部分を確認することができる。
ユーザが、図9に示したメニュー60において、例えば、一番下のメニュー項目、即ち、「092 西新井店 ニシアライテン」という文字が配置されたメニュー項目を選択する操作を、マウスやタッチパネル等の図示しない入力デバイス等を用いて行なったとすると、端末受付部203は、このメニュー項目の選択を受け付け、入力候補情報出力部207は、選択されたメニュー項目に対応する入力候補情報である「西新井店」を、入力フィールド41上に出力(例えば、表示)する。なお、ここでは、入力フィールド41上に既に出力されていたメニュー取得指示として送信した文字「a」を削除して、入力候補情報である「西新井店」を出力する。
図10は、入力候補情報出力部207による入力候補情報の出力例を示す図である。
次に、ユーザが、上記と同様に、図10に示されている画面40の入力フィールド42に対して、「1」という数字を入力する操作を行なったとすると、入力候補情報出力部207は、この数字を入力フィールド42上に出力するとともに、入力フィールド42のフィールド識別子「F02」と、文字「1」とを有するメニュー取得指示をサーバ装置1に送信する。
サーバ装置1の受信部103が、フィールド識別子「F02」と、文字「1」とを有するメニュー取得指示を受信すると、検出部105は、図7に示した文字対応情報において、「入力」の値が「1」である文字対応情報があるか否かを判断する。ここでは、文字対応情報がないと判断されたとする。
検出部105は、図6に示した表管理情報において、「フィールドID」の値が、メニュー取得指示が有するフィールド識別子「F02」と一致するレコードを検索し、検出したレコードの「表ID」の値である「勘定科目マスター」と、検出したレコードの「表示属性」の値である「勘定科目コード、勘定科目名、勘定科目カナ(インデックス)」とを取得する。
検出部105は、対応文字が取得できなかったため、入力候補格納部101に格納されている入力候補管理表のうちの、表識別子が、表管理情報を用いて取得した「表ID」の値と同じ「勘定科目マスター」である第一の入力候補管理表が有する情報において、入力候補情報が有する1以上の文字である「1」に一致する文字を有する情報を、上述した対応文字に一致する文字を有する情報を検出する場合と同様に以下のように検索する。なお、ここでも、入力候補情報は、検索の対象に含めないことが予め設定されているものとする。
検出部105は、第一の入力候補管理表の、上から1行目のレコードの、入力候補情報以外の他の属性の情報を読み出す。ここでは、入力候補情報以外の他の属性の情報として、「勘定科目コード」の値「100」と、「勘定科目カナ(インデックス)」の値「ゲンキン」とを読み出す。そして、読み出した情報である「勘定科目コード」の値と、「勘定科目カナ(インデックス)」の値とのそれぞれについて、メニュー取得指示が有する1以上の文字「1」が含まれているかを判断する。ここでの、メニュー取得指示が有する1以上の文字が含まれている場所は問わない。例えば、検出部105は、読み出した情報を構成する全ての文字を対象として、メニュー取得指示が有する1以上の文字と一致する文字を検索して、一致する文字が検出された場合、メニュー取得指示が有する1以上の文字が含まれていると判断する。
そして、「勘定科目コード」の値と、「勘定科目カナ(インデックス)」の値との少なくとも一方に、メニュー取得指示が有する文字「1」が含まれている場合、この一のレコードの入力候補情報である「勘定科目名」と、「勘定科目コード」の値と、「勘定科目カナ(インデックス)」の値と、を、図示しない格納部等に蓄積する。ここでは、「勘定科目コード」の値「100」に「1」が含まれているため、検出部105は、この一のレコードの「勘定科目名」の値(すなわち入力候補情報)である「現金」と、「勘定科目コード」の値「100」と、「勘定科目カナ(インデックス)」の値「ゲンキン」と、を、図示しない格納部等に蓄積する。
また、「勘定科目コード」の値「100」に、メニュー取得指示が有する文字「1」が含まれているため、「100」の先頭の「1」の前後に、上記と同様の文字を強調するためのタグを配置する。なお、メニュー取得指示が有する文字が連続する場合、連続する文字をはさみ込むように、タグを配置する。
検出部105は、このような処理を、第一の入力候補管理表の全てのレコードに対して行なう。
図11は、検出部105が上記の検出によって取得して図示しない格納部に蓄積した、メニュー取得指示が有する文字「1」が含まれている情報を有する第一の入力候補管理表のレコードの、入力候補情報である「勘定科目名」の値と、「勘定科目コード」の値と、「勘定科目カナ(インデックス)」の値と、を有する情報を管理する検出管理表を示す図である。なお、「勘定科目コード」の値と、「勘定科目カナ(インデックス)」の値とのうちの、対応文字と一致する文字は、上記のような文字を強調するタグで挟まれている。
送信部106は、検出部105がメニュー取得指示が有する文字を有する1以上の情報を検出したため、検出した情報に対応する入力候補情報数をカウントする。そして、カウント数が予め指定された閾値を超えるか否かを判断する。ここでは、カウント数が「58」であり、閾値が「10」であるため、閾値を超えると判断する。このため、送信部106は、検出部105が検出した情報に対応する入力候補情報のうちの10個の入力候補情報に対応するメニュー項目を有するメニューを出力するためのメニュー出力情報を取得する。ここでは、対応する「勘定科目コード」の値が小さいものから数えて10番目までの入力候補情報に対応するメニュー項目を有するメニューを出力するためのメニュー出力情報を以下のように取得する。
なお、カウント数が閾値以下である場合の処理は、上述した対応文字を用いた場合の例に示した処理と同様である。また、対応文字を用いた検出を行なう場合において、入力候補情報のカウント数が閾値よりも多い場合に行なわれるメニュー出力情報を取得する処理は、ここでの入力候補情報のカウント数が閾値よりも多い場合の処理の例と同様と考えてよい。
具体的には、送信部106は、上記で検出部105が表管理情報を用いて取得した「表示属性」の値である「勘定科目コード、勘定科目名、勘定科目カナ(インデックス)」を取得し、図11に示した検出管理表の、「勘定科目コード」の値が小さいものから数えて10番目までのレコードの、属性が「勘定科目コード」、「勘定科目名」、および「勘定科目カナ(インデックス)」である値を、レコード毎に順次取得し、各レコードの値を配置したメニュー項目を有するメニューを出力するためのメニュー出力情報を取得する。また、「勘定科目名」が入力候補情報であるため、ここで取得するメニューは、各メニュー項目が選択された場合に、この入力候補情報の値が出力されるようなメニューとする。
また、ここでは、送信部106は、上記の入力候補情報をカウントした値(すなわち、メニュー取得指示が有する文字と一致する情報の数)である「58」を配置したメニューを出力するためのメニュー出力情報を取得する。
なお、ここでは、更に、上記のカウント数が閾値を超えているため、図11に示した検出管理表の、「勘定科目コード」の値が11番目以降のレコードの入力候補情報を選択するためのメニュー項目を配置したメニューを出力する指示を受け付けるためのボタン(以下、追加出力ボタン)70を配置したメニューを出力するメニュー出力情報を取得する。
そして、送信部106は、取得したメニュー出力情報を、メニュー取得指示を送信した端末装置2に対して送信する。
端末装置2の端末受信部205が、サーバ装置1からメニュー出力情報を受信すると、メニュー出力部206は、上記の場合と同様に、このメニュー出力情報を用いてメニューを取得する。なお、ここでは、入力候補情報をカウントした値である「58」を配置したメニューを出力する、また、ここでは、追加出力ボタン70を更に配置したメニューを取得する。そして、メニュー出力部206は、取得したメニューを表示する。
図12は、メニュー出力部206によるメニュー61の出力例を示す。ここでは、メニュー出力部206は、メニュー61を、図10に示した画面出力部202が出力する画面40の、上記で文字「1」が入力された入力フィールド42の下に出力(例えば、表示)する。このメニュー61のメニュー項目は、「勘定科目コード」、「勘定科目名」、および「勘定科目カナ(インデックス)」の値が一つずつ配列された各行である。また、「上記に表示されていない場合はこちら」という文字は、追加出力ボタン70である。
このようにして、本具体例においては、入力候補情報に対応する情報であって、メニュー取得指示が有する文字を有する情報を含む情報を、入力候補情報毎にメニュー項目として有するメニュー61を出力することができる。
また、文字を強調するタグで囲まれた部分の背景色を、他と異なる背景色にすることで、メニューに配置された情報のうちの、メニュー取得指示が有する文字と一致する文字を、強調して出力することができ、一致する部分を確認することができる。
なお、ユーザが、仮に、メニュー61の追加出力ボタン70を押したとすると、例えば、端末送信部204は、出力されていない他のメニュー項目を有するメニューを出力する指示を、サーバ装置1に送信する。例えば、サーバ装置1の受信部103がこの指示を受信すると、送信部106は、上記で取得して送信したメニュー出力情報により出力されるメニューが有するメニュー項目とは異なるメニュー項目を有するメニューを出力するメニュー出力情報を、図11に示した検出管理表の情報を用いて取得して、端末装置2に送信する。例えば、送信部106は、図11に示した検出管理表の、「勘定科目コード」の値が、小さい方から数えて、11番目から20番目までの値であるレコードの情報を用いて、上記のように、これらのレコードが有する入力候補情報の選択を受け付けるためのメニュー項目を有するメニューを出力するためのメニュー出力情報を取得する。端末装置2の端末受信部205が、メニュー出力情報を受信すると、メニュー出力部206は、上記と同様に、メニュー出力情報を用いてメニューを出力する。ここで出力されるメニューは、例えば、メニュー61に出力されているメニュー項目とは異なるメニュー項目を有するメニューであって、メニュー取得指示が有する文字に対応する入力項目情報の選択を受け付けるためのメニューとなる。
なお、かかる追加出力ボタンを出力する構成等は、上述したように、メニュー取得指示が有する文字に対応した対応文字を用いて、メニュー出力情報を取得する場合においても同様である。
また、上記において、メニュー取得指示が有する文字に対応する情報と対応付けられた入力候補情報をカウントした値が閾値以下である場合にも、このカウント数を出力するための情報を含むメニューを出力するためのメニュー出力情報を取得するようにしてもよい。ただし、カウント数が閾値以下である場合にだけ、カウント数を出力することで、カウント数の出力の有無により、メニュー取得指示が有する文字に対応する情報と対応付けられた入力候補情報が他にもあるか否かを容易かつ迅速に判断することが可能となる。
ここで、さらに、ユーザが、メニュー61のメニュー項目を選択せずに、画面40の入力フィールド42に対して、「0」という数字を追記する操作を行なったとすると、端末受付部203は、この入力フィールド42に対して、追記された文字も含めて「10」という文字を受け付ける。入力候補情報出力部207は、追記する操作に応じて、文字「0」を入力フィールド42上に配置されている文字「1」の後ろに追記するとともに、端末受付部203が受け付けた文字「10」と、入力フィールド42のフィールド識別子「F02」とを有するメニュー取得指示をサーバ装置1に送信する。
サーバ装置1の受信部103が、フィールド識別子「F02」と、文字「10」とを有するメニュー取得指示を受信すると、検出部105は、図7に示した文字対応情報において、「入力」の値が「10」である文字対応情報があるか否かを判断する。ここでは、文字対応情報がないと判断されたとする。
検出部105は、上記と同様に、表管理情報から、メニュー取得指示が有するフィールド識別子「F02」に対応する「表ID」の値である「勘定科目マスター」と、「表示属性」の値である「勘定科目コード、勘定科目名、勘定科目カナ(インデックス)」とを取得する。
検出部105は、対応文字が取得できなかったため、入力候補格納部101に格納されている入力候補管理表のうちの、表識別子が、表管理情報を用いて取得した「表ID」の値と同じ「勘定科目マスター」である第一の入力候補管理表が有する情報において、入力候補情報が有する1以上の文字である「10」に一致する文字を有する情報を、上記の入力候補情報が有する文字である「1」に一致する文字を有する情報を検出する場合と同様に検索する。なお、ここでの検索の際に、「10」を構成する「1」と「0」の順序は入れ換えない。また、「1」と「0」との間に1以上の任意の文字を加えて検索を行なうことはない。そして、一致する文字が検出された場合、メニュー取得指示が有する1以上の文字が含まれていると判断して、第一の入力候補管理表の、一致する文字を有するレコードの入力候補情報である「勘定科目名」と、「勘定科目コード」の値と、「勘定科目カナ(インデックス)」の値と、を、図示しない格納部等に蓄積する。また、一致する文字の前後に、上記と同様の文字を強調するためのタグを配置する。
検出部105は、このような処理を、第一の入力候補管理表の全てのレコードに対して行なう。
さらに、送信部106は、上記と同様に、検出部105が検出した情報に対応する入力候補情報数をカウントし、上記と同様に、カウント結果に応じて、メニュー出力情報を取得する。そして、取得したメニュー出力情報を端末装置に送信する。
端末装置2の端末受信部205が、サーバ装置1からメニュー出力情報を受信すると、メニュー出力部206は、上記の場合と同様に、このメニュー出力情報を用いてメニューを取得する。そして、メニュー出力部206は、取得したメニューを表示する。
図13は、メニュー出力部206によるメニュー62の出力例を示す。ここでは、メニュー出力部206は、メニュー62を、図10に示した画面出力部202が出力する画面40の、上記で文字「10」が入力された入力フィールド42の下に出力(例えば、表示)する。このメニュー61のメニュー項目は、「勘定科目コード」、「勘定科目名」、および「勘定科目カナ(インデックス)」の値が一つずつ配列された各行である。
なお、上記具体例においては、表管理情報からフィールド識別子を用いて取得する表関連情報が、表識別子である場合を例に挙げて説明したが、表関連情報は、対象属性識別子であっても良く、この場合、検出部105は、表識別子が示す入力候補管理表の情報の代わりに、1以上の入力候補管理表の、対象属性識別子が示す属性の情報を、メニュー取得指示が有する文字に対応する情報を検出する際の、検出の対象とすればよい。例えば、上記の具体例において、検出部105が、メニュー取得指示が有するフィールド識別子に対応する表関連情報として、「部門コード」と「部門カナ(インデックス)」とを取得した場合、検出部105は、入力候補格納部101に格納されている第一の入力候補管理表および第二の入力候補管理表の、属性が「部門コード」である値と、属性が「部門カナ(インデックス)」である値との中から、メニュー取得指示が有する文字に対応する情報を検出するようすればよい。
以上、本実施の形態によれば、表関連情報を用いて、入力フィールド毎に、メニュー取得指示が有する文字に対応する情報の検出の対象となる情報を変更することができ、適切な入力候補の情報を出力させることができる。
なお、上記具体例において利用した候補関連情報である「部門コード」と「部門カナ(インデックス)」との組、および「勘定科目コード」と「勘定科目カナ(インデックス)」との組は、それぞれ、入力候補情報に対応する異なる2種類のキーと考えるようにしてもよい。本実施の形態においては、このような2種類の異なるキーを用いることにより、メニュー取得指示が有する文字列に対応する情報を、異なる2種類のキーを区別せずに用いて検出することができる。これにより、例えば、ユーザが異なる2種類のキーのうちのいずれのキーを入力フィールドに入力しようとした場合においても、キーの種類によらず適切な入力候補情報を取得することができる。これにより、ユーザは入力しやすい種類のキーを適宜選択して入力することができ、利便性を向上させることができる。かかることは、キーの種類が3種類以上である場合においても同様である。
なお、上記実施の形態においては、一の入力候補管理表が有する各レコード(行)が、1の入力候補情報を有している場合について説明したが、各レコードが2以上の入力候補情報を有していても良い。この場合、例えば、一のメニュー項目を選択した場合に入力フィールドに入力される一の入力候補情報を指定する情報を、予め表管理情報の表関連情報に蓄積しておくようにして、メニュー取得指示が有するフィールド識別子により、一の表関連情報が検出された場合に、送信部106等が、この表関連情報に蓄積された入力候補情報を指定する情報が示す一の入力候補情報を、メニュー項目が指定された場合に出力される入力候補情報とするメニューを出力するためのメニュー出力情報を、取得し、送信するようにしても良い。
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(受信部および送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態では、サーバ・クライアントシステムにおけるサーバ装置について説明したが、本発明は、スタンドアロンの情報処理装置としても適用できるものである。例えば、本発明においては、上記実施の形態のサーバ装置と端末装置とを組み合わせたスタンドアロンの情報処理装置においても、上記実施の形態と同様の効果を奏することができる。
例えば、本発明におけるスタンドアロンの情報処理装置は、以下のような情報処理装置である。即ち、1以上の入力フィールドに入力される情報の候補である入力候補情報を含む1以上の属性の情報の1以上の組を有する1以上の入力候補管理表が格納される入力候補格納部と、入力フィールドを識別するフィールド識別子と、入力候補格納部に格納された1以上の入力候補管理表に関連する情報であって当該入力候補管理表が有する1以上の情報を特定する情報である表関連情報と、を有する1以上の表管理情報が格納される表管理情報格納部と、1以上の入力フィールドを有する画面を示す情報である1以上の画面情報が格納される画面情報格納部と、画面情報格納部に格納された画面情報を用いて画面を出力する画面出力部と、画面出力部が出力する画面の一の入力フィールドに対して1以上の文字の入力を受け付ける入力受付部と、入力受付部が1以上の文字の入力を受け付けた一のフィールド識別子と、当該フィールド識別子が示す入力フィールドに入力された1以上の文字と、を有する情報であって、当該入力フィールドに対応するメニューを取得する指示であるメニュー取得指示を受け付ける受付部と、上記の表管理情報によって上記のメニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が示す1以上の情報から、このメニュー取得指示が有する1以上の文字に対応する1以上の情報を検出する検出部と、この検出部が検出した1以上の情報に対応する入力候補情報を選択するためのメニュー項目を有するメニューを出力するためのメニュー出力情報を取得する取得部と、この取得部が取得したメニュー出力情報を用いて、当該メニュー出力情報が示す1以上のメニュー項目を含むメニューを、上記の画面上に出力するメニュー出力部とを備え、入力受付部は、メニュー出力部が出力するメニューから一のメニュー項目の選択を更に受け付け、入力受付部が受け付けたメニュー項目の選択に対応する入力候補情報を、入力フィールド上に出力する入力候補情報出力部を更に備えた情報処理装置である。
なお、ここでの、入力候補格納部、表管理情報格納部、画面情報格納部、画面出力部、検出部、メニュー出力部、および入力候補情報出力部は、例えば、上記実施の形態において説明した入力候補格納部101、表管理情報格納部102、画面情報格納部201、画面出力部202、検出部105、メニュー出力部206、および入力候補情報出力部207と同様のものであり、これらに入出力される情報や、これらが処理する情報等も同様の情報である。また、ここでの入力受付部は、上記実施の形態の端末受付部203と同様のものである。また、ここでの受付部は、上記実施の形態の端末送信部204と、受信部103とに対応するものであり、スタンドアローンであるため、メニュー取得指示の送受信が不要であることから、入力受付部が1以上の文字の入力を受け付けた一のフィールド識別子と、当該フィールド識別子が示す入力フィールドに入力された1以上の文字と、を有するメニュー取得指示を受け付けるようにしたものである。また、取得部は、上記実施の形態の送信部106において、取得したメニュー出力情報を、端末装置2に送信する代わりに、メニュー出力部206に引き渡すようにしたものである。また、上記の各部に対して入出力される情報や、上記の各部が処理する情報等も、上記実施の形態の情報と同様または相当する情報である。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、格納部(例えば、ハードディスクやメモリ等の記録媒体)にアクセスしながらプログラムを実行してもよい。
なお、上記実施の形態におけるサーバ装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、1以上の入力フィールドに入力される情報の候補である入力候補情報を含む1以上の属性の情報の1以上の組を有する1以上の入力候補管理表が格納される入力候補格納部と、入力フィールドを識別するフィールド識別子と、入力候補格納部に格納された1以上の入力候補管理表に関連する情報であって入力候補管理表が有する1以上の情報を特定する情報である表関連情報と、を有する1以上の表管理情報が格納される表管理情報格納部と、にアクセス可能なコンピュータを、一のフィールド識別子と、フィールド識別子が示す入力フィールドに入力された1以上の文字と、を有する情報であって、入力フィールドに対応するメニューを取得する指示であるメニュー取得指示を、端末装置から受信する受信部と、表管理情報によってメニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が示す1以上の情報から、メニュー取得指示が有する1以上の文字に対応する1以上の情報を検出する検出部と、検出部が検出した1以上の情報に対応する入力候補情報を選択するためのメニュー項目を有するメニューを出力するためのメニュー出力情報を、端末装置に送信する送信部として機能させるためのプログラムである。
また、上記の情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、1以上の入力フィールドに入力される情報の候補である入力候補情報を含む1以上の属性の情報の1以上の組を有する1以上の入力候補管理表が格納される入力候補格納部と、入力フィールドを識別するフィールド識別子と、入力候補格納部に格納された1以上の入力候補管理表に関連する情報であって入力候補管理表が有する1以上の情報を特定する情報である表関連情報と、を有する1以上の表管理情報が格納される表管理情報格納部と、1以上の入力フィールドを有する画面を示す情報である1以上の画面情報が格納される画面情報格納部と、にアクセス可能なコンピュータを、画面情報を用いて画面を出力する画面出力部と、画面出力部が出力する画面の一の入力フィールドに対して1以上の文字の入力を受け付ける入力受付部と、入力受付部が1以上の文字の入力を受け付けた一のフィールド識別子と、フィールド識別子が示す入力フィールドに入力された1以上の文字と、を有する情報であって、入力フィールドに対応するメニューを取得する指示であるメニュー取得指示を受け付ける受付部と、表管理情報によってメニュー取得指示が有するフィールド識別子と対応付けられた表関連情報が示す1以上の情報から、メニュー取得指示が有する1以上の文字に対応する1以上の情報を検出する検出部と、検出部が検出した1以上の情報に対応する入力候補情報を選択するためのメニュー項目を有するメニューを出力するためのメニュー出力情報を取得する取得部と、取得部が取得したメニュー出力情報を用いて、メニュー出力情報が示す1以上のメニュー項目を含むメニューを、画面上に出力するメニュー出力部として機能させ、入力受付部は、メニュー出力部が出力するメニューから一のメニュー項目の選択を更に受け付け、入力受付部が受け付けたメニュー項目の選択に対応する入力候補情報を、入力フィールド上に出力する入力候補情報出力部として更に機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図14は、上記プログラムを実行して、上記実施の形態によるサーバ装置、端末装置、および情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図14において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図15は、コンピュータシステム900の内部構成を示す図である。図15において、コンピュータ901は、CD−ROMドライブ905に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態によるサーバ装置等の機能を実行させるプログラムは、CD−ROM921に記憶されて、CD−ROMドライブ905に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態によるサーバ装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。