(57)【要約】【課題】複数の項目に対応するデータを入力させ該入力される各項目のデータに基づいて所定の処理を実行するプログラムであって、入力されたデータの複数項目間の関連チェックが可能なプログラムを自動生成すること。【解決手段】複数の入力項目の定義情報と前記いずれか複数の項目間の関係を示す複数の関連定義情報とを入力画面項目定義テーブル１０２に記憶しておき、プログラム生成部１０４が、前記各項目の定義情報に基づいて、「前記各項目に対応するデータを入力するための入力画面を表示する第１のプログラムコード」を生成し、また、前記各関連定義情報に基づいて、「前記第１のプログラムコードに対応する入力画面から入力される前記各項目に対応する各データの項目間の関係が前記関連定義情報を満たしているか否かそれぞれを判定するための各関連チェック処理を行う第２のプログラムコード」を生成する構成を特徴とする。【選択図】図１
2007041676.tif 000002
【特許請求の範囲】
【請求項１】
複数の項目に対応するデータを入力させ該入力される各項目のデータに基づいて所定の処理を実行するプログラムを生成するプログラム生成装置において、
前記複数の項目の定義情報と前記いずれか複数の項目間の正常な関係を定義する複数の関連定義情報とを記憶する記憶手段と、
前記記憶手段に記憶される前記各項目の定義情報に基づいて、「前記各項目に対応するデータを入力するための入力画面を表示する第１のプログラムコード」を生成する第１の生成手段と、
前記記憶手段に記憶される前記各関連定義情報に基づいて、「前記第１のプログラムコードに対応する入力画面から入力される前記各項目に対応する各データの項目間の関係が正常であるか否かそれぞれを判定するための各関連チェック処理を行う第２のプログラムコード」を生成する第２の生成手段と、
を有することを特徴とするプログラム生成装置。
【請求項２】
前記記憶手段は、前記各関連定義情報にそれぞれ紐付けて、前記各関連定義情報に対応する各エラーメッセージを記憶するものであり、
前記記憶手段に記憶される前記各関連定義情報と前記各エラーメッセージに基づいて、「前記第２のプログラムコードに対応する各関連チェック処理により項目間の関係が正常でないと判定された場合に、対応するエラーメッセージを表示する第３のプログラムコード」を生成する第３の生成手段を設けたことを特徴とする請求項１記載のプログラム生成装置。
【請求項３】
前記第３の生成手段により生成される第３のプログラムコードは、前記第２のプログラムコードに対応する各関連チェック処理により項目間の関係が正常でないと判定されたケースが複数ある場合に、対応する複数のエラーメッセージを一度に表示するプログラムコードであることを特徴とする請求項２記載のプログラム生成装置。
【請求項４】
前記記憶手段に記憶される前記各項目の定義情報に基づいて、「前記第２のプログラムコードに対応する各関連チェック処理により項目間の関係が正常でないと判定された場合に、前記各項目に対応するデータを再入力するための入力画面を表示し、さらに表示される各項目のうち、前記項目間の関係が正常でないと判定された各項目の入力エリアの表示形態を変更する第４のプログラムコード」を生成する第４の生成手段を設けたことを特徴とする請求項１〜３のいずれかに記載のプログラム生成装置。
【請求項５】
前記記憶手段に記憶される前記各項目の定義情報に基づいて、「前記第２のプログラムコードに対応する各関連チェック処理により項目間の関係が正常でないと判定された場合に、前記各項目に対応するデータを再入力するための入力画面を表示し、さらに表示される各項目のうち、項目間の関係が正常でないと判定されたいずれかの項目の入力エリアに入力カーソルを移動させる第５のプログラムコード」を生成する第５の生成手段を設けたことを特徴とする請求項１〜４のいずれかに記載のプログラム生成装置。
【請求項６】
前記第１の生成手段は、「前記各項目に対応するデータを入力するための１又は複数の入力画面を表示する第１のプログラムコード」を生成するものであり、
前記第２の生成手段は、「前記第１のプログラムコードに対応する１又は複数の入力画面から入力される前記各項目に対応する各データの項目間の関係が正常であるか否かそれぞれを判定するための各関連チェック処理を行う第２のプログラムコード」を生成することを特徴とする請求項１〜５のいずれかに記載のプログラム生成装置。
【請求項７】
前記記憶手段に記憶される前記各項目の定義情報に基づいて、「前記第１のプログラムコードに対応する入力画面から入力される前記各項目に対応する各データが対応する項目の定義を満たしているデータか否かそれぞれを判定するための各項目チェック処理を行う第６のプログラムコード」を生成する第６の生成手段を設けたことを特徴とする請求項１〜６のいずれかに記載のプログラム生成装置。
【請求項８】
複数の項目に対応するデータを入力させ該入力される各項目のデータに基づいて所定の処理を実行するプログラムを生成するプログラム生成方法において、
前記複数の項目の定義情報と前記いずれか複数の項目間の正常な関係を定義する複数の関連定義情報とを記憶手段に記憶させる登録ステップと、
前記記憶手段に記憶される前記各項目の定義情報に基づいて、「前記各項目に対応するデータを入力するための入力画面を表示する第１のプログラムコード」を生成する第１の生成ステップと、
前記記憶手段に記憶される前記各関連定義情報に基づいて、「前記第１のプログラムコードに対応する入力画面から入力される前記各項目に対応する各データの項目間の関係が正常であるか否かそれぞれを判定するための各関連チェック処理を行う第２のプログラムコード」を生成する第２の生成ステップと、
を有することを特徴とするプログラム生成方法。
【請求項９】
請求項８に記載されたプログラム生成方法をコンピュータに実行させるためのプログラム。
【請求項１０】
請求項８に記載されたプログラム生成方法をコンピュータに実行させるためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の項目に対応するデータを入力させ該入力される各項目のデータに基づいて所定の処理を実行するプログラムを生成するプログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体に関する。
【背景技術】
【０００２】
特許文献１には、伝票入力プログラム生成方式において、入力すべき項目名や入力データの上限、下限、妥当性といった項目情報から、項目毎に入力値チェック、妥当性チェックを行って伝票等を入力する画面プログラムを作成する技術が記載されている。
【特許文献１】特開２００４-１５７９２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、項目入力の前後で項目間に関連がある場合、先の項目を修正すれば、後の項目も関連してチェックし、かつ操作者に関連する項目の再入力を促すようなきめ細かい整合化処理は、特にプログラムの自動生成には困難な課題であった。
【０００４】
すなわち、従来の伝票入力プログラム生成方式では、データ入力後の妥当性チェック等を行う画面を生成することはできたが、入力された複数の項目にまたがる項目関連チェックなどのきめ細かいチェックをするという複雑なプログラムを生成することができなかった。
【０００５】
また、エラーになった全項目について、ユーザにその理由を表示し、どの項目がどのように修正すればよいか適切なメッセージを示すプログラムを生成することができなかった。
【０００６】
このため、特許文献１で生成されたプログラムを使用するユーザは、エラーを修正するに当たり、画面を見て、エラー項目を判断し、当該項目を修正する場合に、ユーザの判断に頼り、一つずつカーソル移動させ、修正させるという手間のかかるものとなってしまうという問題点があった。
【０００７】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、複数の項目に対応するデータを入力させ該入力される各項目のデータに基づいて所定の処理を実行するプログラムを生成するプログラム生成装置において、入力されたデータの複数項目間のチェックを含むきめ細かな妥当性チェックを行うことができるプログラムを生成する仕組を提供する。また、上記項目間のチェックの結果エラーとなった場合、チェックに抵触したエラー全てについてのメッセージを示し、さらに修正項目を明示してユーザがその修正すべき項目の箇所と内容を容易に判断できるプログラムを生成する仕組を提供する。
【課題を解決するための手段】
【０００８】
本発明は、複数の項目に対応するデータを入力させ該入力される各項目のデータに基づいて所定の処理を実行するプログラムを生成するプログラム生成装置において、前記複数の項目の定義情報と前記いずれか複数の項目間の関係を示す複数の関連定義情報とを記憶する記憶手段と、前記記憶手段に記憶される前記各項目の定義情報に基づいて、「前記各項目に対応するデータを入力するための入力画面を表示する第１のプログラムコード」を生成する第１の生成手段と、前記記憶手段に記憶される前記各関連定義情報に基づいて、「前記第１のプログラムコードに対応する入力画面から入力される前記各項目に対応する各データの項目間の関係が前記関連定義情報を満たしているか否かそれぞれを判定するための各関連チェック処理を行う第２のプログラムコード」を生成する第２の生成手段とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、複数の項目に対応するデータを入力させ該入力される各項目のデータに基づいて所定の処理を実行するプログラムを生成するプログラム生成装置において、前記複数の項目の定義情報と前記いずれか複数の項目間の関係を示す複数の関連定義情報とを記憶手段に記憶しておき、前記記憶手段に記憶される前記各項目の定義情報に基づいて、「前記各項目に対応するデータを入力するための入力画面を表示する第１のプログラムコード」を生成し、また、前記記憶手段に記憶される前記各関連定義情報に基づいて、「前記第１のプログラムコードに対応する入力画面から入力される前記各項目に対応する各データの項目間の関係が前記関連定義情報を満たしているか否かそれぞれを判定するための各関連チェック処理を行う第２のプログラムコード」を生成するので、複数の項目に対応するデータを入力させ該入力される各項目のデータに基づいて所定の処理を実行するプログラムにおいて、入力されたデータの複数項目間のチェックを含むきめ細かな妥当性チェックを行うことができるプログラムを生成することができる。
【００１０】
また、上記項目間のチェックの結果エラーとなった場合、チェックに抵触したエラー全てについてのメッセージを示し、修正項目を明示して、ユーザがその修正すべき項目の箇所と内容を容易に判断できるプログラムを生成することができる。
【００１１】
従って、簡潔な入力項目情報（項目の定義情報）、項目間の入力チェック情報（関連定義情報）をテーブルに指定するだけで、伝票入力プログラムのような複数の項目に対応するデータを入力させ該入力される各項目のデータに基づいて所定の処理を実行するプログラムの生成において、従来の技術では自動生成できなかった、項目間の関連チェック，関連チェックエラーメッセージ表示，関連チェックエラー項目の明示等の機能を実現するプログラムを自動で（ユーザによるコーディングなしに）生成することができる等の効果を奏する。
【発明を実施するための最良の形態】
【００１２】
〔第１実施形態〕
図１は、本発明の一実施形態を示すプログラム生成装置を適用可能なシステムの全体構造を示す図である。
【００１３】
図１において、１０１は画面構成情報であり、画面に表示すべき項目を記述した入力画面項目定義テーブル１０２、画面に表示するメッセージを管理するメッセージテーブル１０３を含む。なお、入力画面項目定義テーブル１０２，メッセージテーブル１０３の詳細は、後述する図３，図４に示す。
【００１４】
１００は画面項目管理部であり、表示装置１１０に表示される画面に従って入力装置１１１からプログラム生成指示が入力されると、画面構成情報１０１内の入力画面項目定義テーブル１０２，メッセージテーブル１０３から画面構成情報（入力画面項目定義情報，メッセージ情報等）を抽出する。
【００１５】
１０４はプログラム生成部であり、画面表示プログラム出力部１０５、項目チェックプログラム出力部１０６、関連チェックプログラム出力部１０７、エラー情報表示プログラム出力部１０８から構成される。このプログラム生成部１０４は、画面項目管理部１００で抽出された画面構成情報に基づいて、画面表示プログラム（入力画面を表示するＨＴＭＬ），項目チェックプログラム（サーブレット），関連チェックプログラム（サーブレット），エラー情報表示プログラム（再入力画面を表示するＪＳＰ）等を含むプログラム１０９を生成する。
【００１６】
なお、生成されるプログラム１０９は、画面表示プログラムにより表示される入力画面から複数の項目に対応するデータを入力させ該入力される各項目のデータを項目チェックプログラムでチェックし、また、各項目間の関係を関連チェックプログラムでチェックし、エラーとなった場合には、エラー情報表示プログラムでエラーメッセージ及び再入力画面（エラー項目の背景色変更、エラー項目にカーソル移動）を表示して再入力させるものである。なお、プログラム１０９は、エラーでない場合には、入力される各項目のデータに基づいて所定の処理を実行するものである。
【００１７】
図２は、図１に示したプログラム生成装置を実施可能な情報処理装置のハードウエア構成の一例を示すブロック図である。
【００１８】
図２において、２０１はＣＰＵであり、ＲＯＭ２０３、外部メモリ２０４、又は、その他の記録媒体に格納されたプログラムを、ＲＡＭ２０２上で実行することにより、図１に示した画面項目管理部１００，プログラム生成部１０４の機能を実現して、プログラム生成装置全体を制御する。ＲＡＭ２０２は、ＣＰＵ２０１のワーク領域として使用される。
【００１９】
外部メモリ２０４上には、図１に示した画面構成情報１０１が保持されている。また外部メモリ２０４は、プログラム生成部１０４により生成されるプログラム１０９が格納される。
【００２０】
図３は、図１に示した入力画面項目定義テーブル１０２のデータ構造を示すデータ構成図である。
【００２１】
図３に示すように、入力画面項目定義テーブル１０２は、項目名３０１，レイアウト３０２，ＩＯタイプ３０３，定義タイプ３０４，桁数３０５，必須３０６，計算式３０７の各項目から構成される。
【００２２】
項目名３０１は、画面に表示されるラベルを示す。また、レイアウト３０２は、画面の配置方法を示す。例えば、レイアウト３０２の定義が「詳細」の場合は、当該項目が単一項目として画面に配置されることを示し、また、レイアウト３０２の定義が「一覧」の場合は、当該項目が表形式で画面に配置されることを示す。
【００２３】
ＩＯタイプ３０３は、当該項目が「入出力」項目であるか、「出力」項目であるかを示す。ＩＯタイプ３０３が「入出力」の場合は、当該項目が画面上からユーザ入力可能な項目であることを示し、ＩＯタイプ３０３が「出力」の場合は、当該項目がプログラムによって値が表示されユーザは変更不可な項目であることを示す。
【００２４】
定義タイプ３０４は、当該項目のタイプを示す。例えば、定義タイプ３０４が「数値」，「日付」，「コード」，「文字列」，「通貨」である場合には、当該項目が数値，日付，コード，文字，通貨であることを示す。また、定義タイプ３０４が「チェック」である場合には、当該項目が複数の項目間のチェック項目である（入出力項目でない）ことを示す。
【００２５】
桁数３０５は、当該項目の桁数を示す。必須３０６は当該項目が必須入力項目であるか否かを示す。必須３０６が「Ｙ」の場合は、当該項目が必須入力項目である。計算式３０７は、複数の項目間の制約を定義する計算式を示す。
【００２６】
例えば、図３に示した「数量単価チェック」では、数量，単価にはどちらの項目にもデータが入力されているか、両方とも空であるかの制約を計算式「(数量 ＞ 0 AND 単価 ＞ 0) OR (数量 = '' AND 単価='')」で表し、項目「数量」と項目「単価」の関係（制約）を定義している。
【００２７】
また、「在庫数チェック」では、計算式「数量 ＜= 商品マスタ{商品コード}.在庫数」により、「商品コード」をキーとして商品マスターテーブルより在庫数を読み出し、「数量」以上であることを項目間の制約として定義している。このように画面項目とデータベース上の値における制約を定義してもよい。
【００２８】
さらに、「案件原価チェック」では、計算式「案件マスタ{案件No}.重要度 ＜ 2 AND 商品マスタ{商品コード}.原価 ＜= 単価」により、「案件No」に対応する重要度(例えば取引の重要性)に応じて入力された単価が商品原価を下回ってはいけないという項目間の制約を定義している。なお、重要度が２以上のときは、単価が原価を下回ってもよいが、重要度が２未満のときは下回った場合入力エラーとなる。
【００２９】
また、「日付チェック」では、計算式「日付 ＜= 納品日」により、「日付」に入力された日付が「納品日」に入力された日付以前でなくてはならないという項目間の制約を定義している。
【００３０】
以上のように入力画面項目定義テーブル１０２は構成されている。
【００３１】
画面生成プログラム出力部１０５は、項目名３０１、レイアウト３０２、ＩＯタイプ３０３、桁数３０５等に基づいて、各項目に対応するアイテムを画面に表示するプログラムコードを生成する。
【００３２】
項目チェックプログラム出力部１０６は、定義タイプ３０４、桁数３０５、必須３０６で定義した内容に関するチェックを行う項目チェックプログラムを出力する。
【００３３】
例えば、項目チェックプログラム出力部１０６は、定義タイプ３０４に基づいて、各項目に入力されたデータが、数値，通貨，コード，文字列，日付等のタイプにおいて、入力可能な文字種，入力可能なフォーマットに合っているかをチェックする処理に対応するプログラムコードを生成する。
【００３４】
また、項目チェックプログラム出力部１０６は、桁数３０５に基づいて、各項目に入力されたデータの文字数が、桁数以内であるかチェックする処理に対応するプログラムコードを生成する。
【００３５】
さらに、項目チェックプログラム出力部１０６は、必須３０６に基づいて、各項目にデータが入力されているかチェックする処理に対応するプログラムコードを生成する。具体的には、図３の１行目の「伝票番号」については、項目チェックプログラム出力部１０６は、数値のみ５桁まで入力可能でデータが入力されている（必須である）ことをチェックする処理に対応するプログラムコードを生成することとなる。
【００３６】
また、関連チェックプログラム出力部１０７は、入出力項目定義テーブルで定義タイプ「チェック」の項目情報の計算式３０７に項目間の式を定義しその条件を満たしているかどうかチェックするコードを生成する。
【００３７】
以上のように、入力画面項目定義テーブル１０２は、複数の項目の定義情報（定義タイプ３０４が「チェック」以外の項目定義）と前記いずれか複数の項目間の関係を示す複数の関連定義情報（定義タイプ３０４が「チェック」となっている項目定義）とを記憶するものである。
【００３８】
図４は、図１に示したメッセージテーブル１０３の構成を示すデータ構成図である。
【００３９】
図３に示した定義タイプ３０４が「チェック」の計算式３０７に基づいて行われる項目間のチェックがエラーとなった場合、その「チェック」に対応する表示メッセージを定義する。
【００４０】
図４に示すように、メッセージテーブル１０３内で各エラーメッセージ４０２は、各チェック項目名４０１（定義タイプ３０４が「チェック」の項目定義）にそれぞれ紐付けられて記憶されている。
【００４１】
なお、ここでは図示していないが、図３に示した入力画面項目定義テーブル１０２，図４に示したメッセージテーブル１０３は、業務処理名，画面名，アプリケーション名等に紐付けられて画面構成情報１０１として管理されている。また、ここでは示さないが、上記業務処理名に対応する業務処理を定義し、該業務処理に対応するコードを、プログラム生成部１０４で、生成させることも可能である。
【００４２】
また、図３に示した入力画面項目定義テーブル１０２，図４に示したメッセージテーブル１０３は、CSV形式のデータであっても、テキストデータであっても、その他の形式のデータであってもよい。また、図３に示した入力画面項目定義テーブル１０２，図４に示したメッセージテーブル１０３を入力するためのツールを用いる構成であってもよい。
【００４３】
以下、図５〜図１２を参照して、本発明のプログラム生成装置におけるプログラム生成手順の一例を説明する。
【００４４】
図５は、本発明のプログラム生成装置における第１の制御処理手順の一例を示すフローチャートであり、本発明のプログラム生成装置におけるプログラム生成手順に対応する。
【００４５】
図６は、本発明のプログラム生成装置における第２の制御処理手順の一例を示すフローチャートであり、本発明の関連チェックコード出力処理手順に対応する。なお、図５，図６のフローチャートの処理は、図２に示したＣＰＵ２０１が外部メモリ２０４に格納されたプログラムをＲＡＭ２０２上で実行することにより実現されるプログラム生成部１０４（図１）による処理に対応する。なお、図５中のＳ５０１〜Ｓ５１０，図６中のＳ６０１〜Ｓ６０８は各ステップを示す。また、ここでは、プログラム生成部１０４が生成するプログラムコードは、Java（登録商標）サーブレットプログラムコード，JSPプログラムコード，HTMLコードとする。なお、HTMLコードで初期画面を表示し、Java（登録商標）サーブレットでチェック処理を行い、JSPプログラムでエラー表示処理を行わせるように生成する。
【００４６】
まず、画面構成情報１０１（入力画面項目定義テーブル１０２，エラーメッセージテーブル１０３）等を作成して外部メモリ２０４に登録（記憶）しておく。そして、入力装置１１１からプログラム生成指示が入力されると、画面項目管理部１００は、図３に示した入力画面項目定義テーブル１０２から入力画面項目定義情報，図４に示したメッセージテーブル１０３からメッセージ情報をそれぞれ読み込み、プログラム生成部１０４に出力する。
【００４７】
これに応じて、プログラム生成部１０４は、画面項目管理部１００より渡された入力画面項目定義情報，メッセージ情報をそれぞれＲＡＭ２０２内に保持する。また、プログラム生成部１０４は、図２に示した外部メモリ２０４に格納されたプログラムコード部品７０１，７０２，７０３を読み出してＲＡＭ２０２上に保持して、本フローチャートの処理を開始する。なお、図７は、本発明のプログラム生成装置におけるプログラム生成手順を説明するためのプログラムコード部品の一例を示す図である。図７において、７０１はサーブレットコード部品、７０２は初期画面表示用のＨＴＭＬコード部品、７０３はエラー表示用のＪＳＰコード部品に対応する。
【００４８】
また、これらのプログラムコード部品は、図２に示した外部メモリ２０４に格納されているものとする。また、このプログラムコード部品は、プログラム生成手順の理解を容易にするためのものであり、記述を省略している箇所も複数ある。また、本発明のプログラム生成装置が生成するプログラムコードはこのプログラムコード部品の例に限定されるものではない。
【００４９】
なお、プログラム生成部１０４は、サーブレットプログラムとＪＳＰプログラム間でデータの受け渡しを行うためのデータクラス（後述する図１２に示すエラー情報を記憶するためのクラス）を定義するコードも、部品として予め図２に示した外部メモリ２０４に格納されているものとする。
【００５０】
まず、ステップＳ５０１において、プログラム生成部１０４は、ＲＡＭ２０２内から項目定義を１つ読み込む（以下、この項目をカレントの項目と呼ぶ）。そして、ステップＳ５０２において、プログラム生成部１０４は、カレントの項目の定義タイプ３０４が「チェック」であるか否かを判定する。
【００５１】
ステップＳ５０２で、プログラム生成部１０４が、カレントの項目の定義タイプ３０４が「チェック」でない（即ち、「数値」「通貨」「コード」「文字」「日付」「送信ボタン」等である）と判定した場合には、ステップＳ５０３に処理を遷移させる。
【００５２】
そして、ステップＳ５０３において、プログラム生成部１０４（項目チェックプログラム出力部１０６）は、クライアントから送信されるカレントの項目のデータを取得しメモリ内に格納するコード（例えば、項目名「納品日」の場合「request.getParameter("納品日")」等）、及び、該取得した項目のデータを、当該項目定義内のＩＯタイプ３０３，定義タイプ３０４，桁数３０５，必須３０６等に基づいて、当該項目のデータをチェックして、エラー項目名，エラーメッセージを後述する図１２に示すエラー情報にセットするコードを、ＲＡＭ２０２内に保持している部品７０１の７０１ａに示す箇所に出力する。
【００５３】
なお、ここで、項目のデータをチェックするコードとは、上記取得した項目のデータがカレントの項目の定義タイプ３０４（「数値」，「日付」，「コード」，「文字列」，「通貨」等）に合っているか、また、該データの桁数が桁数３０５に合っているか、さらに、必須３０６が「Ｙ」の場合、該データがＮＵＬＬでないか等をチェックするコードに対応する。なお、個々の項目を単独にチェックするコードを生成する技術は従来のものであるので、ここでは出力されるコードの具体例は省略する。
【００５４】
次に、ステップＳ５０４において、プログラム生成部１０４（画面表示プログラム出力部１０５）は、カレントの項目の定義情報に基づいて、項目を表示させるコード（例えば、ＨＴＭＬコード）を、ＲＡＭ２０２内に保持している部品７０２の７０２ａに示す箇所に出力する。例えば、「伝票番号＜input type="text" name="伝票番号" maxlength="5"＞」，「登録＜input type="submit" name="登録"＞」等を出力する。
【００５５】
また、このステップでは、プログラム生成部１０４（画面表示プログラム出力部１０５）は、カレントの項目の定義情報に基づいて、項目，クライアントから送信される項目のデータを表示させるコード（例えば、ＪＳＰコード）を、ＲＡＭ２０２内に保持している部品７０３の７０３ａに示す箇所に出力する。例えば、「伝票番号＜input type="text" name="伝票番号" maxlength="5" value=＜%= request.getParameter("伝票番号")%＞＞」等を出力する。
【００５６】
そして、ステップＳ５０３の処理が終了後、プログラム生成部１０４は、ステップＳ５０６に処理を遷移させる。
【００５７】
一方、ステップＳ５０２で、プログラム生成部１０４が、定義タイプ３０４が「チェック」であると判定した場合には、ステップＳ５０５に処理を遷移させる。
【００５８】
そして、ステップＳ５０５において、プログラム生成部１０４（関連チェックプログラム出力部１０７）は、関連チェックコード出力処理（図６）を実行し、ステップＳ５０６に処理を遷移させる。
【００５９】
以下、図６を参照して関連チェックコード出力処理について説明する。
【００６０】
まず、ステップＳ６０１において、プログラム生成部１０４（関連チェックプログラム出力部１０７）は、クライアントから送信されるデータから当該チェック項目に対応する全ての値を取得し、当該チェック項目の計算式（以下、カレントの計算式）に基づいて、チェックが「ＯＫ」か「エラー」かを判定するJava（登録商標）サーブレットプログラムコードを、ＲＡＭ２０２内に出力する。
【００６１】
詳細には、この処理は、プログラム生成部１０４（関連チェックプログラム出力部１０７）が、外部メモリ２０４に格納されるプログラムコード部品８０１（図８）を読み出して、該部品８０１内の８０１ａに示す個所に、カレントの計算式に対応するコードを挿入したコードを、ＲＡＭ２０２内に保持されているコード７０１の７０１ｂに示した箇所に出力する。これにより、例えば、カレントの計算式が「日付 ＜= 納品日」の場合、図９の９０１に示すようなコードが、コード７０１の７０１ｂに示した箇所に出力される。
【００６２】
図８は、本発明のプログラム生成装置におけるプログラム生成手順を説明するためのプログラムコード部品の一例を示す図である。このプログラムコード部品は、図２に示した外部メモリ２０４に格納されているものとする。
【００６３】
図９は、図６に示したフローチャートの処理で生成過程のプログラムコードの一例を示す図である。なお、図８，図９に示したプログラムコード例は、プログラム生成手順の理解を容易にするためのものであり、記述を省略している箇所も複数ある。また、本発明のプログラム生成装置が生成するプログラムコードはこのプログラムコード部品の例に限定されるものではない。
【００６４】
次に、図６のステップＳ６０２〜Ｓ６０６において、プログラム生成部１０４（関連チェックプログラム出力部１０７）は、関連チェック結果がエラーのときに、当該計算式からエラーに関連する項目名を抽出して記憶するコードを出力し、ステップＳ６０７に処理を進める。
【００６５】
詳細には、ステップＳ６０２において、プログラム生成部１０４（関連チェックプログラム出力部１０７）は、カレントの計算式に含まれている項目から１つの項目を取得する。次に、ステップＳ６０３，Ｓ６０４において、プログラム生成部１０４は、ステップＳ６０２で取得した項目が「画面上に表示される項目」であり、且つ「ユーザが入力可能である項目」であるか（即ち、当該項目が図３に示した入力画面項目定義テーブル１０２内でＩＯタイプ３０３が「入出力」であるか）否かを判定する。
【００６６】
そして、ステップＳ６０３，Ｓ６０４で、プログラム生成部１０４（関連チェックプログラム出力部１０７）が、ステップＳ６０２で取得した項目が「画面上に表示される項目」であり、且つ「ユーザが入力可能である項目」であると判定した場合には、ステップＳ６０５において、当該項目名をＲＡＭ２０２内に記憶し、ステップＳ６０６に処理を遷移させる。
【００６７】
一方、ステップＳ６０３，Ｓ６０４で、プログラム生成部１０４（関連チェックプログラム出力部１０７）が、ステップＳ６０２で取得した項目が「画面上に表示される項目」でない、又は「ユーザが入力可能である項目」でないと判定した場合には、プログラム生成部１０４（関連チェックプログラム出力部１０７）は、そのままステップＳ６０６に処理を遷移させる。
【００６８】
次に、ステップＳ６０６において、プログラム生成部１０４（関連チェックプログラム出力部１０７）は、カレントの計算式の全ての項目についてステップＳ６０２〜Ｓ６０５の処理を終了したか否かを判定し、未だ終了していないと判定した場合には、ステップＳ６０２に処理を戻す。
【００６９】
一方、ステップＳ６０６で、プログラム生成部１０４（関連チェックプログラム出力部１０７）が、カレントの計算式の全ての項目についてステップＳ６０２〜Ｓ６０５の処理を終了したと判定した場合には、ステップＳ６０７に処理を遷移させる。
【００７０】
以上、ステップＳ６０２〜Ｓ６０６の処理により、例えば、カレントの項目の計算式３０７が「日付 ＜= 納品日」の場合、ＲＡＭ２０２上に「{'日付', '納品日'}」が格納されることになる。
【００７１】
次に、ステップＳ６０７において、プログラム生成部１０４（関連チェックプログラム出力部１０７）は、ステップＳ６０２〜Ｓ６０６の処理でＲＡＭ２０２上に記憶した項目名をエラー項目情報としてJava（登録商標）サーブレット実行時にメモリ上に保持されるエラー情報（図１２）内に格納コードを出力する。これは、ユーザに修正するべき箇所としてエラーフィールド情報として表示するためである。
【００７２】
詳細には、この処理は、プログラム生成部１０４（関連チェックプログラム出力部１０７）は、まず、外部メモリ２０４に格納されるプログラムコード部品８０２（図８）を読み出して、該部品８０２内の８０２ａに示す個所に、ステップＳ６０２〜Ｓ６０６の処理でＲＡＭ２０２上に記憶した項目名を挿入する。これにより、例えば、カレントの項目の計算式３０７が「日付 ＜= 納品日」の場合、図９の９０２に示すようなコードがＲＡＭ２０２内に保持される。
【００７３】
次に、プログラム生成部１０４（関連チェックプログラム出力部１０７）は、該エラー項目名を挿入したコード９０２を、ＲＡＭ２０２内のコード７０１の７０１ｂ内に保持されるコード８０１の８０１ｂに示す個所に出力する。
【００７４】
次に、ステップＳ６０８において、プログラム生成部１０４（関連チェックプログラム出力部１０７）は、結果がエラーとなったチェック項目に対応する表示メッセージを図４のメッセージテーブルから取得し、エラーメッセージをJava（登録商標）サーブレット実行時にメモリ上に保持されるエラー情報（図１２）内に格納コードを出力する。
【００７５】
詳細には、この処理は、プログラム生成部１０４（関連チェックプログラム出力部１０７）は、まず、外部メモリ２０４に格納されるプログラムコード部品８０３（図８）を読み出す。次に、プログラム生成部１０４は、カレントのチェック項目名に対応する表示メッセージを、図４に示したメッセージテーブルから取得し、前記読み出したプログラムコード部品８０３内の８０３ａに示す個所に挿入する。これにより、ＲＡＭ２０２内に、例えば、カレントの項目の計算式３０７が「日付 ＜= 納品日」の場合、図９の９０３に示すようなコードが生成される。
【００７６】
次に、プログラム生成部１０４（関連チェックプログラム出力部１０７）は、該表示メッセージを挿入したコード９０３を、ＲＡＭ２０２内のコード７０１の７０１ｂ内に保持されるコード８０１の８０１ｃに示した個所に挿入出力し、処理を終了する。
【００７７】
以上、図６に示した処理により、図１０のフローチャートに対応する図１１に示すような関連チェックコードが，図７のコード７０１の７０１ｂに示す箇所に出力される。
【００７８】
図１０は、図６に示した関連チェックコード出力処理により出力される関連チェックコードによる処理の一例を示したフローチャートである。
【００７９】
図１１は、図６に示した関連チェックコード出力処理により出力される関連チェックコードの一例を示す図である。なお、図１０，図１１では、特に、項目名が「日付チェック」の場合を示している。
【００８０】
また、図６に示した関連チェックコード生成処理で生成されたプログラム（図１０，図１１）を実行することにより、図１２に示すようなエラー情報がメモリ内に格納される。
【００８１】
図１２は、図６に示した関連チェックコード生成処理で生成されたプログラムの実行時にメモリ内で保持管理されるエラー情報の一例を示す図である。
【００８２】
図１２に示すように、エラー情報には、エラー項目名５０１，エラーメッセージ５０２の組が複数保持管理される。
【００８３】
以下、図５のフローチャートの説明に戻る。
【００８４】
次に、ステップＳ５０６において、プログラム生成部１０４は、全ての項目についてステップＳ５０１〜Ｓ５０５の処理を終了したか否かを判定し、まだ終了していないと判定した場合には、ステップＳ５０１に処理を戻し、次の項目に対する処理に遷移させる。
【００８５】
一方、ステップＳ５０６で、プログラム生成部１０４が、全ての項目についてステップＳ５０１〜Ｓ５０５の処理が終了したと判定した場合には、ステップＳ５０７に処理を遷移させる。
【００８６】
次に、ステップＳ５０７において、プログラム生成部１０４（エラー情報表示プログラム出力部１０８）は、JSP実行時にメモリ上にインスタンスされたクラスのオブジェクトとしてのエラー情報（項目チェック，関連チェック実行時に蓄積されたもの）内の全エラーメッセージ（図１２の５０２）を取得してユーザに表示するエラーメッセージ出力コードを、ＲＡＭ２０２内に保持されているコード７０３の７０３ｃに示した箇所に出力する。
【００８７】
次に、ステップＳ５０８において、プログラム生成部１０４（エラー情報表示プログラム出力部１０８）は、上記各エラー情報内の全エラー項目名（図１２の５０１）を取得して、該エラー項目名に対応する全フィールド（即ち、エラーの原因となった全フィールド）の色を変更表示するエラーフィールド表示処理コード（例えば、エラー項目が「日付」の場合「document.myFORM.日付.style.backgroundColor='red';」のようなJava（登録商標）Scriptコード）を、ＲＡＭ２０２内に保持されているコード７０３の７０３ａに示した箇所に出力する。なお、ここでは、エラーフィールドの背景色を変更する（例えば、「赤」に変更）場合について説明したが、エラーフィールドのエッジ部分の色を変更するように構成しても、エラーフィールド内の文字の色やフォントを変更するように構成しても、エラーフィールドの項目名の色やフォントを変更するように構成してもよい。即ち、エラーフィールドに対応する部分の表示形態を変更する。
【００８８】
次に、ステップＳ５０９において、プログラム生成部１０４（エラー情報表示プログラム出力部１０８）は、上述の全エラー項目のフィールド（例えば、エラー項目の先頭のフィールド）にカーソルを移動させるカーソル移動コード（例えば、エラー項目の先頭フィールドが「伝票番号」の場合「document.myFORM.伝票番号.focus();」のようなJava（登録商標）Scriptコード）を、ＲＡＭ２０２内に保持されているコード７０３の７０３ｂに示した箇所に出力する。
【００８９】
最後に、ステップＳ５１０において、プログラム生成部１０４は、予め設定されている業務処理を実行するコードを、ＲＡＭ２０２内に保持されているコード７０１の７０１ｃに示した箇所に出力する。
【００９０】
なお、最後に、プログラム生成部１０４は、以上の処理によりＲＡＭ２０２上に生成出力されたJava（登録商標）サーブレットコード（部品７０１から生成されたコード），HTMLコード（部品７０２から生成されたコード），JSPコード（部品７０３から生成されたコード）をそれぞれ外部メモリ２０４内にファイル形式で保存するように構成してもよい。
【００９１】
なお、本実施形態では、図２に示した外部メモリ２０４内に図７，図８に示したようなプログラムコード部品を格納しておき、該プログラムコード部品を用いてプログラムコードを生成する場合について説明したが、プログラムコード部品の形式で格納する代わりに、該プログラムコード部品に対応するコードを図６に示したフローチャートに対応するプログラム内に埋め込む形式であってもよい。
【００９２】
以上示したように、図１に示した各プログラム出力部１０５〜１０８は、プログラム１０９を生成する。
【００９３】
なお、本実施形態では、サーブレットでチェック処理を行い、ＪＳＰでエラー時の画面表示処理を行うプログラムコードを生成する場合について説明したが、項目間のエラーチェック，エラーメッセージ表示，フィールド色変更，カーソル移動の処理を、全てJava（登録商標）Scriptで行い、エラーのない場合にのみ、サーバで業務処理を行うプログラムコードを生成するように構成してもよい。
【００９４】
以下、図１３，図１４を参照して、本発明のプログラム生成装置により生成されたプログラムの処理の一例を説明する。
【００９５】
図１３は、本発明のプログラム生成装置により生成されたプログラムの処理の一例を示すフローチャートである。なお、図中、Ｓ１〜Ｓ１７は各ステップを示す。なお、この処理は、本発明のプログラム生成装置により生成された初期画面に対応するＨＴＭＬコードに基づいてクライアントのＷｅｂブラウザ上に表示された画面において処理ボタン（登録ボタン）が押下され、クライアントのＷｅｂブラウザから、プログラム生成装置により生成されたサーブレットプログラムを実行するサーバに、データが送信された際に処理が開始される。
【００９６】
サーブレット（サーバのＣＰＵにより実行される）は、ステップＳ１において、項目チェック処理を行い（定義タイプ、桁数、必須チェック等を行い）、項目チェックがＯＫであるか否かを判定する。
【００９７】
ステップＳ１で、サーブレットが、項目チェックがＯＫでないと判定した場合には、ステップＳ２において、当該項目の項目名，エラーメッセージをエラー情報に追加する。なお、項目チェックの場合、メッセージはチェック内容によって決める。例えば、項目「伝票番号」は定義タイプ「数値」であるので、入力値が「ABC」である時は、エラーメッセージの内容は「伝票番号は数値を入力してください。」とエラーメッセージをエラー情報に格納する。
【００９８】
そして、ステップＳ２の処理が終了すると、サーバは、ステップＳ３に処理を遷移させる。
【００９９】
一方、ステップＳ１で、サーブレットが、項目チェックがＯＫと判定した場合には、そのままステップＳ３に処理を遷移させる。
【０１００】
次に、ステップＳ３において、サーブレットは、全ての項目について項目チェック処理が終了したか否かを判定し、まだ、全ての項目について項目チェック処理が終了していないと判定した場合には、ステップＳ１に処理を戻し、次の項目の処理に遷移する。
【０１０１】
一方、ステップＳ３で、サーブレットが、全ての項目について項目チェック処理が終了したと判定した場合には、ステップＳ４に処理を遷移させる。
【０１０２】
次に、ステップＳ４において、サーブレットは、関連チェック処理を行い、関連チェックがＯＫであるか否かを判定する。
【０１０３】
ステップＳ４で、サーブレットが、関連チェックがＯＫでないと判定した場合には、ステップＳ５，Ｓ６において、サーブレットは、当該関連チェックに使用した項目名を全て抽出する。次に、ステップＳ７において、サーブレットは、ステップＳ５，Ｓ６で抽出した全項目名、対応するエラーメッセージをエラー情報に追加する。例えば、目「日付」の入力値が「2005/6/10」で、項目「納品日」が「2005/6/9」の場合、関連チェック項目である「日付チェック」の計算式「日付＜=納品日」の計算を満たさないため、エラーと判断する。そして、計算式に含まれている項目、「日付」「納品日」２つの項目をエラー情報として格納する。このように、計算式からユーザが修正するべきフィールドを導き出すことが可能となる。
【０１０４】
そして、ステップＳ７の処理が終了すると、サーバは、ステップＳ８に処理を遷移させる。
【０１０５】
一方、ステップＳ４で、サーブレットが、関連チェックがＯＫと判定した場合には、そのままステップＳ８に処理を遷移させる。
【０１０６】
次に、ステップＳ８において、サーブレットは、全ての関連チェック処理が終了したか否かを判定し、まだ、全ての関連チェック処理が終了していないと判定した場合には、ステップＳ４に処理を戻し、次の関連チェック処理に遷移する。
【０１０７】
一方、ステップＳ８で、サーブレットが、全ての関連チェック処理が終了したと判定した場合には、ステップＳ９に処理を遷移させる。
【０１０８】
次に、ステップＳ９において、サーブレットは、エラー情報があったか否かを判定し、エラー情報がなかったと判定した場合には、ステップＳ１０に処理を遷移させて、業務処理を実行して、処理を終了する。
【０１０９】
一方、ステップＳ９で、サーブレットが、エラー情報があったと判定した場合には、ＪＳＰを呼び出し、ステップＳ１１に処理を遷移させる。
【０１１０】
ステップＳ１１〜Ｓ１３において、ＪＳＰ（サーバのＣＰＵにより実行される）は、全てのエラー情報からメッセージを抽出し、該抽出した全てのエラーメッセージをクライアントのＷｅｂブラウザに送信する。これにより、クライアントのＷｅｂブラウザは、エラーメッセージを図１４の１４０１に示すように表示する。
【０１１１】
ステップＳ１４〜Ｓ１６において、ＪＳＰは、全てのエラー情報からエラー項目名を抽出し、該抽出した全てのエラー項目名に対応するクライアント画面上のフィールドの背景色を変更、エッジの色を変更、または文字色を変更、あるいはフォントを変更する（即ち、項目の表示形態を変更する）ような、Java（登録商標）Scriptコードを含むＨＴＭＬコードを生成して、クライアントのＷｅｂブラウザに送信する。これにより、クライアントのＷｅｂブラウザは、エラー項目に対応するクフィールドの表示形態を図１４の１４０２〜１４０４に示すように変更する。
【０１１２】
次に、ステップＳ１７において、ＪＳＰは、ユーザが訂正すべき入力項目にカーソルを移動させなくてもよいように、エラー情報のフィールド（例えば、エラー項目の先頭の項目）にカーソルを移動させるような、Java（登録商標）Scriptコードを含むＨＴＭＬコードを生成して、クライアントのＷｅｂブラウザに送信し、処理を終了する。これにより、クライアントのＷｅｂブラウザは、エラー項目に対応するクフィールドの表示形態を図１４の１４０２〜１４０４に示すように変更する。
【０１１３】
以上示したように、画面から複数の項目の情報を入力させて業務処理を実行するプログラムを自動生成するための各種定義情報（即ち、プログラム作成内容）を指定する際、エラーの原因となる複数の項目が関連する場合の関連する項目間のチェック内容，関連エラー時にガイドとなるメッセージ等を、図３に示した入力画面項目定義テーブル１０２（特に、計算式３０７），図４に示したメッセージテーブル１０３に示すように、テーブル形式で簡単に指定でき、このような簡単なプログラム作成内容の指定を行うだけで、画面から複数の項目の情報を入力させて所定の処理を実行するプログラムであって複数の項目が関連する項目間の関連チェック，該関連チェックに対応するエラーメッセージの一斉表示，エラー項目の一斉表示（エラー項目の表示形態変更），エラー項目への自動カーソル移動等の各種機能を備えたプログラムのコードを、自動で（ユーザによる手作業のコーディングをすることなく）生成することができる仕組を提供することができる。
【０１１４】
図１４は、図１３に示したプログラム実行時にクライアントのＷｅｂブラウザ上に表示される画面の一例を示す図である。
【０１１５】
図１４に示す画面は、本発明のプログラム生成装置により生成されたプログラム実行時に、「伝票番号」が未入力，「納品日」が「日付」以前であり、エラーメッセージ１４０１が表示され、エラーに関連する項目「伝票番号」１４０２，「日付」１４０３，「納品日」１４０４のフィールドの背景色が変更され、エラー項目「伝票番号」１４０２にカーソルが移動された結果の画面に対応する。
【０１１６】
なお、本実施形態では、本発明のプログラム生成装置は、一つの画面の中での関連項目チェックを行うコードを生成する構成について説明したが、複数画面にまたがる関連項目チェックについても同様に行うことが可能である。
【０１１７】
例えば、伝票に入力する項目が一画面に入らない場合、画面Ａ，Ｂ，Ｃに分けることがある。この場合、各画面にユーザが入力した項目値をメモリ上の画面共通項目エリアに保存し、画面共通項目エリア上の項目値間の関連チェックをするようにサーブレットプログラムコードを生成する構成とする。
【０１１８】
そして、関連チェックでエラーとなった場合、エラー入力項目の存在する画面を表示し、画面共通項目エリアにからユーザが入力した項目値を画面に表示し、カーソル移動させ、エラーメッセージを画面に表示しユーザに入力を促すようなＪＳＰコードを生成する構成とする。
【０１１９】
また、エラー項目が複数の画面に存在する場合は、エラーが複数画面あることをユーザに示し、いずれかの画面を選択させ、該選択された画面を表示し、カーソルを移動させる、あるいは、チェック項目の順序によって表示する画面を決定し、カーソルを移動させるようなＪＳＰコードを生成する構成とする。
【０１２０】
以上のような構成により、本発明のプログラム生成装置は、複数画面にまたがる関連項目チェックを実行可能なプログラムコードを生成することができる。
【０１２１】
なお、上記実施形態では、Java（登録商標）のコードを生成する場合について説明したが、どのようなプログラム言語のコードであってもよい。
【０１２２】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０１２３】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１２４】
以下、図１５に示すメモリマップを参照して本発明に係るプログラム生成装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１２５】
図１５は、本発明に係るプログラム生成装置で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【０１２６】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１２７】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１２８】
本実施形態における図５，図６に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１２９】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１３０】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１３１】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０１３２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３３】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３４】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１３５】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１３６】
なお、上記実施形態内の各変形例を組み合わせた構成も全て本発明に含まれるものである。
【図面の簡単な説明】
【０１３７】
【図１】本発明の一実施形態を示すプログラム生成装置を適用可能なシステムの全体構造を示す図である。
【図２】図１に示したプログラム生成装置を実施可能な情報処理装置のハードウエア構成の一例を示すブロック図である。
【図３】図１に示した入力画面項目定義テーブルのデータ構造を示すデータ構成図である。
【図４】図１に示したメッセージテーブルの構成を示すデータ構成図である。
【図５】本発明のプログラム生成装置における第１の制御処理手順の一例を示すフローチャートである。
【図６】本発明のプログラム生成装置における第２の制御処理手順の一例を示すフローチャートである。
【図７Ａ】本発明のプログラム生成装置におけるプログラム生成手順を説明するためのプログラムコード部品の一例を示す図である。
【図７Ｂ】本発明のプログラム生成装置におけるプログラム生成手順を説明するためのプログラムコード部品の一例を示す図である。
【図８】本発明のプログラム生成装置におけるプログラム生成手順を説明するためのプログラムコード部品の一例を示す図である。
【図９】図６に示したフローチャートの処理で生成過程のプログラムコードの一例を示す図である
【図１０】図６に示した関連チェックコード出力処理により出力される関連チェックコードによる処理の一例を示したフローチャートである。
【図１１】図６に示した関連チェックコード出力処理により出力される関連チェックコードの一例を示す図である。
【図１２】図６に示した関連チェックコード生成処理で生成されたプログラムの実行時にメモリ内で保持管理されるエラー情報の一例を示す図である。
【図１３Ａ】本発明のプログラム生成装置により生成されたプログラムの処理の一例を示すフローチャートである。
【図１３Ｂ】本発明のプログラム生成装置により生成されたプログラムの処理の一例を示すフローチャートである。
【図１４】図１３に示したプログラム実行時にクライアントのＷｅｂブラウザ上に表示される画面の一例を示す図である。
【図１５】本発明に係るプログラム生成装置で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【符号の説明】
【０１３８】
１００    画面項目管理部
１０１    画面構成情報
１０２    入力画面項目定義テーブル
１０３    メッセージテーブル
１０４    プログラム生成部
１０５    画面表示プログラム出力部
１０６    項目チェックプログラム出力部
１０７    関連チェックプログラム出力部
１０８    エラー情報表示プログラム出力部
１０９    プログラム
【図１】
2007041676.tif 000003
【図２】
2007041676.tif 000004
【図３】
2007041676.tif 000005
【図４】
2007041676.tif 000006
【図５】
2007041676.tif 000007
【図６】
2007041676.tif 000008
【図７Ａ】
2007041676.tif 000009
【図７Ｂ】
2007041676.tif 000010
【図８】
2007041676.tif 000011
【図９】
2007041676.tif 000012
【図１０】
2007041676.tif 000013
【図１１】
2007041676.tif 000014
【図１２】
2007041676.tif 000015
【図１３Ａ】
2007041676.tif 000016
【図１３Ｂ】
2007041676.tif 000017
【図１４】
2007041676.tif 000018
【図１５】
2007041676.tif 000019