JP3560253B2 - Event driven processing device and event driven control method - Google Patents
Event driven processing device and event driven control method Download PDFInfo
- Publication number
- JP3560253B2 JP3560253B2 JP29936493A JP29936493A JP3560253B2 JP 3560253 B2 JP3560253 B2 JP 3560253B2 JP 29936493 A JP29936493 A JP 29936493A JP 29936493 A JP29936493 A JP 29936493A JP 3560253 B2 JP3560253 B2 JP 3560253B2
- Authority
- JP
- Japan
- Prior art keywords
- event
- item
- processing
- logical
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
【0001】
【産業上の利用分野】
本発明は,主に事務処理分野で利用されるデータ処理装置であって,例えば表示画面やデータベースに対する入出力を,イベントで駆動されるプログラムによって処理するイベント駆動型処理装置およびイベント駆動制御方法に関する。
【0002】
プログラムの実行制御方式として種々の方式があるが,例えば,商品の単価と個数が入力された場合に,自動的に金額を計算し表示するというようなプログラムの開発には,特定のイベントの発生や特定の条件が成立したことを契機として自動的に所望のプログラムが起動されるイベント駆動型のプログラム実行制御方式を用いるのが適している。このようなプログラムの実行制御を行う装置において,アプリケーションプログラムには,できるだけ少ない統一化されたイベントで処理できる機構が望まれる。
【0003】
【従来技術】
従来のコンピュータを利用する事務処理分野におけるアプリケーションプログラムの開発では,スケルトンと呼ばれる標準的な制御の骨組みを用い,その上に表示画面やデータベースの処理を加えて,実際に必要な処理動作を行うアプリケーションプログラムを作る方法が用いられていた。スケルトンによる制御が行われる場合において,実際のアプリケーションプログラムの処理部分は,サブルーチン呼出しという形で実現されている。
【0004】
また,オブジェクト指向を導入して,サブルーチン形式で実現されていたアプリケーションの処理部分をイベント(メッセージ)ドリブンで動かされるメソッドという形で実現するアプリケーションプログラムがある。
【0005】
【発明が解決しようとする課題】
企業活動に伴う大量の事務処理の多くは,コンピュータのハードウェアと事務処理アプリケーションプログラムを組み合わせることで自動的に実施することができる。しかし,アプリケーションプログラムの開発作業には,多くの人手がかかることに加えて,その変更作業も頻繁に発生し煩雑であるため,省力化する必要がある。
【0006】
スケルトンの制御部およびサブルーチン部分からなる従来のアプリケーションプログラムの開発には,次のような問題が残っており,また変更の省力化の策としてオブジェクト指向を導入しても,依然として十分な解決にはなっていなかった。
【0007】
(1)全体をイベント駆動(イベントドリブン)にしきれず,スケルトンを基に制御部分についてもアプリケーション側で記述しなければならない。
(2)イベント駆動を実現できたとしても,イベントの抽象度が低く,数多くの個々のイベントに対する具体的な処理内容を記述しなければならない。
【0008】
制御部は,サービスを行わずタイミングを提供しているだけである。典型的な例として,表形式の帳票等における行複写の制御が挙げられる。イベント処理において,値の正当性のチェックや値の導出をしなければならないのは,個々のアプリケーションに依存するので仕方がないことであるが,値自体の複写まで行わなければならない。さらに,値のチェックや導出が他の箇所(イベント処理)と共通化して使用できるかどうかは保証されない。
【0009】
(3)イベント駆動を実現できたとしても,イベント間に矛盾が発生しないように機能的な制限を付けて,各イベントを処理するルーチンを記述しなければならない。
【0010】
典型的な例として,表形式の帳票等における明細行間のカーソル移動が挙げられる。入力エミュレーション制御を制御部が行わないと,データベースからのデータの読み込みはアプリケーションプログラム自身が保証しなければならない。各項目のイベント処理ルーチンで,データベースからのデータの読み込みという処理が記述されていなければならない。
【0011】
また,例えばデータベース等での検索実行処理においても同様に,データベース・テーブルにない項目の値を求めるという処理をどこかに記述しなければならない。
【0012】
前述の(1)および(2)のタイプに属するものとして,特開平4−238534号に示される「項目単位型画面入出力制御方式」がある。これによると,アプリケーションプログラムを,項目単位の部品として記述することが可能であるが,依然として個々に制御を定める項目制御部品を必要としている。
【0013】
また,前述の(2)および(3)のタイプに属するものとして,特開平4−349529号に示される「ウインドウアプリケーションの画面制御方式」がある。これによると,1つのイベントから複数の処理を呼び出す機構を提供しているが,その変換処理を,制御として個々のアプリケーションプログラムに記述しなければならない。
【0014】
本発明は上記問題点の解決を図り,例えば入力の完了,明細行の複写,明細行の削除,明細行間のカーソル移動などというような物理イベントを,統一された少ない数の論理イベントに変換する手段を,アプリケーションプログラムに依存しない制御の骨組みとして用意することにより,個々のアプリケーションプログラムで記述しなければならないイベント処理を簡易化し,イベント処理の記述量の削減,部品化の促進による可搬性の向上,保守性の向上を可能とし,アプリケーションプログラムの開発工数の削減,開発期間の短縮を可能とすることを目的とする。
【0015】
【課題を解決するための手段】
上記の課題を解決するために,本発明は図1に示すような以下の手段から構成される。
【0016】
図1は,本発明の原理説明図である。図中,1はディスプレイ装置,2はディスプレイ制御手段,3はイベント制御手段,4は派生制御手段,5は応用処理手段,31はイベント受け付け手段,32はイベント振り分け手段,33はイベント変換制御手段,34は表示制御・エラー制御手段を表す。
【0017】
ディスプレイ装置1は,ディスプレイ制御手段2を介して送られる入出力情報を表示する。
ディスプレイ制御手段2は,ディスプレイ装置1やキーボードなどの入出力装置を制御する。値の入力の完了,メニューの選択,PFキーの押下などを監視し,これらを物理イベントとして扱う。物理イベントは,主にディスプレイ制御手段2が扱うことのできるイベントであり,全体として例えば40種類ぐらいある。
【0018】
イベント制御手段3は,ディスプレイ制御手段2からの物理イベントを論理イベントに変換するための各手段を有する。また,内部状態とタイミングによっても論理イベントを発生させる。
【0019】
イベント受け付け手段31は,ディスプレイ制御手段2から受け付けた物理イベントを,イベント振り分け手段32へ送る処理手段である。
イベント振り分け手段32は,イベント受け付け手段31から得た物理イベントを各種のイベント変換制御手段33へ振り分ける。
【0020】
イベント変換制御手段33は,イベント振り分け手段32により得た物理イベントを1つまたは複数の論理イベントに変換し,派生制御手段4へ送る。図1中,各種のイベント変換制御手段33の一例として,入力完了イベント制御手段33a,検索実行イベント制御手段33b,明細行複写イベント制御手段33c,フォーカスイン制御手段33dを示しているが,これらのイベント変換制御手段33は物理イベントに対応して設けられる。
【0021】
表示制御・エラー制御手段34は,ディスプレイ装置1の表示制御とエラーの制御を行う処理手段である。。
派生制御手段4は,イベント変換制御手段33からの論理イベントを受けて,応用処理手段5内に構成されるイベント処理手段51を呼び出す処理手段である。例えば,ある項目の値が変わったときは,その項目の影響を受ける項目の派生に関するイベント処理手段51を呼び出す。
【0022】
イベント標準処理手段6は,論理イベントのうち,応用処理手段5に共通な処理を行う手段である。例えば,応用処理手段5において,初期化イベントに対するイベント処理手段51がない項目について,未入力に設定するという処理等をイベント標準処理手段6で行う。
【0023】
【作用】
従来の事務処理分野のアプリケーションプログラムにおいても,スケルトンと呼ばれる標準的な制御の骨組みの提供,またイベント駆動型の処理機構が用いられていた。
【0024】
しかし,本発明は次の点が従来技術と大きく異なる。
(1) 多くの物理イベントに対して,個々の物理イベントに依存しない入力チェックイベントや派生イベントというような数少ない論理イベントに変換する制御手段を持つこと。
【0025】
(2) アプリケーションプログラムを構成する応用処理手段5は,サブルーチンとしてではなく,論理イベント(メッセージ)によって駆動される処理対象項目ごとのイベント処理手段51の集合として構成されること。
【0026】
すなわち,本発明においては,比較的定型でアプリケーションプログラムにもあまり依存しないスケルトン(制御の骨組み)とアプリケーションとの分割をさらに進めて,スケルトンは,制御ルーチンとしてアプリケーションプログラムから完全に切り離されて構成される。また,従来,スケルトンからサブルーチン呼出しという形で実現されていたアプリケーション処理部分は,オブジェクト指向の概念を取り入れ,イベント(メッセージ)駆動で動かされるメソッドのように構成する。
【0027】
これにより,各イベント処理の抽象度を高めて,各イベント処理の共通化を図ることが可能となり,より生産性の高い事務処理装置およびその制御方法の提供が可能になる。
【0028】
図1において,イベント制御手段3および派生制御手段4がアプリケーションプログラムにあまり依存しないスケルトンの部分に対応し,応用処理手段5におけるイベント処理手段51がオブジェクト指向におけるメソッドに相当し,アプリケーションプログラムの開発者が作成する部分に対応する。すなわち,アプリケーションプログラムの開発者は,各処理項目対象ごとに,必要な論理イベントに対するイベント処理手段51のルーチンを記述するだけでよい。
【0029】
【実施例】
本発明の一実施例を図を用いて説明する。
はじめに,本発明の実施例によるイベント制御に関する全体の処理の流れを,図2および図3に示すフローチャートを用いて説明する。
【0030】
ステップS1において,新しい画面等のオープン指示の有無を判定し,指示があればステップS2で新しい画面を開設する処理を行う。プログラムの起動時には初期画面を開設する。
【0031】
ステップS3において,エラーの有無を判定し,エラーがあればステップS4でエラー表示処理を行い,ステップS8へ進む。
エラーがなければステップS5において,フォーカスイン処理を呼び出す。フォーカスイン処理は,新しい処理項目にカーソルが入ったときに行う処理である。
【0032】
ステップS6において,フォーカスイン処理においてスキップ(強制的なフォーカスアウト)の指定の有無を判定し,スキップの指定があれば,図3のステップS17以降の処理を行い,スキップの指定がなければ,ステップS7の処理を行う。
【0033】
ステップS7においてプロンプトを表示し,ステップS8で更新された画面の内容を表示し,ステップS9で画面からの入力を待つ。
ステップS10において,終了指示があれば,ステップS11の終了処理を行い,プログラムの実行を終了する。終了指示がなければ,ステップS12以降の各物理イベントに対応した処理を行う。
【0034】
ステップS12において,画面クリア指示の有無を判定し,指示があればステップS13の画面クリア処理を行い,なければ次のステップS14へ進む。
ステップS14において,検索指示の有無を判定し,指示があればステップS15の検索処理を行い,なければ次の処理へ進む。
【0035】
ステップS16では,例えばステップS13の画面クリア処理,ステップS15の検索処理等と同様に,予め設定された各種処理に関する物理イベントの判定とそれに対するイベント処理制御の呼出しを行う。
【0036】
ステップS17では,値の変更の有無を判定する。例えば,図2のステップS9で画面から値が入力されたとすると,入力完了イベントの物理イベントにより値の変更があったと判定され,ステップS18の処理へ進む。値の変更とは,既存の値が変更されたことだけでなく,未入力項目に対して値が入力されたことなども含む。
【0037】
ステップS18において,値の変更をアプリケーションプログラムに通知し,値のチェックを可能にするために,値の変更があった処理項目について入力チェックイベントを発生させ,予め定義されている入力チェックセクションを呼び出す。この入力チェックセクションは,図1に示すイベント処理手段51の1つに対応する。
【0038】
ステップS19において,値の変更があった処理項目に関連して影響を受ける処理項目に予め派生セクションがアプリケーションプログラムとして定義されていれば,その派生セクションを呼び出す。
【0039】
ステップS20からステップS24では,その他の各種物理イベントの種類を判定し,それらに対応して予め設定された各種処理を行う。例えばステップS20で登録指示の物理イベントが検出されたならば,ステップS21による登録処理を,ステップS22で削除指示の物理イベントが検出されたならば,ステップS23による削除処理を行う。
【0040】
ステップS25およびステップS26において,次の入力項目へカーソルを移動し,図2中のステップS1の処理へ戻る。
上記の各ステップ(S1〜S26)を繰り返すことにより,アプリケーションプログラムとして記述された入力チェックセクション,派生セクション等の論理イベントに関する処理ルーチンを動作させる。
【0041】
次に,図4に示すような仕入れ伝票を例にして,本発明による具体的な処理の例を説明する。図4は処理対象の仕入れ伝票10を表示したディスプレイ装置1の表示画面を示しており,図中の11は得意先名項目,12は税区分項目,13は商品名項目,14は単価項目,15は数量項目,16は金額項目,17は合計金額項目を表す。
【0042】
得意先名項目11および税区分項目12をヘッダ,商品名項目13,単価項目14,数量項目15,金額項目16のそれぞれの行を明細行,合計金額項目17をテールとする。仕入れ伝票10は,予めイベント処理手段に関する定義,画面のレイアウト定義が行われているものとする。画面のレイアウト定義等の画面定義体の作成方法については,周知の技術を用いることができるので,ここでの詳細な説明は省略する。
【0043】
図5は,仕入れ伝票10の処理におけるイベント処理手段の定義例である。
(A)は得意先名項目11に定義されたイベント処理手段51Aを表し,「CHECK SECTION」は,得意先名項目11に値が入力された場合に起動される入力チェックセクションの宣言文である。この「CHECK SECTION」では,得意先名項目11に入力された値に対応するレコードをデータベースから読み,税区分をマスタから税区分項目12へ転記することを,例えばCOBOL等のプログラム言語により記述している。
【0044】
(B)は商品名項目13に定義されたイベント処理手段51Bを表し,「CHECK SECTION」は,商品名項目13に値が入力された場合に起動される入力チェックセクションの宣言文である。この「CHECK SECTION」では,商品名項目13に入力された値に対応するレコードをデータベースから読み,単価をマスタから単価項目14へ転記することを記述している。
【0045】
(C)は金額項目16に定義されたイベント処理手段51Cを表し,「DERIVED SECTION」は,派生元項目の値が変更された場合に起動される派生セクションの宣言文である。#( )は,派生元の項目を示し,ここでは,単価項目14と数量項目15が派生元の項目として定義されている。この派生セクションでは,単価項目14と数量項目15の両方とも設定されていれば,単価×数量を金額とし,金額項目16へ転記することを記述している。
【0046】
(D)は合計金額項目17に定義されたイベント処理手段51Dを表し,「DERIVED SECTION」は,派生元項目の値が変更された場合に起動される派生セクションの宣言文である。#( )は,派生元の項目を示し,ここでは,派生元である金額項目16の値に変更がある場合に,税区分が「消費税なし」であれば,金額の合計を合計金額とし,そうでなければ,金額の合計に消費税を掛けた金額を合計金額とし,合計金額項目17へ転記することを記述している。
【0047】
この例では,各項目に1つのセクションしか定義されていないが,複数のセクションが定義される場合もある。本実施例では,入力チェックセクション,派生セクションの外に初期化セクション,フォーカスインセクションなどがある。
【0048】
以下,代表的な物理イベントに対する論理イベントの処理のいくつかを例示し,その制御について説明する。特に,入力,明細行の複写および削除については,図4に示す仕入れ伝票10をもとに説明する。
【0049】
(a)入力処理について
図4の得意先名項目11に,画面から「○×商会」と入力されると(図2ステップS9),値の変更があったと判定し(図3ステップS17),図5(A)に示す「CHECK SECTION」を呼び出す(図3ステップS18)。このイベント処理手段51Aにより,対応するレコードがデータベースから読み出され,その税区分がマスタから転記される。
【0050】
続く図3に示すステップS19の派生処理は,得意先名に対応する派生セクションの定義がないので,スキップされる。ステップS25では入力により「カーソル移動あり」と判定され,ステップS26では,次の入力項目へのカーソル移動処理が行われる。ここでは,商品名項目13が次の入力項目となる。その後,図2の先頭にループが戻り,ステップS8における画面の内容の表示で,得意先名と税区分が表示される。もし,データベースにおいて「○×商会」のレコードにおける税区分が「消費税なし」と定義されていれば,画面上の税区分項目12には,図4に示すように「消費税なし」が表示されることになる。
【0051】
次に,図2のステップS9において,画面から商品名項目13に「ボールペン」と入力されると,同様に値の変更があったと判定し(図3ステップS17),図5(B)に示す「CHECK SECTION」を呼び出す(図3ステップS18)。イベント処理手段51Bでは,対応するレコードをデータベースから読み,単価をマスタから転記する。図3のステップS19の派生処理は,派生セクションの定義がなく,商品名により影響を受ける項目がないのでスキップされ,図3のステップS25,S26によるカーソル移動処理により,数量項目15が次の入力項目となる。その後,図2の先頭にループが戻り,ステップS8における画面の内容の表示で,商品名とデータベースから読み出された単価(この例では500)が表示される。
【0052】
続くステップS9において,数量項目15に画面から例えば「20」と入力されると,図3のステップS17では値の変化があったと判定される。しかし,この数量項目15には,入力チェックセクションが定義されていないので,ステップS18はスキップする。一方,ステップS19では,図5(C)に示す「DERIVED SECTION」において数量を派生元とする派生セクションが定義されているので,それを呼び出す派生処理を行う。単価項目14の値と数量項目15の値が設定されているので,「単価×数量」を金額として,金額項目16の値を「10,000」と設定する。
【0053】
金額項目16の値が変更されたことにより,続いて金額を派生元とする派生セクションが探し出される。そして,図5(D)に示す「DERIVED SECTION」おいてその派生セクションが定義されているので,それを呼び出す。ここでは,税区分が「消費税なし」であるので,金額の合計を合計金額に「10,000」と転記する処理が行われる。その後,図3のステップS25,S26によるカーソル移動処理により,次の行の商品名項目13が次の入力項目となる。図2の先頭にループが戻り,ステップS8における画面の内容の表示で,数量と金額と合計金額が表示される。
【0054】
仕入れ伝票10の明細行における2行目の「万年筆」についても同様の処理を行い,単価項目14に「3,000」と表示し,数量項目15に「5」と入力されると,図5(C)に示す「DERIVED SECTION」を呼び出し,金額項目16に「15,000」と転記し,これにより,再び金額項目16の値が変更されたと判定し,図5(D)に示す「DERIVED SECTION」を呼び出し,合計金額項目17の値に「25,000」と転記する。
【0055】
以上の繰り返しによって,アプリケーションプログラムとして記述された図5に示すイベント処理手段51A〜51Dの実行制御が行われる。アプリケーションプログラムとしては,単に各項目ごとに,入力チェックイベントまたは派生イベントに対する処理を,入力チェックセクション,派生セクションとして記述するだけでよく,その制御の骨組みに対する記述は不要である。
【0056】
(b)明細行の複写について
明細行の複写の問題は,単純に明細行だけに注目すると,合計金額の値が正しくなくなるという点である。この問題は,本発明では例えば次のように解決される。
【0057】
明細行の複写処理は,イベント変換制御手段33内の明細行複写イベント制御手段33cがサポートするが,明細行複写イベント制御手段33cは,複写された明細行の個々の項目を入力エミュレーションする。つまり,明細行複写イベント制御手段33cは,複写元の項目の値を複写先の項目が画面から入力されたようにイベントを発生させ,値のチェック,派生した項目の再計算,データベースからの再読み込みなどを行う。
【0058】
図6は,本発明による明細行の複写の場合の処理フローを示す。図2中ステップS9において,明細行の複写指示が入力されると,図2に示すステップS16中で,図6に示す処理が行われる。
【0059】
図6のステップS60により,行複写の物理イベントがあったかどうかを判定する。行複写の物理イベントは,メニューやPFキーによる行複写の指示により,図1に示すディスプレイ制御手段2から通知される。行複写の指示があった場合,ステップ61以降の処理を行う。
【0060】
以下の説明では,図4の仕入れ伝票10において,すでに明細行2行が入力されている状態で,1行目を複写する指示があったとする。この指示は,図2に示すステップS9において,オペレータがカーソルを移動して1行目に合わせ,メニューかPFキーで行複写を指示することにより行われる。
【0061】
ステップS61の挿入処理により,すでに入力されている2行目以降を移動し,2行目を空行にする。
ステップS62において,処理対象に含まれる項目は1行目で入力された商品名項目13の「ボールペン」と数量項目15の「20」である。まず,行の先頭にある商品名項目13からステップS63〜S65の処理を行う。
【0062】
ステップS63において,複写元の「ボールペン」という値を,2行目の空行に複写する。
ステップS64において,入力チェック処理,すなわち入力チェックセクションを呼び出す。ここでは,図5(B)の「CHECK SECTION」が呼び出され,単価が転記される。
【0063】
次に,ステップS65において,派生処理を行うが,商品名項目13が派生元になるような派生セクションは定義されていないのでスキップし,ステップS62へ戻る。
【0064】
ステップS62において,次の項目の数量項目15に対する処理に移る。
ステップS63において,複写元の「20」という値を,2行目の空行に複写する。
【0065】
ステップS64において,入力チェック処理を行うが,数量項目15には,入力チェックセクションが定義されていないのでスキップし,ステップS65へ進む。
【0066】
ステップS65において,派生処理,すなわち派生セクションを呼び出す。数量を派生元とする派生セクションが,金額項目16に対して図5(C)に示すように定義されているので,その「DERIVED SECTION」を呼び出す。これにより,金額が計算されて金額項目16へ転記される。続いて,金額項目16の値に変更が発生したので,金額を派生元とする図5(D)に示す合計金額の「DERIVED SECTION」を呼び出す。これにより,合計金額が計算され,結果として,明細行3行文の合計が合計金額項目17が転記される。その後,ステップS62へ戻る。
【0067】
ステップS62において,処理すべき項目がないので,行複写の処理を抜ける。この行複写では,新たな値の変更やカーソル移動がないので,図2の先頭にループが戻り,図2のステップS8で複写された行と変更された合計金額を表示する。その後,ステップS9で,新たな入力を待つ。
【0068】
(c)明細行の削除について
明細行の削除の問題は,複写と同様,単純に明細行だけに注目すると,合計金額の値が正しくなくなるという点である。
【0069】
図7は,本発明による明細行の削除の場合の処理フローを示す。なお,図7に示すステップS70〜S76の処理は,図2に示すステップS16において行われる処理である。
【0070】
以下の説明では,図4の仕入れ伝票10において,すでに明細行2行が入力されているものとする。図2中ステップS9において,オペレータは,1行目を削除するために,カーソルを移動して1行目に合わせ,メニューかPFキーにより明細行の削除指示を行ったとする。この行削除指示は,図1に示すディスプレイ制御手段2からの物理イベントとして通知される。
【0071】
ステップS70では,行削除指示の判定がYESとなる。
ステップS71において,処理対象となる項目は現在の明細行の全項目であり,全項目についての処理が終了するまで,以下のステップS72〜S76を繰り返す。最初は,1行目の先頭にある商品名項目13が処理対象となる。
【0072】
ステップS72において,初期化セクションまたは派生セクションの有無を判定する。初期化セクションは,各項目ごとの処理を記述するアプリケーションプログラムにおいて「INIT SECTION」の宣言文によって定義される。この例では,商品名項目13には,初期化セクション(INIT SECTION)と派生セクション(DERIVED SECTION)のどちらもないので,ステップS73へ進む。
【0073】
ステップS73において,商品名項目13を未入力状態に設定し,ステップS71へ戻る。
ステップS71において,次の単価項目14を処理対象とする。
【0074】
ステップS72の判定では,単価を派生元とする派生セクションが,図5(C)に示すDERIVED SECTIONに定義されているので,ステップS74へ進む。
【0075】
ステップS74において,単価項目14には初期化セクションが定義されていないので,単価を未入力にする。なお,この値を未入力にする処理は,図1に示すイベント標準処理手段6により行われる。
【0076】
ステップS75において,単価を派生元とする金額項目16の派生セクションを呼び出すが,単価が未入力なので,何も行わない。さらに金額を派生元とする合計金額項目17の派生セクションを読み出す。ここでは,金額が不当な状態なので,合計金額も不当な状態のままとなる。
【0077】
ステップS71において,次の数量項目15へ処理が移る。
数量項目15に対して,結果的に単価項目14と同様な処理がなされる。数量項目15には,初期化セクションが定義されていないので,数量を未入力にし,さらに数量を派生元とする金額項目16の派生セクションを呼び出す。しかし,ここでは数量が未入力となっているので,何も行われない。さらに金額を派生元とする合計金額項目17の派生セクションが呼び出されるが,金額が不当な状態のままであるので,合計金額も不当な状態のままである。
【0078】
次のループにおけるステップ71では,金額項目16へ処理を移し,ステップS72の判定により,金額項目16に派生セクションがあるので,ステップS74へ進む。
【0079】
ステップS74において,初期化セクションが定義されていないので,金額を未入力にし,ステップS75へ進む。
ステップS75において,金額を派生元とする合計金額項目17の派生セクションを呼び出す。ここでは,処理対象となっている1行目の金額が未入力になったので,合計金額は正しい値が計算される。
【0080】
次のループにおけるステップS71では,対応する項目に対する処理が終了し,処理すべき項目がないので,ステップS76へ進む。
ステップS76において,全項目が未入力となった1行目を削除し,それ以降の行を順次移動して,行削除の処理を抜ける。この行削除でも,行複写の場合と同様に新たな値の変更やカーソル移動がないので,図2の先頭にループを戻し,図2のステップS8で削除された結果と変更された合計金額を表示する。その後,ステップS9で,新たな入力を待つ。
【0081】
以上の明細行の複写,明細行の削除の例から明らかなように,アプリケーション側では行複写,行削除等の物理イベントを意識することなく,入力チェックイベント,派生イベントに対する処理のみを記述するだけでよい。
【0082】
次に,他の物理イベントについて,論理イベントである入力チェックイベントや派生イベントに変換する制御の例を説明する。
(d)検索実行について
検索を実行すると,アプリケーションプログラムは,データベースからレコードを読み込んで,画面レコードに値を設定する。データベースから読み込まれるレコードには,通常,キーとなる項目だけが入力されていて,他のデータベースを読み込んで決まる値や,単純な計算で求まるような値は入力されない。しかし,画面レコードにはそのような項目もあるので,単純にデータベースのレコードから画面レコードへ複写しただけでは,十分ではない。
【0083】
本発明の実施例では,キーとなる項目があたかも画面から入力されたように,論理イベントを発生させる。アプリケーションプログラムはこうして発生された論理イベントである入力チェックイベント,派生イベントにより,画面から入力データが与えられたとみなし,データに対応する値を,他のデータベースから読み込んで求めたり,計算して求めたりすることができる。イベント制御手段3は,アプリケーションプログラムが求めた値を画面レコードとして扱い,画面に表示する。
【0084】
図8は,検索指示の物理イベントに対応する処理フローを示す。
図8に示すステップS80は,図2に示すステップS14に対応し,以下のスステップS81〜S88は,図2に示すステップS15に対応する。
【0085】
ステップS80では,図2のステップS9における入力で,検索指示の物理イベントがあったどうかを判定する。検索指示でない場合,以下の処理をスキップする。
【0086】
ステップS81において,検索指示であった場合,現在検索中であれば,ステップS82で所定の検索終了処理を呼び出し,検索終了の処理を行う。そうでなければ,ステップS83へ進む。
【0087】
ステップS83において,検索実行処理を呼び出し,データベースの検索処理を行う。
ステップS84において,すべての項目をクリアする。
【0088】
ステップS85において,検索結果表示処理を呼び出し,検索結果の表示処理を行う。
ステップS86では,すべての項目に対して,以下の処理を行う。
【0089】
ステップS87において,検索により値が設定された項目に対して,入力チェックセクションが定義されていれば,その入力チェックセクションを呼び出し,その項目に対するアプリケーションの処理を行う。
【0090】
ステップS88において,値が設定された項目を派生元とする派生セクションが定義されていれば,その派生セクションを呼び出し,その項目に影響を受ける項目に対するアプリケーションの処理を行う。
【0091】
次にステップS86へ戻り,同様に処理を繰り返し,該当する項目が残っていなければ,検索実行イベントの処理を終了する。
(e)明細行入力後のヘッダの項目の入力・訂正処理について
前出の仕入れ伝票10の例のように,ヘッダ,明細行,テール部分からなる帳票の形式では,一般的に,明細行の項目やテール部分の項目は,ヘッダの項目の値により影響されることがある。仕入れ伝票10の場合には,税区分項目12の値によって,合計金額項目17の値が変化する。ヘッダの項目を追加入力あるいは修正した場合に,明細行とテールにある項目は,再度,値を求め直す必要がある。
【0092】
イベント変換制御手段33は,明細行に値が入力された後,ヘッダの項目に戻ってその項目の値が入力・修正された場合に,修正された項目の後の項目について,入力エミュレーションを行う。各項目ごとに,値が画面から入力されたように,論理イベントを発生させ,アプリケーションプログラムとして記述された入力チェックセクションによる値のチェック,派生セクションによる派生した項目の再計算,データベースの再読み込みなどを行う。
【0093】
図9は,明細行入力後のヘッダ項目の入力・修正の処理フローを示す。
ステップS90では,入力完了の物理イベントがあったかどうか,すなわち値が入力されたかどうかを判定し,あれば,以下のステップS91〜S95を実行する。なければこの処理を終了する。
【0094】
ステップS91では,入力された項目がヘッダであるかどうかを判定し,ヘッダであれば,ステップS92へ進み,そうでなければ,この処理を終了する。
ステップS92において,明細行にも入力があるかどうかを判定し,既に入力があれば,処理を続け,そうでなければ,この処理を終了する。
【0095】
ステップS93では,入力がある明細行の各項目に対して,以下の処理を行う。
ステップS94において,入力があった明細行の項目に対する入力チェックセクションがあれば,それを呼び出し,その項目に対するアプリケーションの処理を行う。
【0096】
ステップS95において,その項目を派生元とする派生セクションがあれば,その派生セクションを呼び出し,アプリケーションの処理を行う。
次にステップS93へ戻り,同様に処理を繰り返し,該当する項目が残っていなければ,この処理を終了する。
【0097】
(f)明細行間のカーソルの移動処理
明細行の先頭の方にある項目で,データベースを読み込んでいるような場合,その後ろの項目は,読み込まれたデータベースのレコードの値に影響される。このような帳票の場合,明細行間をカーソル移動して値を修正したときには,データベースの読み込みをしなおす必要がある。
【0098】
イベント変換制御手段33は,カーソルが移動されて,値が入力された場合に,その項目に対して入力チェックイベントを発生して入力チェックセクションにその値を評価させる前に,明細行の先頭項目から順に入力エミュレーションを行う。つまり,項目ごとに画面から入力されたようにイベントを発生させ,入力チェックセクションによる値のチェック,派生セクションによる派生した項目の再計算,データベースの再読み込みなどを行い,これらのエミュレーションが終了した後に,実際に入力された値をその項目のイベント処理手段(アプリケーションプログラム)に渡す。
【0099】
図10は,明細行間のカーソル移動処理のフローを示す図である。
ステップS100では,値の入力があったかどうかを判定し,あれば,以下のステップS101〜S107を実行する。なければこの処理を終了する。
【0100】
ステップS101において,今回入力があった行番号と前回入力があった行番号とを比較し,今回入力された項目の明細行が,前回入力された項目の明細行より前にあれば,ステップS105の処理へ進み,後ろであれば,ステップS102へ進む。
【0101】
ステップS102において,現在の行の現在の項目より前の各項目に対して,ステップS103の処理およびステップS104の処理を行う。
ステップS103において,その項目に対して定義された入力チェックセクションを呼び出し,アプリケーションの処理を行う。
【0102】
ステップS104において,その項目を派生元とする派生セクションがあれば,その派生セクションを呼び出し,影響を受ける項目に対するアプリケーションの処理を行う。
【0103】
ステップS102の判定により,現在の行の現在の項目の前までのすべての項目について同様にステップS103,S104を繰り返し,終了したならば,ステップS105へ進む。
【0104】
ステップS105において,派生により現在の項目の値が書き換わっていると困るので,現在の項目に値を設定しなおす。
ステップS106において,現在の項目に対して定義されている入力チェックセクションを呼び出し,その項目に対するアプリケーションの処理を行う。
【0105】
ステップS107において,その項目を派生元とする派生セクションが定義されていれば,その派生セクションを呼び出し,アプリケーションの処理を行う。その後,この処理を終了する。
【0106】
(g)フォーカスインでのスキップ
本実施例では,入力チェックセクションや派生セクションの他に,フォーカスインセクションをイベント処理手段51の一つとして記述することができ,カーソルが対象項目に入ってきたときに,フォーカスインイベントという論理イベントにより,フォーカスインセクションを呼び出す制御が行われる。
【0107】
項目にフォーカスインというイベントがある場合,すでにフォーカスインのタイミングで値が決まっていて,オペレータが入力する必要がない場合がある。この場合,フォーカスインのイベントの処理として値を設定して,かつ入力スキップ(強制的にフォーカスアウト)を指定した場合,イベント変換制御手段33は,アプリケーションプログラムが設定した値を,実際に画面から入力された値としてイベントを発生させ,入力チェックセクションによる値のチェック,派生セクションによる派生した項目の再計算,データベースの再読み込みなどを行う。すなわち,フォーカスインセクションでは,例えば値の自動設定やカーソルを強制的に移動させるための入力スキップの指定を記述することができる。
【0108】
エラーがある場合には,強制的なフォーカスアウトは無効になる。エラーがない場合にはフォーカスは次の項目へ移る。
図2に示したステップS3,S5がこの処理を行う部分である。
【0109】
(h)一度に複数の項目の値を変更する処理
この場合にも,入力エミュレーションによって制御する。応答速度向上のため,オペレータは,一度に複数の項目を入力することができる。
【0110】
アプリケーションプログラムには,あたかも一度に1つの項目が入力されたかのようにイベントを発生させる。実際に入力のあったすべての項目について,このような入力エミュレーションを行う。
【0111】
図11は,一度に複数の項目の値を変更する処理フローを示す図である。
ステップS111において,画面に対して複数項目の入力が行われる。
ステップS112において,入力されたすべての項目の値に対して,ステップS113からステップS116の処理を行うための判定をする。
【0112】
ステップS113において,項目に入力された値を設定する。
ステップS114において,入力された値に対する入力チェックセクションを呼び出し,その項目に対するアプリケーションの処理を行う。
【0113】
ステップS115において,その項目を派生元とする派生セクションが定義されていれば,その派生セクションを呼び出し,アプリケーションプログラムによる派生処理を行う。
【0114】
ステップS116において,処理対象を次の項目に進める。
ステップS112に戻り,該当する項目がなければ,この処理を終了する。
次に,ある物理イベントを初期化という論理イベントに変換する制御について説明する。アプリケーションプログラムでは,各項目ごとに必要に応じて「INIT SECTION」という宣言文を用いて初期化セクションを記述しておくことにより,初期化が必要なときに初期化イベントによって制御を得ることができる。初期化には,未入力状態にするという場合と,初期値を設定する場合の2つが考えられるがここでは区別せずに初期化にまとめる。
【0115】
(i)画面オープン処理
画面オープンの物理イベントがあった場合,すべての項目に対して,初期化するようにする。初期化イベントのイベント処理手段がある項目,すなわち初期化セクションが定義されている項目に対しては,イベント変換制御手段33は,その初期化セクションを呼び出し,定義されていない項目に対しては,イベント標準処理手段6により,その項目を未入力にする。初期値が入力された場合には,イベント変換制御手段33および派生制御手段4がその派生も行うように制御する。ただし,明細行については全部未入力にする。
【0116】
(j)画面クリア指示後の再表示処理
オペレータからの画面クリア指示があった場合,すべての項目に対して初期化するようにする。そのため,初期化イベントを発生させ,イベント処理手段(初期化セクション)51を呼び出す。初期化セクションがない項目に対しては,イベント標準処理手段6により,その項目を未入力にする。初期値が入力された場合には,イベント変換制御手段33および派生制御手段4がその派生も行うように制御する。ただし,明細行については全部未入力にする。
【0117】
(k)グループ(サブ画面,明細行やテール等)クリア指示後の再表示処理
オペレータからのグループクリア指示に対し,現在注目している明細行(カーソルを含む行)のすべての項目に対して初期化するようにする。初期化イベントを発生させ,イベント処理手段(初期化セクション)51を呼び出す。初期化セクションがない項目に対しては,イベント標準処理手段6により未入力にする。初期値が入力された場合には,イベント変換制御手段33および派生制御手段4がその派生も行うように制御する。
【0118】
(l)項目クリア指示後の再表示処理
オペレータから項目クリア指示があった場合,現在注目している項目に対して初期化するようにする。初期化イベントを発生させ,イベント処理手段(初期化セクション)51を呼び出す。初期化セクションがない項目に対しては,イベント標準処理手段6により未入力にする。初期値が入力された場合には,イベント変換制御手段33および派生制御手段4がその派生も行うように制御する。
【0119】
図12は,上記(i)から(l)の各処理における,画面再表示処理フローを示す図である。これら処理のうち,(j)の画面クリア指示後の再表示を例に,説明する。
【0120】
ステップS121において,対応する各項目に対して,ステップS122からステップS125の処理を行うための判定をする。該当する項目がなければ,この処理を終了する。
【0121】
ステップS122において,その項目に対して初期化セクションがない場合,またはその項目が明細行の項目であれば,ステップS123へ進み,そうでなければステップS124へ進む。
【0122】
ステップS123において,項目に未入力(NULL)を設定し,ステップS121へ戻る。
ステップS124において,その項目に対して定義されている初期化セクションを呼び出し,アプリケーションで必要な初期化処理を行う。
【0123】
ステップS125において,その項目を派生元とする派生セクションが定義されていれば,その派生セクションを呼び出して実行した後,ステップS121へ戻る。
【0124】
(m)未入力の明細行への新たなカーソル移動
明細行の場合には,カーソルが新しい明細行に移動するタイミングで,明細行を初期化する。明細行のすべての項目に対して初期化するようにする。すなわち,すべての項目に対して初期化イベントを発生させ,イベント処理手段(初期化セクション)51を呼び出す。初期化セクションがない項目に対しては,イベント標準処理手段6により未入力にする。初期値が入力された場合には,イベント変換制御手段33および派生制御手段4がその派生も行うように制御する。
【0125】
図13は,未入力の明細行への新たなカーソル移動処理フローを示す。
この処理は,図3に示すステップS26において行われる。
まず,ステップS131において,現在の行が未入力明細行であるかどうか判定し,未入力明細行であれば,ステップS132へ進む。ステップS132からS136の各ステップは,図12に示すステップS121からステップS125と同様であるので説明を省略する。
【0126】
(n)エラー発生後のカーソル移動
ある項目で何らかの理由でエラーが発生した後で,カーソルを移動しようとした場合,エラーを残さないようにするために,イベント制御手段3は,その項目を初期化する。つまり,初期化イベントのイベント処理手段(初期化セクション)51があれば,初期化イベントを発生させ,初期化セクションを呼び出す。初期化セクションがない項目に対しては,イベント標準処理手段6が未入力にする。初期値が入力された場合には,イベント変換制御手段33および派生制御手段4がその派生も行うように制御する。エラーは,例えばアプリケーションプログラムのイベント処理手段(入力チェックセクション等)51から,特定のフラグなどによりイベント制御手段3に通知される。
【0127】
図14は,エラー発生後のカーソル移動処理フローを示す。
この処理は,図2に示すステップS4において行われる。
ステップS141において,エラーの有無を判断し,エラーがあればステップS142へ進み,なければステップS146へ進む。
【0128】
ステップS142において,その項目の初期化セクションの有無を判定し,あればステップS143へ進み,なければステップS145へ進む。
ステップS143において,初期化セクションを呼び出す。
【0129】
ステップS144において,その項目を派生元とする派生セクションがあれば,その派生セクションを呼び出す。その後,ステップS146へ進む。
ステップS145において,初期化セクションがない場合,項目にNULLを設定し,未入力とする。
【0130】
ステップS146において,カーソルを次の項目へ移動する。
以上の説明から明らかなように,本実施例では,各種の物理イベントをイベント変換制御手段33により,初期化イベント,入力チェックイベント,派生イベント,フォーカスインイベントという4つの論理イベントに変換し,イベント処理手段51のイベント駆動を行う。すなわち,アプリケーションプログラムとしてのイベント処理手段51では,初期化イベント,入力チェックイベント,派生イベント,フォーカスインイベントという論理イベントの発生時に各項目に対して必要な処理を,それぞれ初期化セクション,入力チェックセクション,派生セクションまたはフォーカスインセクションとして記述するだけでよく,まったく制御機構を意識することなく,数少ない論理イベントに対応する処理を記述するだけで,事務処理等に必要なすべての処理を実現することができる。
【0131】
【発明の効果】
本発明によれば,次の効果により,アプリケーションプログラムの生産性を大幅に向上させることが可能となる。
【0132】
(イ)1つのアプリケーションプログラムにおいて,記述するイベント処理手段は,抽象度が高く,多くの物理イベントに対応している。このため従来では,何度も記述する必要があった処理の記述を一度で済ませることができる。イベントは互いに独立しているので,イベントが異なれば同じ処理を記述する必要はほとんどなくなる。
【0133】
(ロ)制御を記述する必要がない。制御機構は,記述するべきアプリケーションプログラムとは独立している。
(ハ)記述するイベント処理手段の抽象度が高いため,部品化することが可能である。本発明の制御方式により制御される項目部品は,カプセル化されているので,汎用性が非常に高く,他のアプリケーションプログラムにも利用することが可能である。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の一実施例における全体処理フローを示す図である。
【図3】本発明の一実施例における全体処理フローを示す図である。
【図4】本発明の一実施例における表示画面を示す図である。
【図5】本発明の一実施例におけるイベント処理手段の定義例を示す図である。
【図6】本発明の一実施例における明細行の複写処理フローを示す図である。
【図7】本発明の一実施例における明細行の削除処理フローを示す図である。
【図8】本発明の一実施例における検索指示の物理イベントに対応する処理フローを示す図である。
【図9】本発明の一実施例における明細行入力後のヘッダ項目の入力・修正処理フローを示す図である。
【図10】本発明の一実施例における明細行間のカーソル移動処理フローを示す図である。
【図11】本発明の一実施例における一度に複数の項目の値の変更処理フローを示す図である。
【図12】本発明の一実施例における画面クリア指示後等の再表示処理フローを示す図である。
【図13】本発明の一実施例における未入力の明細行への新たなカーソル移動処理フローを示す図である。
【図14】本発明の一実施例におけるエラー発生後のカーソル移動処理フローを示す図である。
【符号の説明】
1 ディスプレイ装置
2 ディスプレイ制御手段
3 イベント制御手段
31 イベント受け付け手段
32 イベント振り分け手段
33 イベント変換制御手段
33a 入力完了イベント制御手段
33b 検索実行イベント制御手段
33c 明細行複写イベント制御手段
33d フォーカスイン制御手段
34 表示制御・エラー制御手段
4 派生制御手段
5 応用処理手段
51 イベント処理手段[0001]
[Industrial applications]
BACKGROUND OF THE
[0002]
There are various methods for controlling the execution of a program. For example, when a unit price and quantity of a product are entered, a program that automatically calculates and displays the amount of money is displayed. It is suitable to use an event-driven program execution control method in which a desired program is automatically started when a specific condition is satisfied. In a device that controls the execution of such a program, a mechanism that can process the event with as few unified events as possible is desired for the application program.
[0003]
[Prior art]
In the development of application programs in the field of office work using conventional computers, an application that uses a standard control framework called a skeleton, adds display screens and database processing, and actually performs the necessary processing operations A method of creating a program was used. When the control is performed by the skeleton, the processing part of the actual application program is realized in the form of a subroutine call.
[0004]
There is also an application program that introduces object orientation and realizes a processing part of an application that has been realized in a subroutine format in the form of a method driven by an event (message).
[0005]
[Problems to be solved by the invention]
Many of the large amounts of paperwork associated with corporate activities can be performed automatically by combining computer hardware with paperwork application programs. However, the development work of the application program requires a lot of manpower, and the change work is frequent and complicated, so that it is necessary to save labor.
[0006]
The following problems remain in the development of the conventional application program consisting of the control unit and subroutine parts of the skeleton, and even if the object orientation is introduced as a measure to save changes, it still cannot be sufficiently solved. It wasn't.
[0007]
(1) The entire system cannot be completely event-driven (event driven), and the control part must be described on the application side based on the skeleton.
(2) Even if event driving can be realized, the degree of abstraction of events is low, and specific processing contents for many individual events must be described.
[0008]
The control unit does not perform the service but only provides the timing. A typical example is control of row copying in a tabular form or the like. In event processing, it is inevitable to check the validity of a value or to derive a value, since it depends on each application, but it is necessary to copy the value itself. Furthermore, it is not guaranteed that value checking and derivation can be used in common with other parts (event processing).
[0009]
(3) Even if event driving can be realized, a routine for processing each event must be described with functional restrictions so that inconsistency does not occur between events.
[0010]
A typical example is a cursor movement between detailed lines in a tabular form or the like. If input emulation control is not performed by the control unit, reading of data from the database must be guaranteed by the application program itself. The event processing routine for each item must describe the process of reading data from the database.
[0011]
Also, for example, in a search execution process in a database or the like, a process of finding a value of an item not in the database table must be described somewhere.
[0012]
As a type belonging to the above-mentioned types (1) and (2), there is an "item unit type screen input / output control system" disclosed in JP-A-4-238534. According to this, an application program can be described as a component in item units, but an item control component that individually determines control is still required.
[0013]
As a type belonging to the above-mentioned types (2) and (3), there is a "window application screen control method" disclosed in Japanese Patent Application Laid-Open No. 4-349529. According to this, a mechanism for calling a plurality of processes from one event is provided, but the conversion process must be described as a control in each application program.
[0014]
The present invention solves the above problems, and converts physical events such as completion of input, copy of detail lines, deletion of detail lines, and movement of the cursor between detail lines into a unified small number of logical events. By providing means as a control framework independent of application programs, event processing that must be described in individual application programs is simplified, the amount of description of event processing is reduced, and portability is improved by promoting the use of components. Another object of the present invention is to improve the maintainability, reduce the development man-hour of the application program, and shorten the development period.
[0015]
[Means for Solving the Problems]
In order to solve the above-mentioned problem, the present invention comprises the following means as shown in FIG.
[0016]
FIG. 1 is a diagram illustrating the principle of the present invention. In the figure, 1 is a display device, 2 is a display control means, 3 is an event control means, 4 is a derivation control means, 5 is an application processing means, 31 is an event receiving means, 32 is an event distribution means, and 33 is an event conversion control means. , 34 represent display control / error control means.
[0017]
The
The display control means 2 controls input / output devices such as the
[0018]
The event control means 3 has respective means for converting a physical event from the display control means 2 into a logical event. A logic event is also generated depending on the internal state and timing.
[0019]
The event receiving unit 31 is a processing unit that sends the physical event received from the
The event distribution unit 32 distributes the physical event obtained from the event reception unit 31 to various event
[0020]
The event
[0021]
The display control / error control unit 34 is a processing unit that performs display control and error control of the
The
[0022]
The event standard processing means 6 is a means for performing processing common to the application processing means 5 among the logical events. For example, in the
[0023]
[Action]
Conventional application programs in the field of business processing also provide a standard control framework called a skeleton and use an event-driven processing mechanism.
[0024]
However, the present invention is significantly different from the prior art in the following points.
(1) To have control means for converting many physical events into a few logical events such as input check events and derived events that do not depend on each physical event.
[0025]
(2) The application processing means 5 constituting the application program is not configured as a subroutine but as a set of event processing means 51 for each processing target item driven by a logical event (message).
[0026]
In other words, in the present invention, the skeleton (control framework), which is relatively fixed and does not depend much on the application program, is further divided into applications, and the skeleton is completely separated from the application program as a control routine. You. Further, the application processing part which has been conventionally realized in the form of a subroutine call from the skeleton adopts an object-oriented concept and is configured like a method driven by an event (message).
[0027]
As a result, the level of abstraction of each event process can be increased, and the common use of each event process can be achieved, so that it is possible to provide a business processing device with higher productivity and a control method thereof.
[0028]
In FIG. 1, an event control means 3 and a derivation control means 4 correspond to a skeleton part which does not depend much on an application program, and an event processing means 51 in the application processing means 5 corresponds to an object-oriented method. Corresponds to the part to be created. That is, the developer of the application program only needs to describe the routine of the event processing means 51 for the necessary logical event for each processing item target.
[0029]
【Example】
An embodiment of the present invention will be described with reference to the drawings.
First, the flow of the entire process related to the event control according to the embodiment of the present invention will be described with reference to the flowcharts shown in FIGS.
[0030]
In step S1, it is determined whether there is an instruction to open a new screen or the like, and if there is an instruction, a process of opening a new screen is performed in step S2. When the program starts, an initial screen is opened.
[0031]
In step S3, the presence or absence of an error is determined. If there is an error, an error display process is performed in step S4, and the process proceeds to step S8.
If there is no error, the focus-in process is called in step S5. The focus-in process is a process that is performed when the cursor enters a new process item.
[0032]
In step S6, it is determined whether or not skip (forcible focus-out) is designated in the focus-in process. If skip is designated, the process from step S17 in FIG. 3 is performed. If skip is not designated, step S17 is performed. Step S7 is performed.
[0033]
A prompt is displayed in step S7, the contents of the screen updated in step S8 are displayed, and an input from the screen is waited in step S9.
In step S10, if there is a termination instruction, the termination processing of step S11 is performed, and the execution of the program is terminated. If there is no end instruction, processing corresponding to each physical event from step S12 is performed.
[0034]
In step S12, it is determined whether there is a screen clear instruction. If there is an instruction, screen clear processing in step S13 is performed. If not, the process proceeds to the next step S14.
In step S14, it is determined whether or not there is a search instruction. If there is an instruction, the search process in step S15 is performed. If not, the process proceeds to the next process.
[0035]
In step S16, as in the screen clearing process in step S13 and the search process in step S15, for example, determination of a physical event related to various types of preset processing and calling of event processing control for the physical event are performed.
[0036]
In step S17, it is determined whether or not the value has changed. For example, if a value is input from the screen in step S9 of FIG. 2, it is determined that the value has been changed due to the physical event of the input completion event, and the process proceeds to step S18. The value change includes not only that an existing value has been changed, but also that a value has been input for an uninput item.
[0037]
In step S18, the application program notifies the application program of the change of the value, generates an input check event for the process item whose value has been changed, and calls a predefined input check section to enable the check of the value. . This input check section corresponds to one of the event processing means 51 shown in FIG.
[0038]
In step S19, if a derived section is previously defined as an application program in a process item affected in relation to the process item whose value has been changed, the derived section is called.
[0039]
In steps S20 to S24, the types of other various physical events are determined, and various processes set in advance corresponding to the types are performed. For example, if a registration-instruction physical event is detected in step S20, registration processing in step S21 is performed. If a delete-instruction physical event is detected in step S22, deletion processing in step S23 is performed.
[0040]
In steps S25 and S26, the cursor is moved to the next input item, and the process returns to step S1 in FIG.
By repeating the above steps (S1 to S26), a processing routine for a logical event such as an input check section or a derived section described as an application program is operated.
[0041]
Next, a specific example of processing according to the present invention will be described with reference to a purchase slip as shown in FIG. FIG. 4 shows a display screen of the
[0042]
The customer name item 11 and the
[0043]
FIG. 5 is a definition example of the event processing means in the processing of the purchase slip 10.
(A) represents the event processing means 51A defined in the customer name item 11, and "CHECK SECTION" is a declaration statement of an input check section activated when a value is input in the customer name item 11. . In this "CHECK SECTION", a record corresponding to the value input to the customer name item 11 is read from the database, and the transfer of the tax classification from the master to the
[0044]
(B) represents the event processing means 51B defined in the
[0045]
(C) represents the event processing means 51C defined in the money amount item 16, and "DERIVED SECTION" is a declaration statement of a derived section that is activated when the value of the derived source item is changed. # () Indicates a derivation source item, and here, the
[0046]
(D) represents the event processing means 51D defined in the
[0047]
In this example, only one section is defined for each item, but a plurality of sections may be defined. In this embodiment, there are an initialization section, a focus-in section, and the like in addition to the input check section and the derived section.
[0048]
Hereinafter, some of the processing of the logical event with respect to the representative physical event will be exemplified, and the control thereof will be described. In particular, input, copy and deletion of detail lines will be described based on the purchase slip 10 shown in FIG.
[0049]
(A) About input processing
When "xx firm" is input to the customer name item 11 in FIG. 4 from the screen (Step S9 in FIG. 2), it is determined that the value has been changed (Step S17 in FIG. 3), and FIG. The "CHECK SECTION" shown is called (step S18 in FIG. 3). The corresponding record is read from the database by the event processing means 51A, and the tax classification is transferred from the master.
[0050]
The subsequent derivation processing of step S19 shown in FIG. 3 is skipped because there is no definition of the derivation section corresponding to the customer name. In step S25, it is determined that "the cursor is moved" by the input, and in step S26, the cursor is moved to the next input item. Here, the
[0051]
Next, in step S9 of FIG. 2, when "ballpoint pen" is input to the
[0052]
In the subsequent step S9, when, for example, “20” is input from the screen to the
[0053]
Since the value of the money amount item 16 has been changed, a derived section having the money amount as a derivation source is searched for. Then, since the derived section is defined in "DERIVED SECTION" shown in FIG. 5D, it is called. Here, since the tax classification is “no consumption tax”, a process of transferring the sum of the amounts to “10,000” as the total amount is performed. Thereafter, the
[0054]
The same processing is performed for the second line of the fountain pen in the detail line of the purchase slip 10, and “3,000” is displayed in the
[0055]
By the repetition of the above, the execution control of the
[0056]
(B) Copy of statement line
The problem with the copying of the detail line is that simply paying attention to the detail line, the value of the total amount becomes incorrect. This problem is solved in the present invention as follows, for example.
[0057]
The detail line copy processing is supported by the detail line copy event control means 33c in the event conversion control means 33. The detail line copy event control means 33c emulates the individual items of the copied detail lines. In other words, the detail line copy event control means 33c generates an event as if the value of the copy source item was input from the screen, and checks the value, recalculates the derived item, and returns the value from the database. Perform reading, etc.
[0058]
FIG. 6 shows a processing flow in the case of copying a detail line according to the present invention. When an instruction to copy a detail line is input in step S9 in FIG. 2, the process shown in FIG. 6 is performed in step S16 shown in FIG.
[0059]
In step S60 of FIG. 6, it is determined whether or not there is a physical event of line copying. The row copy physical event is notified from the display control means 2 shown in FIG. 1 by a row copy instruction using a menu or a PF key. If there is an instruction to copy a line, the process from step 61 is performed.
[0060]
In the following description, it is assumed that an instruction to copy the first line has been given in the purchase slip 10 of FIG. 4 in a state where two detailed lines have already been input. This instruction is performed by the operator moving the cursor to the first line in step S9 shown in FIG. 2 and instructing line copy using the menu or the PF key.
[0061]
By the insertion processing in step S61, the second and subsequent lines that have already been input are moved to make the second line empty.
In step S62, the items included in the processing target are the “ballpoint pen” of the
[0062]
In step S63, the value "ballpoint pen" of the copy source is copied to the second blank line.
In step S64, input check processing, that is, an input check section is called. Here, “CHECK SECTION” in FIG. 5B is called, and the unit price is transcribed.
[0063]
Next, in step S65, a derivation process is performed, but since a derivation section in which the
[0064]
In step S62, the process proceeds to the next item,
In step S63, the value "20" of the copy source is copied to the second blank line.
[0065]
In step S64, an input check process is performed. However, since an input check section is not defined in the
[0066]
In step S65, a derivation process, that is, a derivation section is called. Since a derived section having a quantity as a derivation source is defined for the amount item 16 as shown in FIG. 5C, the “DERIVED SECTION” is called. As a result, the amount is calculated and transferred to the amount item 16. Subsequently, since a change has occurred in the value of the money amount item 16, "DERIVED SECTION" of the total money amount shown in FIG. As a result, the total amount is calculated, and as a result, the total amount of the three lines in the detail line is transferred to the
[0067]
In step S62, since there is no item to be processed, the process exits the line copy process. In this line copying, since there is no new value change or cursor movement, the loop returns to the top of FIG. 2 and displays the line copied in step S8 of FIG. 2 and the changed total amount. Then, in step S9, a new input is waited.
[0068]
(C) Deletion of statement line
The problem with the deletion of detail lines is that, just like copying, if one focuses on the detail lines only, the value of the total amount becomes incorrect.
[0069]
FIG. 7 shows a processing flow in the case of deleting a detail line according to the present invention. The processing of steps S70 to S76 shown in FIG. 7 is the processing performed in step S16 shown in FIG.
[0070]
In the following description, it is assumed that two detailed lines have already been input in the purchase slip 10 of FIG. In step S9 in FIG. 2, it is assumed that the operator moves the cursor to the first line in order to delete the first line, and gives an instruction to delete the detail line using the menu or the PF key. This row deletion instruction is notified as a physical event from the display control means 2 shown in FIG.
[0071]
In step S70, the determination of the row deletion instruction is YES.
In step S71, the items to be processed are all items of the current detail line, and the following steps S72 to S76 are repeated until the processing for all items is completed. At first, the
[0072]
In step S72, it is determined whether there is an initialization section or a derived section. The initialization section is defined by a declaration statement of "INIT SECTION" in an application program that describes a process for each item. In this example, since there is neither an initialization section (INIT SECTION) nor a derived section (DERIVED SECTION) in the
[0073]
In step S73, the
In step S71, the next
[0074]
In the determination of step S72, since the derived section whose unit price is the derived source is defined in the DERIVED SECTION shown in FIG. 5C, the process proceeds to step S74.
[0075]
In step S74, since the initialization section is not defined in the
[0076]
In step S75, the derived section of the price item 16 with the unit price as the derivation source is called, but nothing is performed because the unit price has not been entered. Further, a derived section of the
[0077]
In step S71, the process moves to the
As a result, the same process as the
[0078]
In step 71 in the next loop, the process is shifted to the money amount item 16, and since there is a derived section in the money amount item 16 by the judgment in step S72, the process proceeds to step S74.
[0079]
In step S74, since the initialization section is not defined, the amount is not input, and the process proceeds to step S75.
In step S75, the derivation section of the
[0080]
In step S71 in the next loop, the processing for the corresponding item ends, and there is no item to be processed, so the process proceeds to step S76.
In step S76, the first line in which all items have not been input is deleted, the lines thereafter are sequentially moved, and the process exits the line deletion. In this line deletion, as in the case of line copying, there is no new value change or cursor movement. Therefore, the loop is returned to the top of FIG. 2, and the result deleted in step S8 in FIG. indicate. Then, in step S9, a new input is waited.
[0081]
As is clear from the above examples of copying and deleting detailed lines, the application only describes the processing for input check events and derived events without being aware of physical events such as line duplication and line deletion. Is fine.
[0082]
Next, an example of control for converting another physical event into an input check event or a derived event that is a logical event will be described.
(D) Search execution
When a search is performed, the application program reads a record from the database and sets a value in a screen record. A record read from a database usually contains only key items, and does not include values determined by reading other databases or values calculated by simple calculations. However, since there are such items in the screen record, simply copying a record from the database to the screen record is not enough.
[0083]
In the embodiment of the present invention, a logical event is generated as if a key item was input from a screen. The application program considers that input data has been given from the screen by the input check event and the derived event, which are the logical events generated in this way, and obtains the value corresponding to the data by reading from another database or calculating it. can do. The event control means 3 treats the value obtained by the application program as a screen record and displays it on the screen.
[0084]
FIG. 8 shows a processing flow corresponding to the physical event of the search instruction.
Step S80 shown in FIG. 8 corresponds to step S14 shown in FIG. 2, and the following steps S81 to S88 correspond to step S15 shown in FIG.
[0085]
In step S80, it is determined whether or not there is a physical event of the search instruction based on the input in step S9 of FIG. If it is not a search instruction, the following processing is skipped.
[0086]
In step S81, if it is a search instruction, and if the search is currently being performed, a predetermined search end process is called in step S82 to perform the search end process. Otherwise, go to step S83.
[0087]
In step S83, a search execution process is called to perform a database search process.
In step S84, all items are cleared.
[0088]
In step S85, a search result display process is called, and a search result display process is performed.
In step S86, the following processing is performed for all items.
[0089]
In step S87, if an input check section is defined for the item for which the value has been set by the search, the input check section is called, and the application processes the item.
[0090]
In step S88, if a derived section is defined from the item for which the value is set, the derived section is called, and the application processes the item affected by the item.
[0091]
Next, the process returns to step S86, and the process is repeated in the same manner. If no corresponding item remains, the process of the search execution event is terminated.
(E) About input / correction processing of header items after inputting detail lines
In the form of the form including the header, the detail line, and the tail portion as in the example of the purchase slip 10 described above, generally, the item of the detail line and the item of the tail portion are affected by the value of the item of the header. Sometimes. In the case of the purchase slip 10, the value of the
[0092]
After the value is input to the detail line, the event conversion control means 33 returns to the item of the header, and when the value of the item is input and corrected, performs the input emulation for the item after the corrected item. . For each item, generate a logical event as if the value was input from the screen, check the value by the input check section described as the application program, recalculate the derived item by the derived section, reload the database, etc. I do.
[0093]
FIG. 9 shows a processing flow of inputting and correcting a header item after inputting a description line.
In step S90, it is determined whether or not there has been an input completion physical event, that is, whether or not a value has been input. If so, the following steps S91 to S95 are executed. If not, the process ends.
[0094]
In step S91, it is determined whether or not the input item is a header. If the input item is a header, the process proceeds to step S92; otherwise, the process ends.
In step S92, it is determined whether or not there is an input in the detail line, and if there is already an input, the process is continued; otherwise, the process is terminated.
[0095]
In step S93, the following processing is performed for each item of the detail line in which the input is made.
In step S94, if there is an input check section for the item on the detail line where the input has been made, it is called, and the application processes the item.
[0096]
In step S95, if there is a derived section from which the item is derived, the derived section is called and the application is processed.
Next, the process returns to step S93, and the process is repeated in the same manner. If no corresponding item remains, this process ends.
[0097]
(F) Cursor movement processing between detail lines
If you are reading the database at the beginning of the description line, the items after that will be affected by the value of the read database record. In the case of such a form, when the value is corrected by moving the cursor between detail lines, it is necessary to read the database again.
[0098]
When the cursor is moved and a value is input, the event conversion control means 33 generates an input check event for the item and causes the input check section to evaluate the value before the input item. Input emulation is performed in order from. In other words, an event is generated for each item as if it were input from the screen, the value is checked by the input check section, the derived item is recalculated by the derived section, and the database is reloaded. After these emulations are completed, The value actually input is passed to the event processing means (application program) of the item.
[0099]
FIG. 10 is a diagram showing a flow of a cursor moving process between detail lines.
In step S100, it is determined whether or not a value has been input, and if so, the following steps S101 to S107 are executed. If not, the process ends.
[0100]
In step S101, the line number input this time is compared with the line number input last time. If the detail line of the item input this time is earlier than the detail line of the item input last time, step S105 The process proceeds to step S102 if it is behind.
[0101]
In step S102, the processing of step S103 and the processing of step S104 are performed on each item before the current item in the current row.
In step S103, the input check section defined for the item is called, and the application is processed.
[0102]
In step S104, if there is a derived section from which the item is derived, the derived section is called, and the application processes the affected item.
[0103]
As a result of the determination in step S102, steps S103 and S104 are similarly repeated for all items up to the current item in the current row, and when the processing is completed, the process proceeds to step S105.
[0104]
In step S105, since it is troublesome that the value of the current item is rewritten due to derivation, the value is reset to the current item.
In step S106, the input check section defined for the current item is called, and the application processes the item.
[0105]
In step S107, if a derived section having the item as a derivation source is defined, the derived section is called and the application is processed. After that, this processing ends.
[0106]
(G) Skip at focus-in
In this embodiment, in addition to the input check section and the derived section, a focus-in section can be described as one of the event processing means 51. When the cursor enters a target item, a logical event called a focus-in event is generated. Controls the calling of the focus-in section.
[0107]
If an item has an event of focus-in, the value may already be determined at the focus-in timing, and the operator may not need to input. In this case, when a value is set as the processing of the focus-in event and the input skip (forced focus-out) is specified, the event
[0108]
If there is an error, forced focus out is disabled. If there is no error, the focus moves to the next item.
Steps S3 and S5 shown in FIG. 2 are the parts that perform this processing.
[0109]
(H) Processing for changing the values of multiple items at once
Also in this case, control is performed by input emulation. To improve the response speed, the operator can input a plurality of items at once.
[0110]
An event is generated in the application program as if one item was input at a time. Such input emulation is performed for all items that have actually been input.
[0111]
FIG. 11 is a diagram illustrating a processing flow for changing values of a plurality of items at a time.
In step S111, a plurality of items are input on the screen.
In step S112, a determination is made for performing the processing from step S113 to step S116 on the values of all the input items.
[0112]
In step S113, the value input to the item is set.
In step S114, the input check section corresponding to the input value is called, and the application processes the item.
[0113]
In step S115, if a derived section whose source is the item is defined, the derived section is called, and a derivation process is performed by the application program.
[0114]
In step S116, the processing target is advanced to the next item.
Returning to step S112, if there is no corresponding item, this process ends.
Next, control for converting a certain physical event into a logical event called initialization will be described. In the application program, if an initialization section is described using a declaration statement "INIT SECTION" as necessary for each item, control can be obtained by an initialization event when initialization is required. . There are two types of initialization, that is, a state where no input is made and a case where an initial value is set. However, here, the initialization is summarized without distinction.
[0115]
(I) Screen open processing
If there is a physical event of screen open, initialize all items. For an item having an event processing means of an initialization event, that is, for an item in which an initialization section is defined, the event conversion control means 33 calls the initialization section. The item is left uninput by the event standard processing means 6. When an initial value is input, the event conversion control means 33 and the derivation control means 4 perform control so that the derivation is performed. However, all the detail lines are left blank.
[0116]
(J) Redisplay processing after screen clear instruction
When an operator clears the screen, all items are initialized. Therefore, an initialization event is generated, and the event processing means (initialization section) 51 is called. For an item without an initialization section, the event standard processing means 6 makes that item uninput. When an initial value is input, the event conversion control means 33 and the derivation control means 4 perform control so that the derivation is performed. However, all the detail lines are left blank.
[0117]
(K) Redisplay processing after clearing a group (sub screen, detail line, tail, etc.)
In response to a group clear instruction from the operator, all items of the currently focused detail line (the line including the cursor) are initialized. An initialization event is generated, and the event processing means (initialization section) 51 is called. For the item without the initialization section, the event standard processing means 6 does not input it. When an initial value is input, the event conversion control means 33 and the derivation control means 4 perform control so that the derivation is performed.
[0118]
(L) Redisplay processing after an item clear instruction
When an item clear instruction is given from the operator, the currently focused item is initialized. An initialization event is generated, and the event processing means (initialization section) 51 is called. For the item without the initialization section, the event standard processing means 6 does not input it. When an initial value is input, the event conversion control means 33 and the derivation control means 4 perform control so that the derivation is performed.
[0119]
FIG. 12 is a diagram showing a screen redisplay processing flow in each of the above-mentioned processings (i) to (l). Of these processes, description will be given by taking the redisplay after the screen clear instruction in (j) as an example.
[0120]
In step S121, it is determined for each corresponding item that the processing from step S122 to step S125 is to be performed. If there is no corresponding item, this process ends.
[0121]
In step S122, if there is no initialization section for the item, or if the item is an item of the detail line, the process proceeds to step S123, and if not, the process proceeds to step S124.
[0122]
In step S123, the item is set to “not entered” (NULL), and the process returns to step S121.
In step S124, an initialization section defined for the item is called, and initialization processing required by the application is performed.
[0123]
In step S125, if a derived section whose source is the item is defined, the derived section is called and executed, and the process returns to step S121.
[0124]
(M) New cursor movement to an unentered detail line
In the case of a detail line, the detail line is initialized when the cursor moves to a new detail line. Make sure to initialize all items on the line. That is, an initialization event is generated for all items, and the event processing means (initialization section) 51 is called. For the item without the initialization section, the event standard processing means 6 does not input it. When an initial value is input, the event conversion control means 33 and the derivation control means 4 perform control so that the derivation is performed.
[0125]
FIG. 13 shows a new cursor movement processing flow to an uninputted detail line.
This process is performed in step S26 shown in FIG.
First, in step S131, it is determined whether or not the current line is an uninput detailed line. If it is an uninput detailed line, the process proceeds to step S132. Steps S132 to S136 are the same as steps S121 to S125 shown in FIG.
[0126]
(N) Cursor movement after error occurrence
If an attempt is made to move the cursor after an error has occurred in a certain item for some reason, the event control means 3 initializes the item so that no error remains. That is, if there is an event processing means (initialization section) 51 for an initialization event, an initialization event is generated and the initialization section is called. For items without an initialization section, the event standard processing means 6 does not input them. When an initial value is input, the event conversion control means 33 and the derivation control means 4 perform control so that the derivation is performed. The error is notified to the
[0127]
FIG. 14 shows a cursor movement processing flow after an error has occurred.
This process is performed in step S4 shown in FIG.
In step S141, it is determined whether there is an error. If there is an error, the process proceeds to step S142; otherwise, the process proceeds to step S146.
[0128]
In step S142, it is determined whether or not there is an initialization section of the item, and if there is, the process proceeds to step S143; otherwise, the process proceeds to step S145.
In step S143, the initialization section is called.
[0129]
In step S144, if there is a derived section from which the item is derived, the derived section is called. Thereafter, the process proceeds to step S146.
If there is no initialization section in step S145, NULL is set in the item and the item is not input.
[0130]
In step S146, the cursor is moved to the next item.
As is clear from the above description, in the present embodiment, various physical events are converted into four logical events of an initialization event, an input check event, a derived event, and a focus-in event by the event conversion control means 33. The event driving of the processing means 51 is performed. That is, the event processing means 51 as an application program performs processing necessary for each item when a logical event such as an initialization event, an input check event, a derived event, and a focus-in event occurs, in the initialization section and the input check section, respectively. , It is only necessary to describe it as a derived section or focus-in section, and it is possible to realize all the processing necessary for office work etc. just by describing the processing corresponding to a few logical events without being aware of the control mechanism at all. it can.
[0131]
【The invention's effect】
According to the present invention, it is possible to significantly improve the productivity of application programs by the following effects.
[0132]
(A) In one application program, the event processing means to be described has a high degree of abstraction and supports many physical events. For this reason, the description of the process that had to be described many times in the past can be completed only once. Since events are independent of each other, there is almost no need to describe the same processing for different events.
[0133]
(B) There is no need to describe control. The control mechanism is independent of the application program to be described.
(C) Since the event processing means to be described has a high degree of abstraction, it can be made into components. Since the item components controlled by the control method of the present invention are encapsulated, the versatility is extremely high and can be used for other application programs.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating the principle of the present invention.
FIG. 2 is a diagram showing an overall processing flow in one embodiment of the present invention.
FIG. 3 is a diagram showing an overall processing flow in one embodiment of the present invention.
FIG. 4 is a diagram showing a display screen in one embodiment of the present invention.
FIG. 5 is a diagram showing a definition example of an event processing means in one embodiment of the present invention.
FIG. 6 is a diagram showing a copy processing flow of a detail line in one embodiment of the present invention.
FIG. 7 is a diagram showing a flow of processing for deleting a specification line in one embodiment of the present invention.
FIG. 8 is a diagram showing a processing flow corresponding to a physical event of a search instruction in one embodiment of the present invention.
FIG. 9 is a diagram showing a header item input / correction processing flow after a description line is input in one embodiment of the present invention.
FIG. 10 is a diagram showing a flow of a cursor moving process between detailed lines in one embodiment of the present invention.
FIG. 11 is a diagram showing a process flow of changing values of a plurality of items at a time in one embodiment of the present invention.
FIG. 12 is a diagram showing a flow of a re-display process after a screen clear instruction is issued in one embodiment of the present invention.
FIG. 13 is a diagram showing a flow of a new cursor moving process to a non-input detailed line in one embodiment of the present invention.
FIG. 14 is a diagram illustrating a flow of a cursor moving process after an error has occurred according to an embodiment of the present invention.
[Explanation of symbols]
1 Display device
2 Display control means
3 Event control means
31 Event receiving means
32 Event distribution means
33 Event conversion control means
33a Input completion event control means
33b Search execution event control means
33c Detail line copy event control means
33d focus-in control means
34 Display control and error control means
4 Derivation control means
5 Applied processing means
51 Event processing means
Claims (5)
前記処理対象項目対応に,前記処理対象項目に値が設定されたことを通知する入力チェックの論理イベント,前記処理対象項目の値の変更により影響を受ける他の処理対象項目に対し関連項目の値の変更を通知する派生の論理イベント,前記処理対象項目の初期化を通知する初期化の論理イベント,または前記処理対象項目にカーソルが入ったことを示すフォーカスインの論理イベントの各論理イベントに関するアプリケーションとして定義された処理を行うイベント処理プログラム群を記憶する手段と,
個々の入力指示情報に対応する物理イベントを,あらかじめ個々の物理イベントに応じて定められた前記論理イベントの一つまたは複数に変換するイベント変換制御手段と,
前記イベント変換制御手段により変換された論理イベントを受けて,該当する前記イベント処理プログラムを呼び出して起動するとともに,ある処理対象項目の値が変化した場合には,その項目に影響を受ける項目に対する派生の論理イベントにより該当する前記イベント処理プログラムを呼び出して起動する派生制御手段とを備えた
ことを特徴とするイベント駆動型処理装置。In a data processing device that processes a plurality of processing target items according to an application by event driving,
A logic event of an input check notifying that a value has been set for the processing target item corresponding to the processing target item, and a value of a related item with respect to other processing target items affected by a change in the value of the processing target item An application related to each of the following logical events: a derived logical event that notifies a change in the processing, an initialization logical event that notifies the initialization of the processing target item, or a focus-in logical event that indicates that the cursor has entered the processing target item. Means for storing an event processing program group for performing a process defined as
The physical event corresponding to the individual input instruction information, and Louis vent conversion control unit converts one or more of the logical event defined in accordance with the previously individual physical event,
Receiving the converted logical events by the event conversion control unit, together with the start by calling the appropriate the event processing program, when the value of a processed item has changed, affected by its Item And a derivation control unit that invokes and activates the event processing program corresponding to a derivation logical event corresponding to the event .
前記イベント変換制御手段は,画面レコードの処理対象項目に値が入力されたことを示す物理イベントを受けたときに,その物理イベントを,前記入力チェックの論理イベントおよび前記派生の論理イベントに変換する手段を備え,
前記派生制御手段は,その各論理イベントによって前記値が入力された処理対象項目に該当する前記イベント処理プログラムを呼び出して起動するように構成された
ことを特徴とするイベント駆動型処理装置。The event-driven processing device according to claim 1,
The event conversion control means, upon receiving a physical event indicating that a value has been input to the processing target item of the screen record, converts the physical event into the input check logical event and the derived logical event. With means,
The derivation controlling means, event-driven processing apparatus characterized in that it is configured to start by calling the event processing program corresponding to the processing target item of which value is input by the respective logical event.
前記イベント変換制御手段は,検索の実行によりある画面レコードの処理対象項目に値が設定された場合に,前記入力チェックの論理イベントおよび前記派生の論理イベントを発生する手段を備え,
前記派生制御手段は,その各論理イベントによって前記値が設定された処理対象項目に該当する前記イベント処理プログラムを呼び出して起動するように構成された
ことを特徴とするイベント駆動型処理装置。The event-driven processing device according to claim 1,
The event conversion control means includes means for generating the input check logical event and the derivative logical event when a value is set in a processing target item of a certain screen record by executing a search,
The derivation controlling means, event-driven processing apparatus characterized in that it is configured to start by calling the event processing program corresponding to the processing target item of which value is set by the respective logical event.
前記イベント変換制御手段は,前記物理イベントとして,画面レコードにおける明細行の複写を指示する物理イベントを受けたときに,その複写された個々の処理対象項目について画面から値が入力されたように,前記入力チェックの論理イベントおよび前記派生の論理イベントを発生する手段を備え,
前記派生制御手段は,その各論理イベントによって前記複写された処理対象項目に該当する前記イベント処理プログラムを呼び出して起動するように構成された
ことを特徴とするイベント駆動型処理装置。The event-driven processing device according to claim 1,
The event conversion control means, when receiving a physical event for instructing the copying of a detail line in a screen record as the physical event, such that a value is input from the screen for each of the copied processing target items. Means for generating the input check logical event and the derivative logical event,
The derivation controlling means, event-driven processing apparatus characterized in that it is configured to start by calling the event processing program corresponding to the replicated processed item by its respective logic event.
前記イベント変換制御手段が,個々の入力指示情報からその入力指示情報に対応して検出された物理イベントを,あらかじめ個々の物理イベントに応じて定められた,前記処理対象項目に値が設定されたことを通知する入力チェックの論理イベント,前記処理対象項目の値の変更により影響を受ける他の処理対象項目に対し関連項目の値の変更を通知する派生の論理イベント,前記処理対象項目の初期化を通知する初期化の論理イベント,または前記処理対象項目にカーソルが入ったことを示すフォーカスインの論理イベントの一つまたは複数に変換するステップと,
前記派生制御手段が,前記変換された論理イベントに基づき,前記処理対象項目対応に,前記入力チェックの論理イベント,前記派生の論理イベント,前記初期化の論理イベント,または前記フォーカスインの論理イベントの各論理イベントに関するアプリケーションとして定義された処理を行う,前記イベント処理プログラム群を記憶する手段に記憶されたイベント処理プログラムを呼び出して起動し,さらにある処理対象項目の値が変化した場合には,その項目に影響を受ける項目に対する派生の論理イベントにより該当するイベント処理プログラムを呼び出して起動するステップと,
前記呼び出されたイベント処理プログラムが,アプリケーションに応じた前記処理対象項目に対する処理を行うステップとを有する
ことを特徴とするイベント駆動制御方法。An event-driven control method in the event-driven processing device according to claim 1 ,
The event conversion control means sets a physical event detected from each piece of input instruction information in accordance with the input instruction information in the processing target item, which is determined in advance according to the individual physical event. Logical event of input check notifying that the change of the value of the processing target item, the derived logical event of notifying the change of the value of the related item to other processing target items affected by the change of the value of the processing target item, and initialization of the processing target item Conversion to one or more of a logical event of initialization for notifying or a logical event of focus-in indicating that the cursor has entered the processing target item;
The derivation control means determines, based on the converted logical event, a logical event of the input check, a logical event of the derivation, a logical event of the initialization, or a logical event of the focus-in corresponding to the processing target item. perform defined processing as an application for each logical event, start by calling the event processing program stored in the means for storing the event processing program group, if still a value of the processing target item is changed Calling and invoking the corresponding event processing program with a derived logical event for the item affected by the item,
An event-driven control method, wherein the called event processing program performs a process on the process target item according to an application.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29936493A JP3560253B2 (en) | 1993-11-30 | 1993-11-30 | Event driven processing device and event driven control method |
US08/253,860 US6035343A (en) | 1993-06-11 | 1994-06-03 | Method for executing software formed of software components and a system for executing such software |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29936493A JP3560253B2 (en) | 1993-11-30 | 1993-11-30 | Event driven processing device and event driven control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07152567A JPH07152567A (en) | 1995-06-16 |
JP3560253B2 true JP3560253B2 (en) | 2004-09-02 |
Family
ID=17871606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29936493A Expired - Fee Related JP3560253B2 (en) | 1993-06-11 | 1993-11-30 | Event driven processing device and event driven control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3560253B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6727675B1 (en) * | 2019-09-05 | 2020-07-22 | 株式会社コマースロボティクス | Information processing system, information processing method, and information processing program |
-
1993
- 1993-11-30 JP JP29936493A patent/JP3560253B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH07152567A (en) | 1995-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5428791A (en) | Configuration mechanism for a computer system having generic user interface and component-specific builder modules | |
US5815149A (en) | Method for generating code for modifying existing event routines for controls on a form | |
US5930806A (en) | Method and system for data migration from network database to relational database | |
US5873094A (en) | Method and apparatus for automated conformance and enforcement of behavior in application processing systems | |
US7165073B2 (en) | Dynamic, hierarchical data exchange system | |
US6035343A (en) | Method for executing software formed of software components and a system for executing such software | |
JP2004503841A (en) | Method and system for reporting XML data from legacy computer systems | |
US20020062477A1 (en) | Program specification generating system | |
Fowler et al. | Improving the design of existing code | |
JPH09198240A (en) | Mock-up method and controller therefor | |
CN109343833B (en) | Data processing platform and data processing method | |
GB2366421A (en) | Ordering relational database operations according to referential integrity constraints | |
JP2006505030A (en) | Context data display and retrieval method | |
JP3186117B2 (en) | Automatic program generation system using data-centric software components | |
JP3560253B2 (en) | Event driven processing device and event driven control method | |
US20040193759A1 (en) | Method and system for providing a smart card scripting tool | |
US20040181774A1 (en) | Work flow program generating apparatus and method | |
JP3741450B2 (en) | Item component element execution method and execution apparatus | |
JP4957043B2 (en) | Information processing apparatus, program, and business application introduction method | |
Korol | Microsoft® Access® 2010 Programming By Example: with VBA, XML, and ASP | |
JP4624044B2 (en) | Communication system between programs, communication method between programs, data structure generation system and program | |
JP3123400B2 (en) | Automatic asset correction history generation system | |
Rouleau | Beginning Entity Framework Core 2.0: Database Access from. NET | |
CN101442503A (en) | Method and computer program for a mediation processing node to update a message | |
JPH08292884A (en) | Repository device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20020618 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040415 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040521 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |