(57)【要約】【課題】  類似する画面レイアウトに対して、１つ１つ画面の開発を行う必要があった。また、作成した画面に対して、項目の追加等の変更を反映する際に、全画面に対して同じ修正を加える必要があった。合わせて、画面項目に対応する業務ロジックの作成・変更が必要であった。【解決手段】  種別毎に画面項目の表示位置や名称、チェック内容を定義したパラメータを設定し、パラメータの取得結果に応じて、動的にＨＴＭＬを生成するＪＳＰを準備する。合わせて、DBのカラムを目的に応じてサイズ調整するパラメータを設定し、画面表示のパラメータとDBカラム制御のパラメータを組み合わせて情報の登録を行う処理を準備する。【選択図】  図１
2008269515.tif 000002
【特許請求の範囲】
【請求項１】
利用者の利用する利用者端末の表示画面の画面レイアウトを生成するパラメータによる画面レイアウト動的生成方法において、
予め前記利用者端末の画面に表示される内容の種別毎に、当該画面の項目に関する画面表示パラメータを、記憶装置に記憶しておき、
前記利用者から前記利用者端末を介して、前記表示画面への表示内容に関するkey情報の入力を受付け、
受付けられた前記key情報に対応する画面表示パラメータを前記記憶装置から検索し、
検索された前記画面表示パラメータに従って画面レイアウトを生成することを特徴とするパラメータによる画面レイアウト動的生成方法。
【請求項２】
請求項１に記載のパラメータによる画面レイアウト動的生成方法において、
前記key情報は、前記画面に表示する書類の識別番号であることを特徴とするパラメータによる画面レイアウト動的生成方法。
【請求項３】
請求項２に記載のパラメータによる画面レイアウト動的生成方法において、
前記書類は契約書であり、前記key情報は前記契約書の契約番号であることを特徴とするパラメータによる画面レイアウト動的生成方法。
【請求項４】
請求項１乃至３のいずれかに記載のパラメータによる画面レイアウト動的生成方法において、
前記表示画面は、数値の入力を受付けるカラムを有し、
前記画面生成パラメータには、前記key情報に対応し、前記カラムの大きさを規定するDBカラム制御パラメータが含まれ、
前記画面レイアウトの生成は、前記DBカラム制御パラメータにより規定される大きさのカラムを有する画面を生成することを特徴とするパラメータによる画面レイアウト動的生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータを利用した表示画面の開発技術に関する。その中でも特に、いわゆるWebシステムにおける画面開発方法、及び作成した画面に対する業務ロジックの開発技術に関する。
【背景技術】
【０００２】
従来のWEB画面を含む画面開発では、HTML技術やJSP技術をもとに、各画面に必要な項目を、決められた位置に、１項目１項目定義して開発していた。その為、ある画面と別のある画面の項目が少しだけ異なるような画面であっても、それぞれを別画面として１項目１項目定義して画面を開発していた。つまり、画面数分HTML、またはJSPのソースコードを記述していた。用途によって要・不要な項目を全て包括したレイアウトの画面を１つ作成したとしても、項目の表示・非表示を制御するプログラムを個別に開発していた。
【０００３】
また、画面のレイアウトに対する開発以外に、画面に入力した内容をテーブルアクセスする処理（データの登録・変更等）する処理についても、画面項目に依存する為、画面数に比例してプログラムを行う必要があった。
【０００４】
そのため、特許文献１においては、画面レイアウトを設計する際に項目属性を、項目に対応するパラメータとこのパラメータのフィールドとを指定し、このパラメータに項目名・項目属性位置・項目属性情報を付加したものである。
【０００５】
【特許文献１】特開昭６２−１６０５７０
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１などでは、以下の問題点があった。
（１）類似する画面レイアウトに対しても、１つ１つ画面の開発を行う必要があった。
（２）作成した画面に対して、項目の追加・削除、文言の変更等、変更を反映する際に、レイアウトが類似する画面全てに対して同じ修正を加える必要があった。
【０００７】
特に、特許文献１ではさらに以下の問題があった。
（３）個々の画面に対応する業務ロジックの開発を行う必要があった。
（４）レイアウトの変更が発生した画面に対して、業務ロジックも修正を加える必要があった。（５）項目の属性定義を変更することに特化しており、画面の項目に情報の初期表示を行うことが出来ないという問題があった。
（６）作成されていない画面（新規開発画面）に対して、属性の定義が出来ない問題があった。
【０００８】
本発明の目的は、上記課題を解決する為の、WEBシステム開発を含む画面開発の手段を提供することである。
【課題を解決するための手段】
【０００９】
上記の課題を解決すために、本発明では、その種別毎に画面項目の表示位置や名称、チェック内容を定義した画面表示パラメータを設定し、この画面表示パラメータの取得結果に応じて、動的にＨＴＭＬを生成するものである。また、DBのカラム(例えば、表示の際カラム)を目的に応じてサイズ調整するDBカラム制御パラメータを設定してもよい。さらに、この画面表示パラメータとDBカラム制御パラメータを組み合わせて情報の登録を行ってよい。
【００１０】
すなわち、本発明では、予めkey情報と画面レイアウトを定義する画面表示パラメータを対応付けて記憶しておき、利用者からkey情報の入力を受付け、対応する画面表示パラメータを特定する。そして、特定された画面表示パラメータに基づいた画面表示を行う。なお、利用者は、key情報の代わりに、当該画面で利用する「書類（契約書、明細書、仕様書などを含む）」などのす別の入力を受付けてもよい。さらに、書類の種別を使用しているアプリケーションプログラムが検知し、これに基づいて画面表示パラメータを検索してもよい。このことにより、必要としている書類に対応した画面表示が可能になる。さらに、key情報として、契約番号など書類を特定する情報を用いてもよい。
【００１１】
より詳細には、本発明は、以下の態様を含む。
上記課題を解決するためには、図１に示す構成要素１から構成要素３からなるコンピュータシステムを用いる。
（１）構成要素１は、実際の利用者が各種情報を照会・入力する為の画面を表示する入出力装置(ディスプレイ)である。
（２）構成要素２は、入出力装置とネットワーク接続されたAPサーバである。APサーバ内にWEBサーバも構築されている。
（３）構成要素３は、各種情報を格納しているDBサーバである。
構成要素１から構成要素３からなるコンピュータシステムに対して、「画面表示時」と「情報登録時」に、各々下記の構成で、下記の動作を行う「パラメータによる画面レイアウト動的生成システム」を用いればよい。
【００１２】
画面表示時
コンピュータシステムであって、入出力装置(ディスプレイ)、画面レイアウト詳細編集処理から構成されるクライアントマシン、イベント振分け処理、画面レイアウト生成処理から構成されるWEBサーバ、TABLEレイアウト制御パラメータ取得処理、画面表示データ取得処理、データ分割処理、画面レイアウト制御パラメータ取得処理から構成されるAPサーバ、及びTABLEレイアウト制御パラメータ、契約情報DB(業務DB)、画面レイアウト制御パラメータから構成されるDBサーバからなり、それらが下記に示す動作をする「パラメータによる画面レイアウト動的生成システム（表示）」を用いる。「パラメータによる画面レイアウト動的生成システム（表示）」の概要を図２に示す。
【００１３】
（４）構成要素４は、実際の利用者が各種情報を照会・入力する為の画面を表示する入出力装置である。
【００１４】
（５）構成要素５は、「入出力装置(ディスプレイ)」から画面の入力内容と共に送信される機能番号を基に、画面から送信された情報に対して、SESSION情報として確保し、該当機能が使用可能な状態であるか判定を行う。使用可能状態であれば、該当機能に応じたプログラムを選択し起動する共通処理である。
【００１５】
（６）構成要素６は、TABLEのカラム分割内容を定義した「TABLEレイアウト制御パラメータ」を取得する処理である。
【００１６】
（７）構成要素７は、テーブルの項目を細分化し、任意の項目として使用する為の、項目ＩＤや名称、開始位置、桁数を定義したパラメータテーブルである。
【００１７】
（８）構成要素８は、次画面に初期表示する為、現状の契約情報を取得する処理である。
【００１８】
（９）構成要素９は、次画面に初期表示する為の情報が格納された業務DBである。
【００１９】
（１０）構成要素１０は、「画面表示データ取得処理」で取得した契約情報は、複数の情報が一連した情報となっている為、そのままでは内容が把握できない為、「TABLEレイアウト制御パラメータ取得処理」で取得したパラメータの内容で分割し、意味のある情報とする処理である。
【００２０】
（１１）構成要素１１は、画面レイアウトを動的に生成する為、「画面レイアウト制御パラメータ」を取得する処理である。
【００２１】
（１２）構成要素１２は、画面レイアウトを動的生成する為の、画面に表示する対象項目の項目IDや表示位置、属性等を定義したパラメータテーブルである。
【００２２】
（１３）構成要素１３は、画面レイアウト制御パラメータの内容、データ分割した情報の内容を取得し、次画面に表示する画面レイアウトを生成する処理である。
【００２３】
（１４）構成要素１４は、動的生成した画面を表示する為の入出力装置である。
【００２４】
（１５）構成要素１５は、画面レイアウト生成処理では編集できない詳細レイアウト編集処理を行う、画面レイアウト詳細編集処理である。
【００２５】
情報登録時
情報登録時においては、入出力装置(ディスプレイ)、入力チェックチェック処理から構成されるクライアントマシン、イベント振分け処理から構成されるWEBサーバ、入力チェックチェック処理、登録対象データ取得処理、TABLEレイアウト制御パラメータ取得処理、登録データ組み立て処理、データ登録処理から構成されるAPサーバ、及び契約情報DB(業務DB)、TABLEレイアウト制御パラメータ構成されるDBサーバからなり、それらが下記（４）に示す動作をする「パラメータによる画面レイアウト動的生成システム（登録）」を用いる。「パラメータによる画面レイアウト動的生成システム（登録）」の概要を図１０に示す。
【００２６】
（１６）構成要素４４は、動的に生成された画面を表示している入出力装置である。
【００２７】
（１７）構成要素４５は、入出力装置に入力した情報に対して、画面表示時の「画面レイアウト詳細編集処理」と同様に、隠し項目に設定されたチェック用情報をもとにチェック処理行う処理である。
【００２８】
（１８）構成要素４６は、イベント振り分け処理で（５）と同様である。
【００２９】
（１９）構成要素４７は、「入力チェック処理１」では出来ないDBアクセスを伴うチェック（データの存在チェック等）、サーバ側で行うチェック処理である。
【００３０】
（２０）構成要素４８は、表示時の「画面表示データ取得処理」と同様であり、今回変更対象のデータとしたを取得する処理である。
【００３１】
（２１）構成要素４９は、（８）と同様である。
（２２）構成要素５０は、（６）と同様である。
（２３）構成要素５１は、（７）と同様である。
【００３２】
（２４）構成要素５２は、画面に入力した情報の変更内容を、「TABLEレイアウト制御パラメータ取得処理」で取得したパラメータの内容で所定の位置に当てはめる処理である。
【００３３】
（２５）構成要素５３は、「登録データ組み立て処理」で組み立てた内容を登録する処理である。
（２６）構成要素５４は、（９）と同様である。
【発明の効果】
【００３４】
画面開発時、及び画面レイアウトの変更時に、個別に画面定義を修正する必要がなくパラメータの設定値を追加・変更するだけで画面開発が出来る。また、画面レイアウトに対応する業務処理（チェックや登録処理等）も個別に業務処理を開発・修正を行う必要がなく、パラメータ設定のみで対応出来る為、生産性・品質の向上を図ることが出来る。
【発明を実施するための最良の形態】
【００３５】
（概要）
本発明は、画面を「表示する」際に、レイアウトを動的に生成した上で、必要なデータを初期表示する処理と、画面に入力した値を「登録する」処理と、大きく２種類に分けられる。それぞれについて説明する。
【００３６】
（画面表示時）
画面を表示するにあたり、仮に契約を取り扱う機能を考えた場合、契約の内容は各企業で約款として定義される。それぞれの契約(約款)により必要とする情報が異なる為、契約の情報を入力する画面の項目(レイアウト)が異なる。このような場合レイアウトの定義を分別する為のKeyが契約の種類(約款)となる。今回の例では、契約情報の変更処理を想定する。まず図２に示す「入出力装置(ディスプレイ)」にて、変更する対象の契約情報を選択する。契約情報は、それぞれの契約(約款)が必要とする情報(契約の種類や契約期間等)で、契約番号で一意に管理される。
【００３７】
今回、変更目的で選択した契約情報は契約番号が「00000001」、契約の種類(約款)が「契約Ａ」の情報を選択したこととする。
【００３８】
図２に示す「入出力装置(ディスプレイ)」にて、変更対象の契約情報を選択することで、図２に示す「イベント振分け処理」は「入出力装置(ディスプレイ)」から画面の入力内容と共に送信される機能番号を基に、画面から送信された情報に対して、SESSION情報として確保し、該当機能が使用可能な状態であるか判定を行う。使用可能状態であれば、該当機能に応じたプログラムを選択し起動する共通処理である。
【００３９】
図２に示す「イベント振分け処理」より起動される「TABLEレイアウト制御パラメータ取得処理」は、TABLEのカラム分割内容を定義した「TABLEレイアウト制御パラメータ」を取得する処理である。「TABLEレイアウト制御パラメータ」は、図３に示すレイアウト構成のパラメータTABLEであり、Key情報が「種別」となっている。理論上、開始位置さえあれば、計算で桁数を算出することが出来るが、両方の項目を保持しているのは、定義する情報の桁数に応じて、開始位置を明確にする為である。例えば、契約の情報において、契約時に定める契約値は０バイト目〜９９９バイト目まで、プログラム制御に使用するのは１０００バイト目〜１５００バイト目まで、というような定義を行い、管理の容易性を確保する為である。この時、実際の定義が５００バイトしか使用しなかった場合に、計算で算出すると本来、数バイトしか使用しないエリアに対して、４９９バイト割り当てられてしまうことを防ぐ為に「開始位置」「桁数」を保持する。但し、パラメータ設定時には各項目の開始位置から計算して「桁数」を初期設定し、「開始位置」「桁数」の関連をチェックすることで、パラメータ設定ミスを防ぐものとする。
【００４０】
本実施の形態では、「入出力装置(ディスプレイ)」より選択された「契約Ａ」をもとに検索し、項目ＩＤや名称、開始位置、桁数を取得する。
【００４１】
図２に示す「画面表示データ取得処理」は、契約情報を変更するため、現状の契約情報を取得する処理である。現状の契約情報は最終的に、変更画面に初期表示されシステム使用者がその情報を変更する。契約情報は図４に示すＤＢであり、Key情報が「契約番号」となっている。今回は「入出力装置(ディスプレイ)」より選択された「00000001」の契約番号をもとに検索し、契約情報を取得する。
【００４２】
図２に示す「データ分割処理」は、「画面表示データ取得処理」で取得した契約情報は、複数の情報が一連した情報となっている為、そのままでは内容が把握できない為、「TABLEレイアウト制御パラメータ取得処理」で取得したパラメータの内容で分割し、意味のある情報とする処理である。
【００４３】
分割処理を示す図５では、契約番号「00000001」の契約情報「200605011100555522501250・・・」を分割する処理を示している。左記契約情報だけでは何の情報か把握できないが、「TABLEレイアウト制御パラメータ」の内容と合わせて使用する。「TABLEレイアウト制御パラメータ」の取得内容では、１バイト目から８バイトの情報は「契約開始日」を指しており、「DATE」という名称で扱うことを指す。契約情報の１バイト目から８バイトは「20060511」でありこの値が「契約開始日」となる。データ分割処理は、「TABLEレイアウト制御パラメータ」の取得レコード数分処理を繰り返す。分割はサブストリング関数を用いて行う。
【００４４】
図２に示す「画面レイアウト制御パラメータ取得処理」は、画面レイアウトを動的に生成する為、「画面レイアウト制御パラメータ」を取得する処理である。「画面レイアウト制御パラメータ」は図６に示すレイアウト構成のパラメータTABLEであり、属性チェックに使用する「最大桁」の項目は、「TABLEレイアウト制御パラメータ」の対応する項目の「桁数」を設定する。「最大桁」は生成した項目に入力した値を登録する際の属性チェックに使用する項目であるが、これは「TABLEレイアウト制御パラメータ」の対応する項目の「桁数」を超えた桁数を画面で入力された場合、エリア破壊を発生させてしまうことを防ぐ為の配慮である。
【００４５】
今回の例は、画面でKey情報が「種別」となっている。「入出力装置(ディスプレイ)」より選択された「契約Ａ」をもとに「TABLEレイアウト制御パラメータ」と「項目ID」で結合して「画面レイアウト制御パラメータ」を検索し画面に表示する対象項目の項目IDや表示位置、属性等を取得する。結合するのは動的に生成した項目の登録先は、項目IDをもとに、「TABLEレイアウト制御パラメータ」に定義している位置を考慮して契約情報ＤＢに登録する為、項目IDの不一致を発生させない為である。
【００４６】
図２に示す「画面レイアウト生成処理」は、「画面レイアウト制御パラメータ取得処理」で取得したパラメータ情報をもとに、画面レイアウトを生成する処理である。レイアウトを動的に生成する為、図７に示す動的にレイアウトを生成する、レイアウト雛形をJSPで定義する。雛形は、「画面レイアウト制御パラメータ」で取得する、表示名等の各種情報を配置するフィールドを定義してあり、取得した結果の数だけ可変で繰り返して表示できるよう定義する。今回の例は、表示位置Ａに出力する項目は、「画面レイアウト制御パラメータ」には「契約開始日」「年間使用量」、表示位置Ｂに出力する項目に「最大使用量」「最小使用量」が定義されている。雛形であるJSPがこれらのレコードを参照し、取得したレコード数分、項目を繰り返し生成する（例の場合はそれぞれ２レコードずつ）。項目名には、項目IDを割り当てることで、データ分割処理で分割した契約情報のそれぞれのデータと紐付け、図８に示すレイアウト(HTML)を生成し、「入出力装置(ディスプレイ)」に送信する。
【００４７】
図２に示す、「画面レイアウト詳細編集処理」は、JSPでHTMLを生成する際に、制御できない、テキストの背景色変更等、編集処理を行う処理である。「画面レイアウト生成処理」で、この「画面レイアウト詳細編集処理」で行う編集内容を判定する為のフラグを隠し項目に設定しておく。例の場合、「画面レイアウト制御パラメータ」に定義した「必須」項目が「ReadOnly」の場合、「画面レイアウト生成処理」で、画面レイアウトの隠し項目に「ReadOnly」を示すフラグを隠し項目に設定した画面レイアウトを生成する。送信した画面レイアウトに対して、onload処理で起動する「画面レイアウト詳細編集処理」は、隠し項目の「必須」項目に設定された内容が「ReadOnly」の場合、項目をReadOnlyで背景色を灰色にし、図９に示すレイアウトに編集する。
（情報登録時）
図１０に示す「入出力装置(ディスプレイ)」にて、契約情報の変更を行う。変更入力の完了に伴い、登録ボタンを押下する。
【００４８】
図１０に示す「入出力装置(ディスプレイ)」のボタン押下に伴い、onclickイベントで起動する「入力チェック処理１」が起動する。「入力チェック処理」は、画面表示時の「画面レイアウト詳細編集処理」と同様に、隠し項目に設定されたチェック用情報をもとにチェック処理行う。例えば、「画面レイアウト制御パラメータ」の「年間使用量」項目は、属性が「NUMERIC」、最大桁が「8」、最小桁が「1」と定義されている。これらの情報が図１１に示すように、隠し項目として設定されている為、「入力チェック処理」では、「入出力装置(ディスプレイ)」より入力された「年間使用量」の項目に対して、文字が入力されていた場合は、隠し項目の内容が「NUMERIC」となっている為、エラーとする。また、桁数についても入力された桁数が「9」の場合、隠し項目の内容「8」とを比較し、最大桁を超えていた場合エラーとする。最小桁も同様である。
【００４９】
図１０に示す「イベント振分け処理」は共通処理の為、画面表示時と同様である。
図１０に示す「入力チェック処理２」は、「入力チェック処理１」がクライアント側で行っている処理である為、「入力チェック処理１」では出来ないデータの存在チェック等、サーバ側で行うチェック処理である。尚、「入力チェック処理１」で行っている内容は全てサーバ側のプログラムを開発することで「入力チェック処理２」に含めることも出来る。
【００５０】
図１０に示す「登録対象データ取得処理」は、表示時の「画面表示データ取得処理」と同様であり、今回変更対象のデータとした契約情報を取得する処理である。今回変更対象とした契約情報は、契約番号が「00000001」のデータである為、「00000001」の契約番号をもとに契約情報ＤＢを検索し、対象契約情報を取得する。
【００５１】
図１０に示す「TABLEレイアウト制御パラメータ取得処理」は、表示時の「TABLEレイアウト制御パラメータ取得処理」と同様である。今回変更対象とした契約情報は、契約種別が「契約Ａ」のデータである為、「契約Ａ」の情報をもとに「TABLEレイアウト制御パラメータ」を取得する処理である。
【００５２】
図１０に示す「登録データ組み立て処理」は、画面に入力した契約情報の変更内容を、「TABLEレイアウト制御パラメータ取得処理」で取得したパラメータの内容で所定の位置に当てはめる処理である。図１２に示す例の場合、画面の年間使用量項目は、画面レイアウト制御パラメータに定義した「項目ID」の名称を付与して生成されている為、「NEN_SIYORYO」で扱われる。「NEN_SIYORYO」の項目IDは、「TABLEレイアウト制御パラメータ」では、９バイト目から８バイトのエリアに格納するよう定義されている為、「登録対象データ取得処理」で取得した契約情報の９バイト目から８バイトのエリアに画面の入力内容「11225500」を当てはめる。このように、画面項目数分、サブストリング関数を用いて、画面の内容を「登録対象データ取得処理」で取得した契約情報の「TABLEレイアウト制御パラメータ」に定義されている位置に当てはめる。ここで「当てはめる」とは、記憶媒体やメモリなどの所定位置に情報（データ）を格納することである。
【００５３】
図１０に示す「データ登録処理」は、「登録データ組み立て処理」で組み立てた契約情報を、UPDATE文で上書きする処理である。
（本実施の形態によるイメージ）
従来の問題点を解決する為、システム開発者は、それぞれの契約で必要な項目を洗い出し、項目名や属性、入力必須区分や画面レイアウト上の配置位置等の、必要なパラメータを設定する。後はシステムが画面生成時にパラメータを読み込みレイアウトを生成するだけとなる。業務処理も画面レイアウトを作成する為に必要なテーブルの定義を利用している為、画面レイアウトを生成するテーブルを設定することで業務処理を開発する必要がない。
【００５４】
実際の利用者は、個別に開発している画面かどうかの判断は出来ない。また、業務処理についても、実際の利用者は見た目に見えない部分の処理である為、使い勝手という意味では従来の開発方法と同様もしくはそれ以上となる。
【実施例１】
【００５５】
（発明の構成・動作）
（画面表示時）
画面を表示するにあたり、仮に契約を取り扱う機能を考えた場合、契約の内容は各企業で約款として定義される。それぞれの契約(約款)により必要とする情報が異なる為、契約の情報を入力する画面の項目(レイアウト)が異なる。このような場合レイアウトの定義を分別する為のKeyが契約の種類(約款)となる。本実施例では、契約情報の変更処理を想定する。まず図２に示す「入出力装置(ディスプレイ)」にて、変更する対象の契約情報を選択する。契約情報は、それぞれの契約(約款)が必要とする情報(契約の種類や契約期間等)で、契約番号で一意に管理される。今回、変更目的で選択した契約情報は契約番号が「00000001」、契約の種類(約款)が「契約Ａ」の情報を選択したこととする。
【００５６】
図２に示す「入出力装置(ディスプレイ)」にて、変更対象の契約情報を選択することで、図２に示す「イベント振分け処理」は「入出力装置(ディスプレイ)」から画面の入力内容と共に送信される機能番号を基に、画面から送信された情報に対して、SESSION情報として確保し、該当機能が使用可能な状態であるか判定を行う。使用可能状態であれば、該当機能に応じたプログラムを選択し起動する共通処理である。
【００５７】
図２に示す「イベント振分け処理」より起動される「TABLEレイアウト制御パラメータ取得処理」は、TABLEのカラム分割内容を定義した「TABLEレイアウト制御パラメータ」を取得する処理である。「TABLEレイアウト制御パラメータ」は、図３に示すレイアウト構成のパラメータTABLEであり、Key情報が「種別」となっている。今回は、「入出力装置(ディスプレイ)」より選択された「契約Ａ」をもとに検索し、項目ＩＤや名称、開始位置、桁数を取得する。
【００５８】
図２に示す「画面表示データ取得処理」は、契約情報を変更するため、現状の契約情報を取得する処理である。現状の契約情報は最終的に、変更画面に初期表示されシステム使用者がその情報を変更する。契約情報は図４に示すＤＢであり、Key情報が「契約番号」となっている。今回は「入出力装置(ディスプレイ)」より選択された「00000001」の契約番号をもとに検索し、契約情報を取得する。
【００５９】
図２に示す「データ分割処理」は、「画面表示データ取得処理」で取得した契約情報は、複数の情報が一連した情報となっている為、そのままでは内容が把握できない為、「TABLEレイアウト制御パラメータ取得処理」で取得したパラメータの内容で分割し、意味のある情報とする処理である。
【００６０】
分割処理を示す図５では、契約番号「00000001」の契約情報「200605011100555522501250・・・」を分割する処理を示している。左記契約情報だけでは何の情報か把握できないが、「TABLEレイアウト制御パラメータ」の内容と合わせて使用する。「TABLEレイアウト制御パラメータ」の取得内容では、１バイト目から８バイトの情報は「契約開始日」を指しており、「DATE」という名称で扱うことを指す。契約情報の１バイト目から８バイトは「20060511」でありこの値が「契約開始日」となる。データ分割処理は、「TABLEレイアウト制御パラメータ」の取得レコード数分処理を繰り返す。分割はサブストリング関数を用いて行う。
【００６１】
図２に示す「画面レイアウト制御パラメータ取得処理」は、画面レイアウトを動的に生成する為、「画面レイアウト制御パラメータ」を取得する処理である。「画面レイアウト制御パラメータ」は図６に示すレイアウト構成のパラメータTABLEであり、Key情報が「種別」となっている。今回は、「入出力装置(ディスプレイ)」より選択された「契約Ａ」をもとに「TABLEレイアウト制御パラメータ」と「項目ID」で結合して「画面レイアウト制御パラメータ」を検索し画面に表示する対象項目の項目IDや表示位置、属性等を取得する。結合するのは動的に生成した項目の登録先は、項目IDをもとに、「TABLEレイアウト制御パラメータ」に定義している位置を考慮して契約情報ＤＢに登録する為、項目IDの不一致を発生させない為である。
【００６２】
図２に示す「画面レイアウト生成処理」は、「画面レイアウト制御パラメータ取得処理」で取得したパラメータ情報をもとに、画面レイアウトを生成する処理である。レイアウトを動的に生成する為、図７に示す動的にレイアウトを生成する、レイアウト雛形をJSPで定義する。雛形は、「画面レイアウト制御パラメータ」で取得する、表示名等の各種情報を配置するフィールドを定義してあり、取得した結果の数だけ可変で繰り返して表示できるよう定義する。今回の例は、表示位置Ａに出力する項目は、「画面レイアウト制御パラメータ」には「契約開始日」「年間使用量」、表示位置Ｂに出力する項目に「最大使用量」「最小使用量」が定義されている。雛形であるJSPがこれらのレコードを参照し、取得したレコード数分、項目を繰り返し生成する（例の場合はそれぞれ２レコードずつ）。項目名には、項目IDを割り当てることで、データ分割処理で分割した契約情報のそれぞれのデータと紐付け（対応付け）、図８に示すレイアウト(HTML)を生成し、「入出力装置(ディスプレイ)」に送信する。
【００６３】
図２に示す、「画面レイアウト詳細編集処理」は、JSPでHTMLを生成する際に、制御できない、テキストの背景色変更等、編集処理を行う処理である。「画面レイアウト生成処理」で、この「画面レイアウト詳細編集処理」で行う編集内容を判定する為のフラグを隠し項目に設定しておく。例の場合、「画面レイアウト制御パラメータ」に定義した「必須」項目が「ReadOnly」の場合、「画面レイアウト生成処理」で、画面レイアウトの隠し項目に「ReadOnly」を示すフラグを隠し項目に設定した画面レイアウトを生成する。送信した画面レイアウトに対して、onload処理で起動する「画面レイアウト詳細編集処理」は、隠し項目の「必須」項目に設定された内容が「ReadOnly」の場合、項目をReadOnlyで背景色を灰色にし、図９に示すレイアウトに編集する。
【００６４】
（情報登録時）
図１０に示す「入出力装置(ディスプレイ)」にて、契約情報の変更を行う。変更入力の完了に伴い、登録ボタンを押下する。
【００６５】
図１０に示す「入出力装置(ディスプレイ)」のボタン押下に伴い、onclickイベントで起動する「入力チェック処理１」が起動する。「入力チェック処理」は、画面表示時の「画面レイアウト詳細編集処理」と同様に、隠し項目に設定されたチェック用情報をもとにチェック処理行う。例えば、「画面レイアウト制御パラメータ」の「年間使用量」項目は、属性が「NUMERIC」、最大桁が「8」、最小桁が「1」と定義されている。これらの情報が図１１に示すように、隠し項目として設定されている為、「入力チェック処理」では、「入出力装置(ディスプレイ)」より入力された「年間使用量」の項目に対して、文字が入力されていた場合は、隠し項目の内容が「NUMERIC」となっている為、エラーとする。また、桁数についても入力された桁数が「9」の場合、隠し項目の内容「8」とを比較し、最大桁を超えていた場合エラーとする。最小桁も同様である。
図１０に示す「イベント振分け処理」は共通処理の為、画面表示時と同様である。
【００６６】
図１０に示す「入力チェック処理２」は、「入力チェック処理１」がクライアント側で行っている処理である為、「入力チェック処理１」では出来ないデータの存在チェック等、サーバ側で行うチェック処理である。尚、「入力チェック処理１」で行っている内容は全てサーバ側のプログラムを開発することで「入力チェック処理２」に含めることも出来る。
【００６７】
図１０に示す「登録対象データ取得処理」は、表示時の「画面表示データ取得処理」と同様であり、今回変更対象のデータとした契約情報を取得する処理である。今回変更対象とした契約情報は、契約番号が「00000001」のデータである為、「00000001」の契約番号をもとに契約情報ＤＢを検索し、対象契約情報を取得する。
【００６８】
図１０に示す「TABLEレイアウト制御パラメータ取得処理」は、表示時の「TABLEレイアウト制御パラメータ取得処理」と同様である。今回変更対象とした契約情報は、契約種別が「契約Ａ」のデータである為、「契約Ａ」の情報をもとに「TABLEレイアウト制御パラメータ」を取得する処理である。
【００６９】
図１０に示す「登録データ組み立て処理」は、画面に入力した契約情報の変更内容を、「TABLEレイアウト制御パラメータ取得処理」で取得したパラメータの内容で所定の位置に当てはめる処理である。図１２に示す例の場合、画面の年間使用量項目は、画面レイアウト制御パラメータに定義した「項目ID」の名称を付与して生成されている為、「NEN_SIYORYO」で扱われる。「NEN_SIYORYO」の項目IDは、「TABLEレイアウト制御パラメータ」では、９バイト目から８バイトのエリアに格納するよう定義されている為、「登録対象データ取得処理」で取得した契約情報の９バイト目から８バイトのエリアに画面の入力内容「11225500」を当てはめる。このように、画面項目数分、サブストリング関数を用いて、画面の内容を「登録対象データ取得処理」で取得した契約情報の「TABLEレイアウト制御パラメータ」に定義されている位置に当てはめる。
【００７０】
図１０に示す「データ登録処理」は、「登録データ組み立て処理」で組み立てた（作成した）契約情報を、UPDATE文で上書きする処理である。
【産業上の利用可能性】
【００７１】
上記の実施の形態では、何らかの種別毎に画面表示内容が少しずつ異なり、また種別が恒久的なものでなく、経営活動を進める中で追加・変更される可能性が高いほど、個別開発を行う必要がない為、利用価値が高くなると考える。上記、何らかの種別として考えられるもの（例）は、以下の通りである。
【００７２】
（１）契約情報
現在、ある企業からユーザ（利用者）に提供される契約の種類は、ニーズに応じて多種多様な契約が用意されている。これらの契約は、契約の特徴に応じて定める項目が少しずつ異なり、また経営活動で契約の内容や種類の追加・変更が行われる可能性が高い。
【００７３】
（２）設備・機器情報
現在、ある企業がユーザ（利用者）にサービスを提供する為には、多種多様な設備・機器が必要である。設備・機器についてもそれぞれ管理すべき内容が少しずつ異なる場合が多く、より高性能な製品も随時開発・提供されることが考えられる。
【００７４】
（３）作業情報
現在、ある企業がユーザ（利用者）にサービスを提供する際に、人間がユーザ（利用者）、あるいは別の場所に赴き、作業（機器の設定等）を行う場合がある。これらの作業に対する作業指示や作業報告は、作業内容に応じて内容が少しずつ異なる場合が多く、今後の経営活動（サービス追加・変更）で追加・変更が行われる可能性が高い。
上記の例に示した通り、何らかの種別毎に内容が少しずつ異なり、今後の経営活動で追加・変更が考えられるものは多く存在している。これらに対して、個別に画面や業務処理を開発しているのであれば、開発コストの増大や開発期間の長期化に繋がる。本発明はこれらの特徴があるシステムに対して有効と考える。
【図面の簡単な説明】
【００７５】
【図１】画面レイアウト動的生成ハード構成
【図２】画面レイアウト動的生成システムの処理フロー（画面表示時）
【図３】TABLEレイアウト制御パラメータのテーブル概要図
【図４】画面に表示する為の情報を格納する契約情報DB(業務DB)のテーブル概要図
【図５】契約情報DB(業務DB)に対して、TABLEレイアウト制御パラメータの内容でデータを分割する、データ分割イメージ図
【図６】画面レイアウト制御パラメータのテーブル概要図
【図７】画面レイアウトを動的に生成する為のレイアウト雛形イメージ図
【図８】画面レイアウト制御パラメータの内容に応じて、JSPが生成した画面レイアウト（HTML）イメージ図
【図９】JSPが生成した画面レイアウト（HTML）を編集したイメージ図
【図１０】画面レイアウト動的生成システムの処理フロー（情報登録時）
【図１１】入力チェック１の処理概要図
【図１２】TABLEレイアウト制御パラメータと画面項目を組み立てて登録データを作成するイメージ図
【符号の説明】
【００７６】
１・・・入出力装置
２・・・ＡＰサーバ
３・・・ＤＢサーバ
４・・・入出力装置
５・・・イベント振分け処理
６・・・TABLEレイアウト制御パラメータ取得処理
７・・・TABLEレイアウト制御パラメータ
８・・・画面表示データ取得処理
９・・・契約情報ＤＢ(業務ＤＢ)
１０・・・データ分割処理
１１・・・画面レイアウト制御パラメータ取得処理
１２・・・画面レイアウト制御パラメータ
１３・・・画面レイアウト生成処理
１４・・・入出力装置
１５・・・画面レイアウト詳細編集処理
１６・・・種別定義カラム
１７・・・項目ＩＤ定義カラム
１８・・・名称定義カラム
１９・・・開始位置定義カラム
２０・・・桁数定義カラム
２１・・・契約番号定義カラム
２２・・・開始日定義カラム
２３・・・更新通番定義カラム
２４・・・終了日定義カラム
２５・・・契約情報定義カラム
２６・・・種別定義カラム
２７・・・表示名定義カラム
２８・・・項目ID定義カラム
２９・・・表示位置定義カラム
３０・・・表示順定義カラム
３１・・・必須区分定義カラム
３２・・・属性区分定義カラム
３３・・・最大桁定義カラム
３４・・・最小桁定義カラム
３５・・・動的画面レイアウト雛形（JSP）
３６・・・表示名表示エリア
３７・・・項目表示エリア(項目の名称に項目IDが付与される)
３８・・・必須区分エリア（隠し項目）
３９・・・属性区分エリア（隠し項目）
４０・・・最大桁エリア（隠し項目）
４１・・・最小桁エリア（隠し項目）
４２・・・生成レイアウトイメージ
４３・・・詳細編集後レイアウトイメージ
４４・・・入出力装置
４５・・・入力チェック処理
４６・・・イベント振分け処理
４７・・・入力チェック処理２
４８・・・登録対象データ取得処理
４９・・・契約情報DB(業務DB)
５０・・・TABLEレイアウト制御パラメータ取得処理
５１・・・TABLEレイアウト制御パラメータ
５２・・・登録データ組み立て処理
５３・・・データ登録処理
５４・・・契約情報DB(業務DB)
【図１】
2008269515.tif 000003
【図２】
2008269515.tif 000004
【図３】
2008269515.tif 000005
【図４】
2008269515.tif 000006
【図５】
2008269515.tif 000007
【図６】
2008269515.tif 000008
【図７】
2008269515.tif 000009
【図８】
2008269515.tif 000010
【図９】
2008269515.tif 000011
【図１０】
2008269515.tif 000012
【図１１】
2008269515.tif 000013
【図１２】
2008269515.tif 000014