(57)【特許請求の範囲】
【請求項１】
少なくともラジオボタンおよびコンボボックスを含む入力コントロールを利用して表示されるデータ項目を選択するプログラムを生成するプログラム生成装置であって、
前記表示されるデータ項目の数に対応して利用される入力コントロールが複数定義された定義情報を記憶する定義情報記憶手段と、
前記データ項目およびデータ項目の件数を取得し、前記データ項目の件数に対応する入力コントロールを、前記定義情報記憶手段に記憶された定義内容に基づいて決定し、前記決定した入力コントロールを利用して前記データ項目を選択可能に表示するプログラムを生成するプログラム生成手段と、を有し、
前記プログラム生成手段は、前記ラジオボタンに表示される前記データ項目の文字幅を取得し、前記文字幅の合計が所定の幅を超える場合には、前記定義情報記憶手段に記憶された定義内容に基づいて決定した入力コントロールが前記ラジオボタンの場合であっても、入力コントロールを前記コンボボックスに決定するプログラムを生成することを特徴とするプログラム生成装置。
【請求項２】
前記定義情報記憶手段に記憶された入力コントロールの定義情報を設定可能な入出力コントロール定義手段を更に有することを特徴とする請求項１記載のプログラム生成装置。
【請求項３】
少なくともラジオボタンおよびコンボボックスを含む入力コントロールを利用して表示されるデータ項目を選択する情報処理装置であって、
前記表示されるデータ項目の数に対応して利用される入力コントロールが定義された定義情報を記憶する定義情報記憶手段と、
前記データ項目およびデータ項目の件数を取得するデータ項目取得手段と、
前記データ項目の件数に対応する入力コントロールを、前記定義情報記憶手段に記憶された定義内容に基づいて決定する入力コントロール決定手段と、
前記入力コントロール決定手段よって決定される入力コントロールを利用して前記データ項目を選択可能に表示する表示制御手段と、
前記ラジオボタンに表示される前記データ項目の文字幅を取得し、前記文字幅の合計が所定の幅を超える場合には、前記定義情報記憶手段に記憶された定義内容に基づいて決定した入力コントロールが前記ラジオボタンの場合であっても、入力コントロールを前記コンボボックスに決定する入力コントロール変更手段と、
を有する特徴とする情報処理装置。
【請求項４】
表示されるデータ項目の数に対応して利用される、少なくともラジオボタンおよびコンボボックスを含む入力コントロールが複数定義された定義情報を記憶する定義情報記憶手段を有し、前記入力コントロールを利用して表示されるデータ項目を選択するプログラムを生成するプログラム生成装置の制御方法であって、
前記データ項目およびデータ項目の件数を取得し、前記データ項目の件数に対応する入力コントロールを、前記定義情報記憶手段に記憶された定義内容に基づいて決定し、前記決定した入力コントロールを利用して前記データ項目を選択可能に表示するプログラムを生成するプログラム生成ステップと、を有し、
前記プログラム生成ステップは、前記ラジオボタンに表示される前記データ項目の文字幅を取得し、前記文字幅の合計が所定の幅を超える場合には、前記定義情報記憶手段に記憶された定義内容に基づいて決定した入力コントロールが前記ラジオボタンの場合であっても、入力コントロールを前記コンボボックスに決定するプログラムを生成することを特徴とするプログラム生成装置の制御方法。
【請求項５】
表示されるデータ項目の数に対応して利用される、少なくともラジオボタンおよびコンボボックスを含む入力コントロールが定義された定義情報を記憶する定義情報記憶手段を有し、前記入力コントロールを利用して表示されるデータ項目を選択する情報処理装置の制御方法であって、
前記データ項目およびデータ項目の件数を取得するデータ項目取得ステップと、
前記データ項目の件数に対応する入力コントロールを、前記定義情報記憶手段に記憶された定義内容に基づいて決定する入力コントロール決定ステップと、
前記入力コントロール決定ステップよって決定される入力コントロールを利用して前記データ項目を選択可能に表示する表示制御ステップと、
前記ラジオボタンに表示される前記データ項目の文字幅を取得し、前記文字幅の合計が所定の幅を超える場合には、前記定義情報記憶手段に記憶された定義内容に基づいて決定した入力コントロールが前記ラジオボタンの場合であっても、入力コントロールを前記コンボボックスに決定する入力コントロール変更ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項６】
表示されるデータ項目の数に対応して利用される、少なくともラジオボタンおよびコンボボックスを含む入力コントロールが複数定義された定義情報を記憶する定義情報記憶手段を有し、前記入力コントロールを利用して表示されるデータ項目を選択するプログラムを生成するプログラム生成装置で読み取り可能なプログラムであって、
前記プログラム生成装置を、
前記データ項目およびデータ項目の件数を取得し、前記データ項目の件数に対応する入力コントロールを、前記定義情報記憶手段に記憶された定義内容に基づいて決定し、前記決定した入力コントロールを利用して前記データ項目を選択可能に表示するプログラムを生成するプログラム生成手段と、を有し、
前記プログラム生成手段は、前記ラジオボタンに表示される前記データ項目の文字幅を取得し、前記文字幅の合計が所定の幅を超える場合には、前記定義情報記憶手段に記憶された定義内容に基づいて決定した入力コントロールが前記ラジオボタンの場合であっても、入力コントロールを前記コンボボックスに決定するプログラムを生成することを特徴とするプログラム生成装置として機能させるためのプログラム。
【請求項７】
表示されるデータ項目の数に対応して利用される、少なくともラジオボタンおよびコンボボックスを含む入力コントロールが定義された定義情報を記憶する定義情報記憶手段を有し、前記入力コントロールを利用して表示されるデータ項目を選択する情報処理装置で読み取り可能なプログラムあって、
前記情報処理装置を、
前記データ項目およびデータ項目の件数を取得するデータ項目取得手段と、
前記データ項目の件数に対応する入力コントロールを、前記定義情報記憶手段に記憶された定義内容に基づいて決定する入力コントロール決定手段と、
前記入力コントロール決定手段よって決定される入力コントロールを利用して前記データ項目を選択可能に表示する表示制御手段と、
前記ラジオボタンに表示される前記データ項目の文字幅を取得し、前記文字幅の合計が所定の幅を超える場合には、前記定義情報記憶手段に記憶された定義内容に基づいて決定した入力コントロールが前記ラジオボタンの場合であっても、入力コントロールを前記コンボボックスに決定する入力コントロール変更手段と、
を有することを特徴とする情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム生成装置、情報処理装置、制御方法、およびプログラムに関する。
【背景技術】
【０００２】
アプリケーション画面やウェブ画面などで、データを選択する際、プルタウンリストやコンボボックスなどが入力コントロールとして利用されている。
【０００３】
これら入力コントロールは、想定されるデータ長やデータ量に適した入力コントロールを設計段階で決定し画面が開発される。
【０００４】
しかし、運用中にデータが変化により選択する項目に増減が発生すると、当初定めた入力コントロールではユーザの利便性を損ねる可能性があり、場合によってはプログラムの修正が発生する。
【０００５】
例えば、選択対象のデータが１件しかないのにプルダウンリストで選択したり、選択対象のデータが５０件もあるのにコンボボックスにより選択をしたりするケースが、利便性が悪いと考えられる。
【０００６】
特許文献１には、プルダウンリストに着目し、プルダウンリストを桁毎に分割する、分割しないが自動判別され、短い選択リストから目的の数値を容易に選択する仕組みが提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−０５２３８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１によれば、データの内容に応じてプログラムを修正することなくコンボボックスを複数に分割し、容易に選択入力できるようになっているが、入力コントロールとしてのコンボボックスの入力を容易にすることにとどまる。
【０００９】
そこで本発明は、選択対象のデータ量に応じて、より適した入力コントロールが選択される仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、少なくともラジオボタンおよびコンボボックスを含む入力コントロールを利用して表示されるデータ項目を選択するプログラムを生成するプログラム生成装置であって、  前記表示されるデータ項目の数に対応して利用される入力コントロールが複数定義された定義情報を記憶する定義情報記憶手段と、前記データ項目およびデータ項目の件数を取得し、前記データ項目の件数に対応する入力コントロールを、前記定義情報記憶手段に記憶された定義内容に基づいて決定し、前記決定した入力コントロールを利用して前記データ項目を選択可能に表示するプログラムを生成するプログラム生成手段と、を有し、
前記プログラム生成手段は、前記ラジオボタンに表示される前記データ項目の文字幅を取得し、前記文字幅の合計が所定の幅を超える場合には、前記定義情報記憶手段に記憶された定義内容に基づいて決定した入力コントロールが前記ラジオボタンの場合であっても、入力コントロールを前記コンボボックスに決定するプログラムを生成することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、選択対象のデータ量に応じて、より適した入力コントロールが選択される仕組みを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態を示すプログラム生成装置の構成を示すブロック図である。
【図２】本発明の一実施形態を示すプログラム生成装置のハードウェア構成の一例を示すブロック図である。
【図３】本発明の一実施形態を示すプログラム生成装置のコード生成部１０７によって生成したコードを利用したアプリケーションシステムの全体構成の一例を示す図である。
【図４】本発明の一実施形態を示すプログラム生成装置における第１の制御処理手順の一例を示すフローチャートである。
【図５】本発明の一実施形態を示すプログラム生成装置におけるコード生成処理の制御処理手順の一例を示すフローチャートである。
【図６】本発明の一実施形態を示すプログラム生成装置により生成されたコードが画面を生成する処理の制御手順の一例を示すフローチャートである。
【図７】本発明の一実施形態を示すプログラム生成装置により生成されたコードによって表示された画面に表示するデータのテーブルイメージの一例を示す図である。
【図８】本発明の一実施形態を示すプログラム生成装置の開発管理画面の一例を示す図である。
【図９】本発明の一実施形態を示すプログラム生成装置により生成されたコードによって表示された画面の一例を示す図である。
【図１０】本発明の一実施形態を示すプログラム生成装置によって生成されたプログラムの一例を示す図である。
【図１１】本発明の一実施形態を示すプログラム生成装置によって生成された画面プログラムの一例を示す図である。
【図１２】本発明の一実施形態を示すコード生成処理の機能構成の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図を参照して本発明のアプリケーション開発システムについて説明する。
【００１４】
図１は、本発明の一実施形態を示すプログラム生成装置の構成を示すブロック図である。
【００１５】
図において、１０１は入力装置で、キーボードやマウス等のポインティングデバイス等に相当し、業務仕様情報（データ項目のデータベースへの配置とデータ項目間の関係、即ちあるデータがどのような条件のもとにどのようなデータから求められるかを示す情報等）の入力を行うことが可能である。
【００１６】
１０２は、表示装置で、ＣＲＴ、ＬＣＤ等で構成され、業務仕様情報の入力画面や該入力画面から入力された業務仕様情報、生成されたプログラムコード等を表示可能である。１０４は、ハードディスク等の外部記憶装置で、入力された業務仕様（データベース上の複数のテーブルをそれぞれ定義した定義情報）を記憶するための入出力テーブル１０９、入力されたデータベースへ接続するための接続情報を記憶するログイン情報１１０、生成するウェブアプリケーションのアプリケーション名１１１（開発者が任意に設定可能）、生成されたプログラムコード（ＪＳＰコード１１２、サーブレット（Ｓｅｒｖｌｅｔ）コード１１３、Ｂｅａｎコード１１４等）を記憶するものである。
【００１７】
１０３は処理装置で、ＣＰＵ、ＲＡＭ、ＲＯＭ等から構成され、ＣＰＵがＲＯＭ、外部記憶装置１０４又はその他の記憶媒体に格納されるプログラムをＲＡＭ上にロードして実行することにより実現されるものであり、画面制御部１０５、コード生成部、１０７を備える。
【００１８】
画面制御部１０５は、入力装置１０１から業務仕様情報の入力を行うために表示装置１０２の画面（不図示）を制御する業務仕様記述部１０６を有する。
【００１９】
コード生成部１０７は、入力装置１０１から入力された又は外部記憶装置１０４から読み出された業務仕様情報に基づいてプログラムコード（ＪＳＰコード１１２、サーブレットコード１１３、Ｂｅａｎコード１１４）を生成し、外部記憶装置１０４に記憶させる。
【００２０】
１０８は全体制御部で、画面制御部１０５、コード生成部１０７等の各部の制御を行う。
【００２１】
なお、実施例によれば、処理装置１０３が外部記憶装置１０４を有するように構成されているが、外部記憶装置１０４は、処理装置１０３とは異なる外部サーバであってもよい。また、クラウドコンピューティングを利用する場合は、外部記憶装置１４０に記憶される情報がクラウド上に記憶されるようにしてもよい。また、処理装置１０３の有する画面制御部１０５、コード生成部１０７、および全体制御部１０８の一部または全てをクラウド上に持たせるようにしてもよい。
【００２２】
また、入力装置１０１および表示装置１０２は、処理装置１０３に直接接続して処理装置へ入力したり表示したりするようにしてもよいし、開発端末（不図示）に接続して、開発端末経由で処理装置１０３にアクセスするようにしてもよい。
【００２３】
図２は、本発明の一実施形態を示すプログラム生成装置のハードウェア構成の一例を示すブロック図である。
【００２４】
図１と同一のものには同一の符号を付してある。図２に示すように、図１に示したプログラム生成装置は、パーソナルコンピュータ等で実現可能である。
【００２５】
ＣＰＵ２０１は、ＲＯＭ２０３あるいは外部記憶装置１０４に記憶されている制御プログラムに基づいて、システムバスに接続されている各種デバイスとのアクセスを総括的に制御する構成となっている。
【００２６】
システムバスには、ＣＰＵ２０１の主メモリ、ワークエリア等として機能するＲＡＭ２０２が接続されている。ＲＯＭ２０３あるいは外部記憶装置１０４には、ＣＰＵ１０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステム（以下、「ＯＳ」という。）プログラム、処理装置（コンピュータ）１０３が実行する処理を実現するために必要な各種プログラム等が記載されている。
【００２７】
ＣＰＵ２０１は、処理の実行に際して必要な各種プログラム等をＲＡＭ２０２にロードして、当該プログラム等を実行することで図１に示した全体制御部１０８の機能及び各種機能を実現するものである。
【００２８】
外部記憶装置１０４は、上述した各種プログラムとして、図示しないブートプログラム、各種アプリケーションプログラム、フォントデータ、ユーザファイル等を記憶可能である。
【００２９】
ＣＰＵ２０１は、例えば、ＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、表示装置１０２上でＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ２０１は、表示装置１０２上のマウスカーソル（不図示）等で指示されたコマンドに基づいて、登録された種々なウィンドウを開き、種々のデータ処理を実行する。
【００３０】
図３は、本発明の一実施形態を示すプログラム生成装置のコード生成部１０７によって生成したコードを利用したアプリケーションシステムの全体構成の一例を示す図である。
【００３１】
クライアント３０１およびサーバ３０４がネットワークを介して通信可能に接続されている。クライアント３０１からの要求に応じて、処理装置１０３で生成されたプログラムの動作するサーバ３０４から画面の表示情報がクライアント３０１に送信される。
【００３２】
具体的には、コード生成部１０７によって生成されたサーブレット、ＪＳＰ、およびＢｅａｎは、それぞれ実行可能な状態で、サーバ３０４側のアプリケーションサーバ３０６上に配置される。
【００３３】
このＷｅｂアプリケーションシステムは、クライアント３０１からＷｅｂブラウザ３０２によって利用される。Ｗｅｂブラウザ３０２からＪＳＰ３０９にアクセスすることにより、ＨＴＭＬページ３０３を生成し、クライアント３０１側に送信する。そして、Ｗｅｂブラウザ３０２上には、ＪＳＰ３０９から送信されるＨＴＭＬページ３０３が表示される。
【００３４】
また、Ｗｅｂブラウザ３０２からのリクエストは、ＨＴＴＰ経由でサーバ３０４側に送信される。サーバ３０４にはＨＴＴＰサーバ３０５とアプリケーションサーバ３０６があり、アプリケーションサーバ３０６にはサーブレット３０７やＪＳＰ３０９の実行環境が含まれている。
【００３５】
サーバ３０４側にリクエストが送信されると、リクエストに応じて該当するサーブレット３０７が起動される。サーブレット３０７は、対応するＢｅａｎ３０８に処理を要求する。さらに、Ｂｅａｎ３０８は、サーブレット３０７からの要求に応じてＤＢアクセスオブジェクト３１０ａ、内部データベース３１１ａ、外部データベース３１１ｂにアクセスし、その処理結果をＢｅａｎ３０８内に保持する。
【００３６】
次に、サーブレット３０７からＪＳＰ３０９にＢｅａｎ３０８を渡し、ＪＳＰ３０９を呼び出す。ＪＳＰ３０９は、Ｂｅａｎ３０８で保持する処理結果を参照して、ＨＴＭＬページを生成し、クライアント３０１側に返送する。クライアント３０１側に返送されたＨＴＭＬページはＷｅｂブラウザ３０２上に表示される。
【００３７】
サーブレット３０７は、Ｗｅｂブラウザ３０２からのリクエストの受け付け、Ｂｅａｎ３０８への処理要求、およびＪＳＰ３０９への呼び出しという、それぞれの間をつなぎ、制御する役割を持つ。ＪＳＰ３０９は、ＨＴＭＬページを出力するための表示に関する処理を受け持ち、Ｂｅａｎ３０８はデータベース３１１ａ、３１１ｂへのアクセス等の業務に関する処理を受け持つ。
【００３８】
なお、Ｂｅａｎ３０８やＪＳＰ３０９を利用せずにサーブレット３０７のみで（又は、サーブレット３０７やＢｅａｎ３０８を利用せずにＪＳＰ３０９のみで）、Ｗｅｂブラウザ３０２からのリクエストを処理することは可能であるが、Ｂｅａｎ３０８やＪＳＰ３０９を利用してそれぞれの役割を明確に分離することで、機能分担を簡潔に把握することができる。
【００３９】
なお、Ｂｅａｎ３０８は、内部データベースアクセス用のＢｅａｎと外部データベースアクセス用のＢｅａｎに分けて実装してもよい。
【００４０】
図４は、本発明の一実施形態を示すプログラム生成装置における第１の制御処理手順の一例を示すフローチャートである。
【００４１】
図１に示した処理装置１０３の全体制御部１０８の動作に対応する。なお、Ｓ４０１〜Ｓ４０５は各ステップを示す。
【００４２】
まず、全体制御部１０８が起動されると、ステップＳ４０１において、入力装置１０１からオペレータの指示により選択された処理（モード）が生成（モード）か入力（モード）かを判定し、入力モードが選択されたと判定した場合（Ｎ）には、ステップＳ４０２に進み、全体制御部１０８は、画面制御部１０５を起動する。
【００４３】
起動された画面制御部１０５は、ステップＳ４０３において、業務仕様記述部１０６により業務仕様入力画面（詳細は図８に示す）を表示させ、オペレータからの業務仕様の一形態である表示項目の設定やレイアウト、入力コントロール種別などの設定を受け付け、入出力テーブル１０９をとして外部記憶装置１０４に格納し、処理を終了する。
【００４４】
一方、ステップＳ４０１において、入力装置１０１からオペレータの指示により選択されたモードが生成モードであると判定した場合には、ステップＳ４０４に進み、全体制御部１０８は、外部記憶装置１０４に格納された入出力テーブル１０９を読み出し、該読み出した入出力テーブル内の業務仕様情報に基づいてコード生成を行う。コード生成（プログラム生成）処理の詳細については、図５に示す。
【００４５】
そして、ステップＳ４０５において、全体制御部１０８は、生成されたコードを、オペレータの指示により表示装置１０２に表示したり、外部記憶装置１０４に書き込む出力処理したりして処理を終了する。
【００４６】
図５は、本発明の一実施形態を示すプログラム生成装置におけるコード生成処理の制御処理手順の一例を示すフローチャートである。
【００４７】
ステップＳ５０１〜ステップＳ５０２は、開発者によって操作される処理であり、ステップＳ５０３からステップＳ５１３は、プログラム生成装置による処理である。開発者は、管理者端末から操作を行ってもよいし、プログラム生成装置に直接アクセスして操作を行ってもよい。
【００４８】
ステップＳ５０１で、開発者より画面項目の入力コントロールとデータ件数閾値の対応関係の定義の入力を受付け、ステップＳ５０２で、開発管理画面のプログラム生成処理ボタンの押下を受付ける。開発者が操作する開発管理画面について、図８を利用して説明する。
【００４９】
図８は、本発明の一実施形態を示すプログラム生成装置の開発管理画面の一例を示す図である。
【００５０】
開発管理画面８０１は、図４のステップＳ４０３で、起動される業務仕様入力画面に相当する。項目設定８１０では、表示される項目に関する設定を行い、入力コントロール種類設定８２０では、表示する入力コントロールとその条件に関する設定を行う。
【００５１】
項目名８１１では、画面に表示する項目名（例えば「機器区分」）を入力する。取得先８１２では、表示対象となるデータの取得元のデータベースを指定する。項目名８１１は、当該指定されたデータベースに格納されている項目である。
【００５２】
レイアウト補正８１３は、入力コントロール種類設定８２０で決定した内容の例外処理を指定するものである。種類８１４には、入力コントロールを入力し、文字数８１５には、表示される文字列の制限を入力する。レイアウト補正８１３にチェックが入っている場合に設定が有効となり、チェックが外れていると無効となる。
【００５３】
ここでは、種類８１４に「ラジオボタン」、文字数８１５に「３０文字以上の場合コンボボックス」と設定されているので、入力コントロール８２０の設定によりラジオボタンが表示されるような場合であってもコンボボックスが表示されるようになる。
【００５４】
なお、レイアウト補正８１３において「ラジオボタン」「３０」「コンボボックス」は開発者によって任意に指定可能である。例えば、表示される文字数ではなく、表示される文字列の長さが所定の長さを超える場合に、コンボボックスに切り替えるように設定することもできる。
【００５５】
入力コントロール１から入力コントロール３（８２１〜８２３）では、件数ＦＲＯＭ８２４と件数ＴＯ８２５を指定し、表示される入力コントロールの種類８２６を設定する。件数とは、入力コントロールによって選択されるために参照する項目が取得元のテーブル（図７）に記憶されている件数であり、記憶された件数に応じて、入力コントロールの種類が切り替わるようになっている。
【００５６】
入力コントロール１（８２１）の場合、コードマスタに記憶された件数が１件から３件の間であれば機器区分の入力コントロールがラジオボタンとなる。同様に入力コントロール２（８２２）の場合、件数が４件から１０件の間であれば、コンボボックスとなり、入力コントロール３（８２３）の場合、件数が１１件以上であれば、ダイアログとなる。
【００５７】
保存８３０を押下すると、入力した内容を定義情報として入出力テーブル（定義情報記憶手段）に保存する。入出力テーブルは、データベースとしてテーブル形式で保存してもよいし、ファイルとして保存してもよい。開く８４０を押下すると、過去に記憶した定義情報を開くことができる。プログラム生成８５０を押下するとプログラムの自動生成が開始される。図５の説明に戻る。
【００５８】
ステップＳ５０３では、開発管理画面からプログラム生成要求を受信すると、ステップＳ５０４に進み、開発管理画面で設定された項目設定情報および入力コントロール種類設定情報である定義情報を入出力テーブルから読み込み、ステップＳ５０５で入力された内容に不備がないかどうかのエラーチェックを行う。なお、エラーチェックは、開発管理画面上で、保存８３０やプログラム生成８５０が押下された時に実行されるようにしてもよい。
【００５９】
エラーチェックの内容は、入力コントロール種類設定８２０で設定された件数ＦＲＯＭ８２４と件数ＴＯの範囲に重複や矛盾がないか、種類８２６の同じコントロールが指定されていないか等のチェックを行い、ステップＳ５０６で、エラーがあればステップＳ５０７で開発管理画面にエラーを表示して処理を終了する。
【００６０】
エラーが無かった場合は、ステップＳ５０８に進み、定義情報の取得元８１２で指定されたデータベースからデータ件数を取得するプログラムを生成する（図１０の１００１、データ項目取得プログラム）。
【００６１】
ステップＳ５０９では、選択値を取得元８１２のテーブルからデータを取得するプログラムを生成する（図１０の１００４）。
【００６２】
ステップＳ５１０では、定義情報のレイアウト補正８１３情報をもとに、レイアウト補正にチェックがあるかどうかを判定し、チェックがあった場合は、ステップＳ５１１に、チェックが無かった場合は、ステップＳ５１２に進む。
【００６３】
ステップＳ５１１では、レイアウト補正８１３情報で設定された情報に基づいて、レイアウト補正判定を行うプログラムを生成する（図１０の１００５、補正プログラム）。
【００６４】
ステップＳ５１２では、入力コントロール種類設定８２０を元に、表示する入力コントロールを判定するプログラムを生成する（図１０の１００２〜１００３、入力コントロール判定プログラム）。
【００６５】
ステップＳ５１３では、ステップＳ５０３〜ステップＳ５１２で生成された表示するコントロール種類を制御するためのプログラムを含んだ画面プログラム（図１１）を生成し処理を終了する。プログラム（コード）生成処理の概念について図１２を利用して説明する。
【００６６】
図１２は、本発明の一実施形態を示すコード生成処理の機能構成の一例を示す図である。
【００６７】
本実施形態におけるアプリケーションプログラムの自動生成システムから本発明を実施するにおいて、必要となるリソースを抽出して説明する。
【００６８】
図は、実施形態におけるアプリケーション生成を行う部分の構成を示すブロック図であり、図１と同一のものには同一の符号を付してある。
【００６９】
コード生成部１０７は、入出力テーブル１０９に格納された定義情報（図８で定義）に基づき、画面項目や表示する入力コントロールに関する情報を取得し、プログラムテンプレート１２０５（不図示）のファイルに当てはめる形で、プログラム２０７を自動生成する。
【００７０】
なお、このプログラム２０７は、図１に示したＪＳＰコード１１２、Ｓｅｒｖｅｌｅｔ１１３、Ｂｅａｎコード１１４のいずれか又は全てを含む。
【００７１】
プログラムテンプレートとは、生成するアプリケーションプログラムのプログラム構造が定められており、このテンプレートに開発管理画面で定義された定義情報を埋め込むことによって、例えば図１０および図１１に示すようなアプリケーションプログラム（ソースコード）を生成することができるようになっている。
【００７２】
図６は、本発明の一実施形態を示すプログラム生成装置により生成されたコードが画面を生成する処理の制御手順の一例を示すフローチャートである。
【００７３】
ステップＳ６０１でサーバ３０４がクライアント３０１のＷｅｂブラウザ３０２から画面表示要求を受信する。
【００７４】
ステップＳ６０２で画面項目に表示する選択値を図７に示すデータテーブルから取得し、データの件数をカウントする。
【００７５】
ステップＳ６０３では、データ件数と閾値をもとに、使用する入力コントロールを決定する。具体的には、ステップＳ５１２で生成された入力コントロール判定プログラムが、ステップＳ６０２で取得した選択値の件数と入力コントロール種類設定８２０とから画面項目の入力コントロール種類を決定する。データテーブルについて図７を利用して説明する。
【００７６】
図７は、本発明の一実施形態を示すプログラム生成装置により生成されたコードによって表示された画面に表示するデータのテーブルイメージの一例を示す図である。
【００７７】
内部データベース３１１ａもしくは外部データベース３１１ｂにコードマスタとして記憶されており、図８の取得元８１２で指定されるテーブルである。または、外部記憶装置１０４に記憶されるようにしてもよい。（データテーブル記憶手段）
【００７８】
機器区分は、機器名称を特定可能なように一意な値（番号）が機器名称に対応して付与されている。機器名称は、画面に記載されている名称が、機器名称として画面に表示される。表示されるデータ項目は入力コントロールによって選択されるようになっている。
【００７９】
例としてテーブル７０１からテーブル７０４の４つのテーブルを記載しているが、実際に利用される際は、これら４つの内１つが参照される。
【００８０】
テーブル７０１が取得元のデータテーブルであった場合、選択値の件数は３件となり、入力コントロール種類設定８２０の設定により、対応する入力コントロールは「ラジオボタン」となる。
【００８１】
同様にテーブル７０２が取得元のデータテーブルであった場合、選択値の件数が１０件であり、対応する入力コントロールは「コンボボックス」となる。テーブル７０３の場合、１５件で「ダイアログ」となる。
【００８２】
テーブルが７０４の場合は、選択値の件数が３件であるので、入力コントロールは「ラジオボタン」となるのであるが、合計の文字列が３０文字を超え、レイアウト補正の条件に合致するので「コンボボックス」となる。これにより、例えば選択項目を横に並べて表示するようなラジオボタンであった場合の、文字列が長すぎると選択項目を表示しきれないという問題を防ぐことができる。図６の説明に戻る。
【００８３】
ステップＳ６０４で、選択値を図７のデータテーブルから取得し、ステップＳ６０５に進む。
【００８４】
ステップＳ６０５では、レイアウト補正８１３にチェックがされているかを確認し、チェックされていた場合はステップＳ６０６に進み、チェックされていなかった場合はステップＳ６０９に進む。
【００８５】
ステップＳ６０６では、入力コントロールが補正の対象であるかどうかの判定をし、対象であればステップＳ６０７に進み、対象でなければステップＳ６０９に進む。入力コントロールの対象とは、種類８１４で設定された内容であり、本実施形態では「ラジオボタン」が対象となる。
【００８６】
ステップＳ６０７では、選択値の総文字数が所定値より多いかどうかの判定をし、多ければステップＳ６０８に進み、多くなければ（収まっていれば）ステップＳ６０９に進む。入力コントロールの対象とは、文字数８１５で設定された内容であり、「文字列が３０文字以上」ということになる。例えば取得元のデータテーブルが７０４であった場合、選択値の総文字数が３４文字となるので、所定値より多いことになる。
【００８７】
ステップＳ６０８では、文字数８１５で設定された内容に従って、入力コンポーネントをラジオボタンからコンボボックスに変更して、ステップＳ６０９に進む。
【００８８】
ステップＳ６０９では、ステップＳ６０４で取得した選択値をステップＳ６０２から６０８の処理で決定した入力コンポーネントの形式でＨＴＭＬを生成し、画面を表示する端末へ送信し（表示制御）、処理を終了する。
【００８９】
図９は、本発明の一実施形態を示すプログラム生成装置により生成されたコードによって表示された画面の一例を示す図である。
【００９０】
ステップＳ６０９で生成されたＨＴＭＬが表示されたものであり、機器登録マスタメンテナンス画面となっている。
【００９１】
画面９１０、９２０、９３０（９３０−１、９３０−２）は、それぞれテーブル７０１、７０２と７０４、７０３を表示したものである。
【００９２】
機器登録マスタメンテナンス９１０はデータテーブルがテーブル７０１の場合の表示例である。機器区分９１１には、テーブル７０１に登録された３つの項目がラジオボタンで選択可能に表示されている。型番９１２は、ユーザが任意に書き込みできる領域である（９２２、９３２も同様）。登録９１３が押下されると、データベース（不図示）に登録される。
【００９３】
機器登録マスタメンテナンス９２０はデータテーブル７０２および７０４の場合の表示例である。機器区分９２１には、データ項目を選択可能にコンボボックスが表示されており、テーブル７０２の場合は表示件数が１０件のため、テーブル７０４の場合は文字数が３４のためレイアウト補正されて表示される。
【００９４】
コンボボックスとは、選択リストのことで、ドロップダウンリストやプルダウンメニューなどの総称を指す。
【００９５】
機器登録マスタメンテナンス９３０（９３０−１、９３０−２）データテーブルがテーブル７０３の場合の表示例である。９３０−１で何も入力されていない状態で選択９３３を押下すると、９３０−２にダイアログ９３８が表示される。そこで例えば「００１」を選択して検索９３６を押下すると、９３０−１に戻り、機器区分９３１に「００１」と入力され、選択９３３の近傍に「デスクトップＰＣ（省スペース型）」と表示される。
【００９６】
図１０は、本発明の一実施形態を示すプログラム生成装置によって生成されたプログラムの一例を示す図である。
【００９７】
１００１は、図５のステップＳ５０８で生成された「データ件数を取得するプログラム」に対応する。
【００９８】
１００２および１００３は、ステップＳ５１２で生成された「表示する入力コントロールを判定するプログラム」に対応する。
【００９９】
１００４は、ステップＳ５０９で生成された「選択値を取得するプログラム」に対応する。
【０１００】
１００５は、ステップＳ５１１で生成された「レイアウト補正判定を行うプログラム」に対応する。
【０１０１】
図１１は、本発明の一実施形態を示すプログラム生成装置によって生成された画面プログラムの一例を示す図である。
【０１０２】
図５のステップＳ５１３で生成された画面プログラムの一例であり、１１０１は機器登録マスタメンテナンス９１０画面を表示する画面プログラムであり、１１０２は、９２０画面を表示する画面プログラムであり、１１０３は、９３０−１画面を表示する画面プログラムである。
【０１０３】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１０４】
また、本発明におけるプログラムは、本発明に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体はコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは各装置の処理方法ごとのプログラムであってもよい。
【０１０５】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１０６】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【０１０７】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【０１０８】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１０】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１１１】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１１２】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１１３】
１０１  入力装置
１０２  表示装置
１０３  処理装置
１０４  外部記憶装置
１０５  画面制御部
１０６  業務仕様記述部
１０７  コード生成部
１０８  全体制御部
１０９  入出力テーブル
１１２  ＪＳＰコード
１１３  サーブレットコード
１１４  Ｂｅａｎコード
【図１】
0006032250.tif 000002
【図２】
0006032250.tif 000003
【図３】
0006032250.tif 000004
【図４】
0006032250.tif 000005
【図５】
0006032250.tif 000006
【図６】
0006032250.tif 000007
【図７】
0006032250.tif 000008
【図８】
0006032250.tif 000009
【図９】
0006032250.tif 000010
【図１０】
0006032250.tif 000011
【図１１】
0006032250.tif 000012
【図１２】
0006032250.tif 000013