(57)【要約】【課題】パッケージソフトの利用と自社開発が持つそれぞれの欠点を解決するためにシステム開発者に業務アプリケーションの開発を依頼することなく、ユーザ自身が開発及び保守を容易に行えるように業務アプリケーション開発技法を提供する。【解決手段】システム開発者が行うプログラムのコーディング作業である所のデータアクセス、画面・帳票の作成、入出力データの制御など主要な機能を汎用化した組み込みモジュールを提供すること、そしてあらゆる業種に適応可能なプロトタイプ（雛型）モデルをもとにユーザが自社業務にあった業務ルール、事務処理フローに合わせた要件をプロトタイプモデルに追加、変更していくだけで業務アプリケーションを開発できるようにしたことを特徴とする。【選択図】  図１
2010205190.tif 000002
【特許請求の範囲】
【請求項１】
業務アプリケーションを開発する際に、パッケージソフトの利用と自社開発が持つそれぞれの欠点を解決することを目的としてシステム開発者に業務アプリケーションの開発を依頼することなく、ユーザ自身が開発及び保守を容易に行えるようにするために、ユーザが使い慣れた表計算ソフトと汎用データベースソフトを使用して、業務アプリケーションを開発する手法として３階層アーキテクチャーにおいて、プレゼンテーション層ではユーザとコンピュータのインターフェースを、ビジネスロジック層では業務処理に関わる業務ルールを、データアクセス層では外部メディアや外部システムとのデータアクセスをユーザ自身が表計算ソフトの作業シートに処理内容を本発明の手順に沿って記述することでプログラムコーディングが不要な開発が実施できることを特徴とする開発技法。
【請求項２】
請求項１に記載の開発技法を実現するために、画面間の遷移をコントロールする移動コマンドボタン、データを保存または取得するためのデータベースへアクセスするDBアクセスコマンドボタン、外部システムとデータの授受を行う送受信コマンドボタンなどのアクションコマンドボタンから構成されるユーザ定義コマンドと、画面・帳票を生成するレイアウト作成ボタン、データベースのテーブルを生成するDB生成ボタン、ユーザ定義コマンドを生成するコマンド作成ボタンから構成されるベースコマンドと、計算式で使うアドイン関数から構成され、これらのコマンドとアドイン関数を実行するプログラムからなる組み込みモジュール。
【請求項３】
請求項１と請求項２に記載の内容を実際の業務に即した汎用的な構成要素を含んだログイン画面、メイン（メニュー）画面、一覧画面、詳細画面、帳票オーバレイを事務処理フローに沿って作成した業務アプリケーションモデルであり、ユーザのニーズに即したユーザ自らが開発・保守を可能にするために、入出力項目を含めた画面・帳票を生成する作業シート、業務ルールを定義した作業シート、外部メディアまたは外部システムとのインターフェースを定義した作業シート、バッチ処理を定義した作業シートで構成されたプロトタイプモデル。
【発明の詳細な説明】
【技術分野】
【０００１】
コンピュータを使用するユーザ自身が容易（プログラムのコーディング知識なし）に業務アプリケーションを開発及び保守ができる仕組みを提供するものである。
【背景技術】
【０００２】
従来、ユーザとシステム開発者の関係は、ユーザがシステム開発者にシステム化の要望を依頼して、システム開発者はその要望を達成するために業務アプリケーションの開発を行うという関係にあった。従って、システム開発者はユーザの依頼内容を十分に理解した上で、業務アプリケーションの3階層アーキテクチャー（プレゼンテーション層、ビジネスロジック層、データアクセス層）構造に基づいて、それぞれの層で実現すべき作業を定義し、連携することで業務アプリケーションを開発していた。
【０００３】
プレゼンテーション層では、画面の表示、画面間の遷移、ユーザが入力した内容をビジネスロジック層に受け渡す処理などを開発、ビジネスロジック層では、業務上のルールに沿って処理を開発、データアクセス層では、外部記録メディアからデータを取得する処理、外部記録メディアにデータを保存する処理、外部システムとのデータ授受に関する開発を行っていた。
【０００４】
尚、「ユーザ」とはコンピュータシステムを使って実際に業務を遂行する運用担当者やデータ入力を行うオペレータとは違い、ここでは特に業務ルール、社内の事務処理などの効率化に精通した業務担当者であり、業務のシステム化に際しシステム開発者に要望を提示する立場にある者をいう。「システム開発者」とはコンピュータを利用した開発もしくは保守業務を専門とする者のことを言い、一般的にはＳＥ（システムエンジニア）、プログラマなどが含まれる。
【０００５】
【特許文献１】特開２００６−３０９６９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来、業務アプリケーションを新規構築あるいは再構築する場合には、２つの方法が考えられた。ひとつはパッケージソフトを利用する方法であり、もうひとつは自社開発である。前者は自社業務に合わせたカスタマイズが必要となり、開発費用が安くなる反面、過度のカスタマイズはパッケージソフト自身に多大な影響を及ぼしかねない。また使用許諾権がシステム開発会社にあるため、保守を含めたサービスの低下など問題が生じる場合がある。後者はシステム開発会社が開発を受託するため、ユーザの要望に沿ったシステムが出来上がる反面、開発費用及び開発期間がかかるという欠点がある。どちらの方法においてもシステム開発者がユーザからの要望に応じて業務アプリケーションを開発しなければならなかった。つまりユーザはプログラムのコーディングという開発の核となる製造部分に関する専門技術及び知識がないため、システム開発者に任せるしかなかった。
【０００７】
そのため通常業務アプリケーションの開発には多大な開発費用と時間を要し、得てしてユーザの要望が期待通りシステム化されないでカットオーバー以降にトラブルが発生したりすることがしばしば見受けられた。これは業務アプリケーションが一度開発されてしまうと、安易に設計を変更できないことに起因する。もちろんシステム開発者は製造する前に要件定義書、設計書などのドキュメントをユーザに承認してもらっている訳であるが、ユーザもまた、そのドキュメントの不備まで精査できない実情がある。システム開発者は開発した業務アプリケーションが要件通り製造されたかテストして品質向上を図っているが、本番稼動においてしばしば予期せぬ問題が発覚したりする。その際システム開発者は問題箇所の修復のためプログラムを修正する必要がある。またシステムの運用が始まると業務ルールや外部要件の変更を行う場合、業務アプリケーションの保守が必要となる。この場合も開発時と同じように業務アプリケーションのメンテナンスに費用と時間がかかることになる。結局ユーザは期待通り満足いくシステムができないことに不満を抱くことになる。
【０００８】
本発明は、パッケージソフトの利用と自社開発が持つそれぞれの欠点を解決するためにシステム開発者に業務アプリケーションの開発を依頼することなく、ユーザ自身が開発及び保守を容易に行えるように業務アプリケーション開発技法を提供するものである。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明は、システム開発者が行うプログラムのコーディング作業である所のデータアクセス、画面・帳票の作成、入出力データの制御など主要な機能を汎用化した組み込みモジュールを提供すること、そしてあらゆる業種に適応可能なプロトタイプ（雛型）モデルをもとにユーザが自社業務にあった業務ルール、事務処理フローに合わせた要件をプロトタイプモデルに追加、変更していくだけで業務アプリケーションを開発できるようにした。実際にはユーザは使い慣れた表計算ソフトを使って、図１に示す３階層アーキテクチャーで区分されたそれぞれの領域で処理すべき内容を「作業シートに定義する」だけで業務アプリケーションを開発できる。
【００１０】
プレゼンテーション層では、ユーザはまず画面・帳票をデザインすることになるが、画面・帳票のレイアウトフォームに項目やコマンドボタンなどのオブジェクトを直接配置していく従来の方法ではなく、作業シートに定義することで間接的に画面・帳票を生成できるようにした。この作業シートに定義することは、ユーザとコンピュータ（ディスプレイ）間のユーザインターフェースとなる画面・帳票を生成する作業だけでなく、画面の表示や画面間の遷移をコントロールすることやユーザが入力したデータをビジネスロジック層に受け渡す処理を記述することによってビジネスロジック層とのインターフェースが取れるようになり、従来はプログラムコーディングを必要としていた作業が不要になる利点がある。
最初ユーザは、画面・帳票のユーザインターフェース部分を作成するために画面もしくは帳票用の作業シートに入出力項目名（ラベル名）と入出力フィールドの画面上の配置位置、入出力値の画面と作業シート間のリンク情報、項目のフォント、スタイル、サイズ、背景色などの書式などを定義する。そして作業シート上のレイアウト作成ボタンを押下することによって作業シートに定義した内容で画面・帳票を生成することができる。
【００１１】
次にユーザは、画面の表示や画面遷移、データの保存や取得などの処理を実行するコントロール機能である所のユーザ定義コマンドをコマンド作成用の作業シートに定義することによって作成することができる。作業シート上のコマンド作成ボタンを押下することによって定義したコマンドボタンを画面・帳票に生成することができる。これらのユーザ定義コマンドは、画面間の遷移をコントロールする移動コマンドボタン、データを保存または取得するためにデータベースへアクセスするDBアクセスコマンドボタン、外部システムとデータの授受を行う送受信コマンドボタンやバッチ処理を実行するコマンドボタンなどのアクションコマンドボタンで構成される。
【００１２】
ビジネス層では入力データから計算して計算結果を出力データとして画面に表示させるために、画面の入力フィールドに入力したデータは作業シートにリンクするように定義し、計算結果は画面の出力フィールドに表示するように作業シートに定義できるようにした。またユーザは使い慣れた表計算ソフトの関数もしくは組み込みモジュールで用意されたアドイン関数を使って作業シートに業務ロジックを定義できるようにした。項目チェックはデータアクセスの動作が実行されたときに実行され、項目をチェックする内容を作業シートに定義できるようにした。計算式で参照範囲を対象に検索値をキーに出力結果を取得するLookup関数などは表計算ソフトに組み込まれた関数を使うことができ、検索する参照範囲はユーザが作業シートに定義すればよい。バッチ処理は指定した入力ファイルから抽出条件によって取得されたデータを元に出力条件に合った計算式で加工されたデータを出力ファイルに保存できる一連の処理内容を作業シートに定義できるようにした。
【００１３】
データアクセス層では、データをデータベースに保存（データベース更新処理として登録、変更、削除の各コマンドボタン）したり、検索条件にマッチしたデータをデータベースから取得（照会コマンドボタン）したりする処理を作業シートに定義できるようにした。データベースのテーブルもしくは表の生成はデータをデータベースに保存する項目を作業シートに定義して、データベース生成コマンド（DB作成コマンドボタン）を実行することによってデータベースにテーブルが作成されるようにした。テーブルの構成は既存データがデータベースに存在している状態であってもデータの整合性が保たれるようにするためにXML形式のデータ項目とランダムアクセスを早くするためにインデックス項目からなる。「XML形式のデータ項目」とは作業シートに定義したデータをデータベースに保存する複数の項目をそれぞれの項目がタグで連結され纏まった１つのテーブル項目として定義することである。これはデータを保存する場合、XML形式に変換してテーブルに保存することとなり、データを取得する場合はテーブルからXML形式のデータをそれぞれの項目に展開して画面・帳票に表示することになる。このXML形式とインデックスをもつテーブル構成は、例えば業務ルールなどの変更により新たな項目追加が必要になった場合でもデータベースのテーブルの再構築が必要ないという利点となる。ただし、追加項目がインデックス項目であれば、データベースのテーブルにインデックス項目を追加するためにDB生成コマンドを実行して再構築する必要がある。
【００１４】
外部システムとのデータの授受は、基本的にはデータベースのアクセスと同じである。外部システムに送信するためのデータを定義し、外部システムから受信するためのデータを定義する。ここではオンラインリアルタイム（即時対応）処理ではなく、オンラインバッチ処理を想定している。送受信コマンド（送信ボタンと受信ボタン）によってデータもしくはファイルを相手に送信、または相手から受信するようにした。これは任意のタイミングで外部システムとデータの授受が行えるという利点となる。
【００１５】
尚、「作業シートに定義する」とは、システム開発者がユーザから依頼された業務要件をコンピュータが理解できるプログラム言語を使って開発する代わりに、ユーザは表計算ソフトの作業シート上に決められたルールのもと画面・帳票のデザイン、業務ロジック、データアクセス、組み込みコマンドの設置などのコンフィグレーションを記述する行為をいう。記述した内容を実行する組み込みコマンドを通して、画面・帳票のレイアウトが作成され、項目チェックや出力結果の計算、外部メディアや外部システムへアクセスする機能が自動的に生成される。
【発明の効果】
【００１６】
本発明が提供する開発技術を使って、業務ルール及び事務処理の要件を一番理解しているユーザ自らが開発することで、満足のいく最良の業務アプリケーションを含めたシステムを構築することができ、業務ルールの変更や外部要件によって業務アプリケーションの変更が発生した場合でも保守が容易にできる。
【００１７】
また、システム開発者に開発・保守作業を委託しないで業務アプリケーションが構築できるため、開発・保守費用が削減でき、作業期間の短縮が図れる効果がある。
【発明を実施するための最良の形態】
【００１８】
１．全体構成と動作概要
（１）ハードウェア、ソフトウェアの構成
図１に示す本発明のシステム構成は、クライアントサーバモデルをシステムのプラットフォームとする。サーバにはデータを保持するデータベース、クライアントには表計算ソフトを介してデータベースにアクセスする機能を有する。また、最小規模のシステム構成として、スタンドアロンモデルであるパソコン１台で構成することも可能である。表計算ソフトとデータベースソフトがデータを保存または取得できるシステム環境で、画面を表示するディスプレイと帳票を印刷するプリンターで構成される。また外部システムとのデータ授受はネットワーク接続された相手先システムがデータ送受信する通信手段があることを前提にする。
【００１９】
前記システム環境で本発明者もしくは本権利を有する共同者は表計算ソフトに組込みモジュールを実装して基本的な業務を想定した業務アプリケーションケーションをプロトタイプモデルとしてユーザに提供する。管理者権限をもつユーザのみがプロトタイプモデルを基盤として作業シートに定義を追加、修正することによって自社業務の要件にあった業務アプリケーションを開発・保守していくことができる。そして開発・保守された業務アプリケーションを使ってオペレータは業務を実行することができる。
【００２０】
（２）業務アプリケーションの基本的な構成
本発明のプロトタイプモデルが持つ基本的な画面の種類及び作業シート定義の構成を図２に示す。画面の種類は、ログイン画面、メイン（メニュー）画面、一覧（検索）画面、詳細（登録）画面、帳票（出力イメージ）オーバレイ画面からなり、ユーザは業務ルールや事務処理に合わせてこれらの画面を組み合わせで構成する。それぞれの画面は作業シートで定義された内容で生成される。移動コマンドやアクションコマンドからなるコマンドボタンは作業シートで定義した内容で画面上に作成される。データアクセスは作業シートで定義して外部メディアや外部システムのデータ入出力のインターフェースとなる。業務ルールの計算ロジックは表計算ソフトの関数または本発明が提供するアドイン関数を使って作業シートで定義する。それぞれの画面の役割を以下に示す。
【００２１】
ログイン画面は業務アプリケーションを起動したときに表示される最初の画面である。ログインIDとパスワードの入力項目、ユーザ定義コマンドのアクションコマンドを作業シートに定義する。アクションコマンド（ログインボタン）は入力されたユーザID及びパスワードをもとに参照テーブルもしくはデータベースに存在するかを判定する機能を作業シートに定義する。サインオンできるとメイン（メニュー）画面が表示される。
【００２２】
メイン画面は、移動コマンドボタンとアクションコマンドボタンで構成される。それぞれのユーザ定義コマンドは組み込みモジュールで提供されるコマンドを定義を作業シートに記述する。業務アプリケーションを終了するアクションコマンド（終了ボタン）も処理コマンドと同様に作業シートに定義する。
【００２３】
一覧画面では、検索条件にマッチしたデータを照会する場合に使われる。検索条件の入力項目、一覧表示される出力項目を作業シートに定義する。アクションコマンド（照会ボタン）は検索条件をもとにデータベースから該当するレコードを取得して、画面の出力項目に表示する。レコードが複数件ある場合、画面に定義された範囲内で複数行が表示される。
【００２４】
詳細画面は、データをデータベースに保存する場合に使われる。メニューからデータを保存するため新規登録するとき、一覧画面から選択された既存データを変更または削除するときに使われる。入出力項目のレイアウト、項目のフォーマット、計算式を作業シートに定義する。計算式は表計算ソフトの四則計算、関数、アドイン関数を使うことができる。
【００２５】
帳票オーバレイ画面は、出力データを帳票のオーバレイに表示させるために作業シートに定義する。アクションコマンド（出力ボタン）によって出力装置（プリンターまたは外部ファイル）に出力される。
【００２６】
バッチ処理指示画面は、入力データから必要な条件の下、出力データを作成するオフライン処理を指示する画面である。通常、処理開始時間などの実行条件、入力データの抽出条件、出力データを作成する計算ロジックなどを作業シートに定義する。入力データはデータベースから検索条件で取得され、出力データはデータベースに保存もしくは外部ファイルとして書き出される。
【００２７】
２．画面を生成する定義
（１）入出力項目の定義
ユーザは画面を生成するために、画面のタイトル、入出力項目ラベルと入出力フィールド、その他画面に必要な文言などを作業シートに定義する。画面を生成するコマンド（レイアウト作成ボタン）が実行されて画面が生成される。既に生成された画面のデザインを変更したい場合は作業シートの定義を変更してレイアウト作成ボタンを押下するだけで画面を再生成することができる。
【００２８】
図３に注文登録の画面を生成する作成手順とフローチャートを示す。注文登録画面では、商品コードを入力して商品テーブルから商品の単価を表示して、そして数量を入力して計算結果（単価×数量）を金額に出力する。最初に画面と作業シートを紐つけるために画面ID：“注文”、作業シートID：“Sheet”を定義する。そして画面上に配置する各ラベル名：“注文登録”、“商品”、“単価”、“数量”、“金額”、フォントの書式（フォント、スタイル、サイズ、色）、セルの背景色を設定する。そしてラベルを配置するセル位置：“A1”、“A2”、“A3”、“A4”、“A5”を作業シートに設定する。次に画面の入力データフィールドを定義する。作業シートの入力位置欄に画面のデータ入力フィールドとして商品CDと数量のセル位置をそれぞれ“B2”、“B4”を記述し、そして画面で入力された値が作業シート上で参照できるように入力値欄にそれぞれ商品CD、数量を“=注文!B2”、“=注文!B４”と記述する。次に出力データフィールドを定義する。作業シートの出力位置欄に画面の出力フィールドとして単価と金額のセル位置をそれぞれ“B3”、“B5”を記述する。そして作業シートの計算欄で算出された値を画面の出力フィールドが参照できるように出力値欄に計算結果の位置としてそれぞれ単価、金額を“=Sheet!G5”、“=Sheet!G7”を記述する。最後にレイアウト作成ボタンの実行により、注文画面が生成され、作業シートで設定したフォントの書式、セルの背景色を含めたラベル、及び出力データフィールドの値参照：“=Sheet!G5”、“=Sheet!G7”が画面のセル位置：“B3”、“B5”にコピーされる。そして入力データフィールドを除いてセルはロック（入力・変更不可）される。また作業シートに定義したフォーマット欄の内容は、画面のコマンドボタン（登録ボタン）が実行されて項目チェックに使われる。
【００２９】
３．帳票を生成する定義
ユーザは作業シートに帳票オーバレイのレイアウトを定義することで、プリンターに印刷できる。図４は、顧客から注文を受けて、注文テーブルから該当顧客に注文受領書を発行する作成手順とフローチャートである。帳票と作業シートを紐付けるために帳票IDとシートIDを設定する。ラベル名、フォントの書式（フォント、スタイル、サイズ、色）、セルの背景色を設定する。そしてラベル位置欄で表示する位置を決める。出力データフィールドには出力位置と出力値を設定し、帳票に出力する値の書式をフォーマットに設定する。出力値は計算欄の計算結果を参照する。レイアウト作成ボタンで帳票が作成される。帳票のセルはロックされる。作業シートで出力条件を“プリンター”もしくは“ファイル”に設定でき、帳票イメージ画面の出力ボタンで実行される。
【００３０】
４．コマンドボタンを生成する定義
業務アプリケーションのオンライン処理では、基本的に画面はメイン画面、一覧画面、詳細画面で構成される。それぞれの画面は３つのタイプのコマンドボタンで構成される。１つ目は処理を実行するアクションボタン（終了ボタン）、２つ目は指定した画面へ遷移する移動ボタン（注文登録ボタン、注文照会ボタン）、3つ目はデータベースへアクセスするDBアクセスボタンで構成される。
【００３１】
図５は、画面にユーザ定義コマンドを作業シートに定義する作業手順とフローチャートである。メイン画面は業務で必要な処理が選択できるように２つの種類のユーザ定義コマンドで構成されるアクションボタン（終了ボタン）、画面へ遷移する移動ボタン（注文登録ボタン、注文照会ボタン）からなる。一覧画面は、検索条件によって保存されたデータを照会するDBアクセスボタン（照会ボタン）、複数のデータが一覧表示された中から1件を選択して詳細内容を表示するためのアクションボタン（選択ボタン）、そして他の画面に遷移する移動ボタン（戻るボタン）からなる。登録画面は、データをデータベースへ保存するために用意された組み込みボタンから構成される。新しくデータを登録するDBアクセスボタン（登録ボタン）、既存データを変更するDBアクセスボタン（変更ボタン）、データを削除するためのDBアクセスボタン（削除ボタン）、そして他の画面に遷移する移動ボタン（戻るボタン）からなる。作業シートには上記画面に貼り付けるユーザ定義コマンドをコマンド名、コマンドタイプ、コマンドを貼り付ける画面IDとセル位置、移動コマンドであれば移動する先の画面IDを定義する。移動ボタンのボタン名は自由に記述できるが、アクションコマンド、DBコマンドのボタン名は変更できない。ベースコマンドのコマンド作成ボタンによって作業シートに定義された内容がそれぞれ指定された画面にユーザ定義コマンドが生成される。
【００３２】
５．計算ロジックの定義
計算ロジックでは、２つの役割を作業シートに定義する。ひとつは画面から入力された値を元に出力値を計算する計算式を定義することであり、もうひとつは入出力フィールドの画面・帳票に表示する値のフォーマットを定義することである。
【００３３】
（１）計算式
計算ロジックは作業シートの計算欄に計算式を記述する。計算式の始まりは“=”で始まり、四則計算及びさまざまな関数を利用することができる。計算結果は計算式を記述した同じセル位置に返る。そして作業シートで定義した出力位置と出力値の記述によって、画面の指定されたセルに作業シートの出力値つまり計算欄の計算結果を参照するリンクがレイアウト作成ボタンの実行で張られる。図６は顧客から商品の注文を受けてデータベースに登録する例を示す。注文番号はデータベースの注文テーブルに登録されたレコード数を元に計算する関数：Rcrdnum()であり、登録ボタン押下時は最終レコード番号の次の番号を返し、変更ボタン押下時は選択（または表示）されているレコード番号を返し、削除ボタン押下時はNullを返す。注文日は日付関数のToday()を注文画面の注文日セルB6の返す。単価は作業シートにデータ範囲を記載した商品テーブルを商品CDで検索して該当する商品の単価を返す関数Lookup（）を記述する。この例では商品CD”1002“に該当する商品テーブルからマッチするB社PCの単価”150000“が計算式の返り値となり、注文画面の単価セルB7が作業シートの計算結果セルG8を参照する。金額は単価と数量から算出する計算式”=G8×D9“を記述して計算結果を注文画面の金額セルB9が参照する。
【００３４】
（２）項目チェック
項目のフォーマットは、画面の入出力フィールドの属性、フォーマット、値要求を定義する。それぞれの定義はカンマによって分離され、図６に示す入力フィールドの注文者、商品CD、数量は、それぞれ“String,文字列,M”、“String,####,M”、“Integer,,M”と記述し、出力フィールドの注文番号、注文日、単価、金額は、それぞれ“Long,数字,M”、“Date,yyyy/mm/dd,M”“String,,M”、“Long,通貨,M”、“Long,通貨,M”と記述する。各パラメタの設定は一般的に認知されており、第一パラメタはデータタイプであり、第二パラメタは表示形式であり、第三パラメタは値要求（Mは必須の意味）であるかを定義する。登録ボタンなどDBアクセスボタンが実行されたとき、項目チェックのロジックによりエラーが起これば発生箇所を表示する。尚、項目間の相関チェックは計算欄に計算ロジックを記載する。
【００３５】
（３）コード変換機能とコード表の参照
データベース化する必要のないコード表や検索用テーブルなどを作業シートに参照テーブルとして定義することによって実行処理が効率化できる。参照テーブルは、テーブルIDを記述し、検索する対象範囲に情報を記述する。図６に示すLookup関数は商品テーブルから商品CDを検索値として該当する商品名、単価を検索して検索結果を返す。
【００３６】
６．データベースへのデータアクセス定義
データを外部メディアに保存、または取得するために、データベースを構築し、テーブルを生成しなければならない。本発明のデータベースアクセス定義ではユーザがテーブルを生成するためのテーブル名、そのレコードの各項目定義内容を作業シートに記述してDB生成ボタンを実行するだけでよい。データをデータベースに保存、または取得するアクセスはDBアクセスボタンで定義できる。本発明のデータベースのテーブル定義はインデックス部とデータ部で構成される。データ部は作業シートで定義された項目すべてをDBでは１つの項目としてXML形式の構造としている。作業シートで検索キーとして定義した項目はデータ部に存在し、またインデックス部の検索キー項目となる。本発明は業務ルールまたは外部要件の変更によってDB項目の追加する保守が必要な場合、DBの再構築及びデータ処理の変更、新旧混在したデータの処理を柔軟に対応することができる。これは本発明が画面のデータをDBに保存する場合、XML形式に変換してDBに更新処理する機能、そしてDBからデータを取得する場合、XML形式のデータを展開してそれぞれの項目データを画面に表示する機能を組み込みモジュールに有するからである。
【００３７】
（１）データベースのテーブル生成定義
図７にデータベースのテーブルを生成する作業手順とフローチャートを示す。最初DBアクセス用作業シートにデータベースと紐つけるためにDB-ID、Table-IDシートIDを定義する。データベースのテーブルに保存するデータ項目として“項目名”、“項番”、“属性”、“Index”、“値要求”、“データリンク”、“検索”を定義する。“注文番号”、“注文者”、“注文日”に検索用のIndexキーとして記述する。最後にDB生成ボタンを実行して、注文番号、注文者、注文日をインデックス部、すべての項目をXML形式にしたデータ部からなる構成をした注文テーブルを生成することができる。
【００３８】
（２）データベースへデータ保存
データベースに注文データを保存する場合、登録画面に表示されている値が作業シートのデータリンク欄の各項目とリンクされている必要がある。登録ボタンによってデータベースへ追加される処理が実行される。属性チェック、値要求の項目チェックでエラーがあればダイアログボックスに表示される。変更や削除ボタンの処理も登録ボタンと同様の動作で実行される。
【００３９】
（３）データベースからデータ取得
図７に示す一覧画面で、照会ボタンによるデータ検索は、検索条件を作業シートの検索条件エリアの“検索項目”欄、“位置”欄、“入力位置”欄、“入力値”欄、“条件”欄で定義する。検索項目と位置で画面のラベル名、入力位置で検索の入力フィールドを決定する。検索の複合条件は条件欄にAND、OR、NOTの形式で記述する。注文日のように検索条件の範囲指定は検索項目欄に同じ項目名を続けて記述して、1つ目の条件欄にORを記述する。一覧画面の検索条件に入力した値は作業シートの検索条件の入力値欄にリンクされる。一覧表示のデータ表示方向は、“横”、“縦”を定義して、そして出力する項目名と出力フィールドの最初の表示位置を定義する。照会ボタンを押すと、入力された検索条件でデータベースを検索する。検索結果が一覧画面に出力される。検索条件によって複数件のレコードが検索された場合、横表示のとき複数行に表示され、縦表示のとき複数列に表示される。
【００４０】
７．外部システムとのデータ授受
本発明の外部システムとデータを送受信する通信電文は、作業シートに通信電文のボディ部分として入出力データを定義し、データを送受信するためのヘッダー部分を定義する。そしてデータの送信と受信はオンラインリアルタイム処理では行わないことを前提とし、送信ボタンでこちらのデータを送信して、受信ボタンで相手先システムからデータを受信するFTP（ファイル転送）のPUTとGETを想定している。図８に示す例では、自社（ABC商事）が依頼元であり、見積画面で部品と数量を入力した見積依頼データを依頼先（DEF工業）に送信ボタンで送り、そして依頼先から見積データを受信して見積画面に単価、金額、合計金額を表示する。
【００４１】
作業シートに送付元ID（ABC商事の通信アドレス）と送付先ID（DEFの通信アドレス）、画面IDとシートIDを設定する。そして見積依頼画面のレイアウトを定義するためにラベル、入力データフィールド、出力データフィールドをそれぞれ設定する。通信上の電文を定義するために送受信レコードのデータ部分を“Item”欄、“Data”欄に設定する。送信ボタンで通信電文の依頼元が“ABC商事”、依頼先が“DEF工業”の見積依頼データが送信される。受信ボタンで受信データを受け取り、見積画面に表示する。
【００４２】
８．バッチ処理
バッチ処理は様々な処理形態が考えられるが、基本的には入力データもしくはファイルを対象に加工処理して出力データもしくはファイルを作成する処理である。本発明のバッチ処理を行うためには作業シートに入出力ファイル、加工処理を行うために処理条件を定義する。図９は、顧客が注文した前月分（９月）の注文データから口座振替代行会社に精算代行を行ってもらうための口座振込用請求ファイルを作成する例である。
【００４３】
最初に作業シートにバッチ処理画面IDとシートIDを定義する。入力ファイル（顧客テーブル、注文テーブル）を設定して、出力ファイルは外部テキストファイル（請求ファイル）を設定する。バッチ処理画面のレイアウトを作成するために、処理条件（請求対象月）の入力フィールドを設定する。出力される請求ファイルのレコードフォーマットを定義する。レイアウト作成ボタンでバッチ処理画面を作成する。バッチ処理ボタンを実行して請求ファイルが作成される。
【００４４】
９．保守
システムが構築された後、業務ルールの変更、外部システムとの要件変更、新たな機能追加、事務処理の効率化など様々な局面でシステム変更の要望が発生する。多くの場合、画面・帳票の項目追加、変更、削除であったり、新たな入出力の画面を増やしたり、計算方法の変更などが考えられる。通常、このような変更にはプログラム開発が発生し、データベースの構造を変更しなければならないケースもある。本発明では、ユーザ自ら作業シートの定義を変更するだけで画面・帳票のレイアウト、計算式、データ構造のすべての局面で対応できることを特徴とする。
【００４５】
１０．その他の実施形態
（１）アクセス権限と管理
管理者権限をもったユーザ（管理者）のみが作業シートの定義ができ、オペレータは開発された画面・帳票を実行する権限があるだけである。ユーザは開発した画面・帳票にロックをかけ入力フィールドと処理コマンドのみオペレータが実行可能となる。画面・帳票以外の作業シートや参照テーブルは非表示され、管理者のみ解除できる。組み込みモジュールは本発明者または権限が許可された共同者にのみ開示される。
【００４６】
（２）WEBアプリへの対応
ネットワークを利用して画面・帳票の生成は表計算シートの変わりにWEBアプリへのHTMLファイルの生成としてもよい。また、項目の入力フィールドでは、テキスト入力以外にリストやチェックボックスなどのオブジェクト対応に替えることができる。
【００４７】
（３）業務部門別に分かれる事務処理への対応
一般的に営業・販売部門、顧客サービス部、マーケティング部門などのフロントオフィースと経理・会計部門、生産管理や在庫管理などの管理部門、総務・人事部門などのバックオフィースでは役割が違うので事務処理の効率化の観点から業務アプリケーションを分けた方がよい。部門間でデータが引き継がれるように本発明の開発技術を使って部門別に分離した業務アプリケーションを開発することが望ましい。
【００４８】
（４）プロトタイプモデル
ユーザは本発明の開発技法を使って、初めから開発する必要はない。自社業務に合ったプロトタイプモデルをもとに開発を進めていくことで開発費用、作業期間を抑えることができる。本発明は図２に示すユーザのニーズに合った基本的な画面、帳票を含めた業務アプリケーションのプロトタイプモデルを提供することで、ユーザはこのモデルをビルドアップするだけで自社の業務要件にあったシステムを効率よく構築できる。
【図面の簡単な説明】
【００４９】
【図１】システム全体構成と３階層アーキテクチャー構造における業務アプリケーション開発技法
【図２】業務アプリケーションの開発における基本的な画面、帳票の構成図(本発明のプロトタイプモデルの概要構成)
【図３】画面を生成する定義及びフローチャート
【図４】帳票を生成する定義及びフローチャート
【図５】コマンドボタンを生成する定義及びフローチャート
【図６】計算ロジックの定義
【図７】データベースへのデータアクセス定義及びフローチャート
【図８】外部システムとのデータ授受定義及びフローチャート
【図９】バッチ処理の定義及びフローチャート
【符号の説明】
【００５０】
１  ディスプレイ
２  プリンター
３  データベース
４  外部システム
５  外部ファイル
６  表計算ソフト
７  表計算シート
８  ユーザ定義コマンド
９  ベースコマンド
１０  画面シート
１１  帳票シート
１２  作業シート
【図１】
2010205190.tif 000003
【図２】
2010205190.tif 000004
【図３】
2010205190.tif 000005
【図４】
2010205190.tif 000006
【図５】
2010205190.tif 000007
【図６】
2010205190.tif 000008
【図７】
2010205190.tif 000009
【図８】
2010205190.tif 000010
【図９】
2010205190.tif 000011