説明

エラー発生時に出力するメッセージ内容の動的制御システム及び方法

【課題】情報処理装置によって予め作成されているソフトウェア処理系において、動作中にエラーを生じたときに外部表示装置へ出力するエラーメッセージ数が上限を超える場合であっても、エラー情報テーブルの定義のみで、出力されるエラーメッセージ数を制御できるようにする。
【解決手段】エラーメッセージ出力の上限数をエラーメッセージ上限テーブル20に定義することにより、情報処理装置1−4で動作するソフトウェアがエラーメッセージ出力の上限数を把握し、上限値を超える場合には上限数と一致するエラーメッセージ出力を実施した後、続けて残りのエラーメッセージ出力を実施する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置でプログラムを動作させエラーが発生したときに出力するエラーメッセージの出力方法に関する技術である。
【背景技術】
【0002】
情報処理装置によって予め作成されているソフトウェア処理系において、動作中にエラーを生じたとき、外部表示装置へエラーメッセージを出力する。これに関係する技術として、特許文献1が挙げられる。特許文献1では、エラー情報生成パラメタテーブルを具備し、予め利用者固有カスタマイズを定義しておくことにより、エラー情報生成パラメタテーブルより抽出した規定に従ったエラーメッセージを出力する方法が開示されている。エラー情報生成パラメタテーブルには、ソフトウェアが検出するエラー状態を利用者に通知するかしないかの判断およびエラー状態を通知する際のエラーメッセージ本文の形式について、利用者固有のカスタマイズが定義される。これにより、ソフトウェアの利用者のレベルに合わせた適切なエラーメッセージを出力する利用者対応のカスタマイズ処理を容易にしている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平5-100911号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1では、一度に出力可能なエラーメッセージ出力数の上限については、考慮がされていない。そのため、エラーメッセージ出力数が上限値を超えるようなエラー情報テーブルについては対応出来ない。
【0005】
ここで、エラーメッセージ出力数とは、エラーメッセージとして出力される項目の数を指す。
【0006】
また、複数利用者に対するエラーメッセージ出力についての考慮がされていないことから、利用者毎に異なる上限数の出力手段でエラーメッセージ出力を行なうことが出来ない。
【課題を解決するための手段】
【0007】
本願発明では、エラーメッセージ出力の上限数をエラーメッセージ上限テーブルに定義することにより、情報処理装置で動作するソフトウェアがエラーメッセージ出力の上限数を把握し、上限値を超える場合には上限数と一致するエラーメッセージ出力を実施した後、続けて残りのエラーメッセージ出力を実施するよう制御を行なう。
【0008】
また、出力手段識別テーブルに利用者毎、かつエラーメッセージ毎の出力手段を定義する。
【発明の効果】
【0009】
本発明により、エラーメッセージ数が上限を超える場合であっても、エラー情報テーブルの定義のみで、出力されるエラーメッセージ数を制御することが可能となる。
【0010】
また、利用者毎、かつエラーメッセージ毎の出力手段を定義することで、利用者毎かつエラーメッセージ毎に異なる出力手段でエラーメッセージ出力を行なうことが可能となる。
【図面の簡単な説明】
【0011】
【図1】本実施形態におけるハードウエア構成図。
【図2】実施例1におけるフローチャート。
【図3】エラー情報保持テーブルのデータ構成図。
【図4】エラーメッセージ上限テーブルのデータ構成図。
【図5】エラーメッセージ生成パラメタテーブルのデータ構成図。
【図6】エラーメッセージ例(その1)。
【図7】実施例2におけるフローチャート。
【図8】エラーメッセージ生成パラメタテーブルのデータ構成図。
【図9】エラーメッセージ上限テーブルのデータ構成図。
【図10】エラーメッセージ例(その2)。
【図11】エラーメッセージ例(その3)。
【発明を実施するための形態】
【0012】
以下、図面を用いて本発明に関する実施の形態を説明する。
【実施例1】
【0013】
情報処理装置によって予め作成されているソフトウェア処理系において、動作中にエラーを生じたとき、外部表示装置へエラーメッセージを出力する。エラーメッセージ出力数が上限を超える場合であっても、エラー情報テーブルの定義のみで、出力されるエラーメッセージ数を制御する実施例を示す。
【0014】
ここで、エラーメッセージ出力数とは、エラーメッセージとして出力される項目の数を指す。
【0015】
図1に本実施の形態を構成するハードウエア構成図を示す。
【0016】
図1は、端末1-1、ウェブウェブアプリケーションサーバ1-2、DBサーバ1-3、バッチサーバ1-4、およびプリンタ1-5、1-6を備える。
【0017】
本実施の形態では、オペレータが端末1-1を操作し、端末1-1によりエラー情報生成パラメタテーブルの定義及びエラーメッセージ上限テーブルの定義のための入力を行なう。オペレータが操作する端末はすべてウェブアプリケーションサーバ1-2に接続されており、端末1-1により入力された情報はウェブアプリケーションサーバ1-2を経由してDBサーバ1-3の各テーブルへ登録される。ここで、DBサーバは、エラーメッセージを格納するエラー情報保持テーブル10と、一度に出力可能なエラーメッセージの数を格納するエラーメッセージ上限テーブル20と、エラーメッセージの作成に供する情報を格納するエラーメッセージ生成パラメタテーブル30とを備える。このエラーメッセージ上限テーブル20の具体例を図4に示す。エラーメッセージ生成パラメタテーブル30の具体例を図5に示す。
【0018】
DBサーバ1-3の各テーブルへ登録された情報は、バッチサーバ1-4により参照され、バッチサーバ1-4はDBサーバ1-3へ登録された情報に基づいてエラーメッセージを生成し、プリンタ1-5(又は1-6)により生成したエラーメッセージを出力する。
【0019】
次に、図2から図6を用いて、エラーメッセージの出力方法について具体的に説明する。
【0020】
まず、エラーメッセージ登録処理部40が、バッチサーバ1-4において異常を引き起こしたプログラムが入力情報として取り込んだ、ソフトウエア処理系の中間情報として作成された情報(入力情報)をプログラムID、エラーコードとともにエラー情報保持テーブル10に登録する(S100)。
【0021】
次に、エラーメッセージ上限数取得処理部50が、システムコードをキーに、一度に出力可能なエラーメッセージの上限数をエラーメッセージ上限テーブル20より取得する(S110)。
【0022】
ここで、システムコードとはシステムにおける共通コードを指す。さらに、エラーメッセージ対象取得処理部60が、エラー情報生成パラメタテーブル30から、エラーが発生したプログラムIDとエラーコードをキーに、該当するエラーメッセージ出力対象情報(項目名称、開始位置、バイト長)を取得する(S120)。このとき、該当するエラーメッセージ出力対象情報が複数存在する場合は、シーケンス番号の若い順に取得する。
【0023】
エラーメッセージ取得判定処理部90が、エラーメッセージ出力対象情報の取得の有無を判定し(S130)、取得ができた場合は、エラーメッセージ生成処理部70が、エラーメッセージ対象取得処理(S120)において取得したエラーメッセージ出力対象情報をもとに、エラーメッセージの生成を行なう(S140)。生成したエラーメッセージは一時記憶領域(メモリ)に記憶する。
【0024】
出力するエラーメッセージが複数存在する場合は、エラーメッセージ対象取得(S120)から出力(S160)までを繰り返し行なう。繰り返しの途中で、エラーメッセージ上限判定処理部100が、出力するエラーメッセージ数がエラーメッセージ上限数取得処理(S110)において取得したエラーメッセージ上限数と一致するかを判定する(S150)。この判定が一致した場合、一時記憶領域に格納していたエラーメッセージを出力する(S160)。その後、エラーメッセージ対象取得処理(S120)にて該当するエラーメッセージ出力対象情報が取得されなくなるまで、繰り返しを実行する。
【0025】
エラーメッセージ対象取得(S120)にて該当するエラーメッセージ出力対象情報が取得されなくなった場合、出力対象の有無を確認し(S170)、出力対象が有る場合はエラーメッセージ出力(S180)を行ない、処理を終了する。このとき、出力されたエラーメッセージは図6のようになる。
【実施例2】
【0026】
次に、利用者毎かつエラーメッセージ毎に異なる出力手段でエラーメッセージ出力を制御する実施例を示す。例えば、エラーメッセージから読み取りたい情報は、運用担当者と保守担当者等、立場によって異なるため、出力先コードおよびエラーコードにより、出力手段を制御する。
【0027】
まず、本実施例で使用するハードウエアは実施例1と同じく図1に示す装置である。
【0028】
図7から図11を用いて、エラーメッセージの出力方法について具体的に説明する。なお、エラー情報保持テーブルは実施例1と同じ図3のテーブルを利用し、エラーメッセージ上限テーブルは図9、エラーメッセージ生成パラメータテーブルは図8を利用する。実施例2のエラーメッセージ上限テーブルでは、複数の出力先コードが格納され、それぞれのコードに対応する上限数が紐付けられている。
【0029】
まず、エラーメッセージ登録処理部40が、バッチサーバ1-4においてエラーを発生したプログラムが入力情報として取り込んだ、ソフトウエア処理系の中間情報として作成された情報をプログラムID、エラーコードとともにエラー情報保持テーブル10に登録する(S200)。
【0030】
次に、エラーメッセージ対象取得処理部60が、エラー情報生成パラメタテーブル30より、エラーを発生したプログラムIDとエラーコードより、該当するエラーメッセージ出力対象情報(項目名称、開始位置、バイト長、出力先コード)を取得する。このとき、該当するエラーメッセージ出力対象情報が複数存在する場合は、出力先コードの若い順かつシーケンス番号の若い順に取得する。次に、出力先コードが前回レコードと一致するかどうか判定を行なう(S230)が、初回レコードの場合は必ずYesとなる。さらに、エラーメッセージ上限数取得処理部50が、エラーメッセージ対象取得(S210)において取得した出力先コードをもとに、一度に出力可能なエラーメッセージの上限数をエラーメッセージ上限テーブル20より取得する(S260)。なお、ここで出力先コードをもとにエラーメッセージ上限テーブルを取得するのは、出力先毎にエラーメッセージ上限数が異なるケースに対応するためである。
【0031】
エラーメッセージ生成処理部70が、エラーメッセージ登録(S200)において登録した、エラーを引き起こした入力情報と、エラーメッセージ対象取得(S210)において取得したエラーメッセージ出力対象情報とに基づき、エラーメッセージの生成を行う(S270)。生成されたエラーメッセージは、一時記憶領域に記憶する。
【0032】
出力するエラーメッセージが複数存在する場合は、エラーメッセージ対象取得(S210)から出力処理(S290)までを繰り返し行なう。繰り返しの途中、エラーメッセージ対象取得(S210)において、取得した出力先コードが前回取得した出力先コードと一致するかどうか判定を行なう(S230)。判定の結果、一致する場合は、出力対象判定処理(S240)および出力処理(S250)は行なわない。また、繰り返しの途中で、エラーメッセージ上限判定処理部が、出力するエラーメッセージ数がエラーメッセージ上限数取得(S260)において取得したエラーメッセージ上限数と一致するかを判定する(S280)。判定の結果、一致した場合は一時記憶領域に格納していたエラーメッセージを出力する(S290)。出力処理部80が、出力先コードをもとに、呼び出しを行なう出力サブプログラムを制御する。呼び出された出力サブプログラムにより、出力先プリンタが制御される。たとえば、出力サブプログラム1が呼び出された場合、プリンタ1-5へ出力され、出力サブプログラム2が呼び出された場合、プリンタ1-6へ出力される等のように制御される。
【0033】
次に、エラーメッセージ対象取得(S210)において取得した出力先コードが前回取得した出力先コードと一致しなくなるまで、再度、エラーメッセージ対象取得(S210)、エラーメッセージ上限数取得(S260)およびエラーメッセージ生成(S270)を繰り返す。
【0034】
エラーメッセージ対象取得(S210)において取得した出力先コードが前回取得した出力先コードと一致しなくなった場合(S230)、出力処理を行なう(S250)。このとき、出力されているエラーメッセージは図10のようになる。
【0035】
その後、エラーメッセージ対象取得(S210)にて該当するエラーメッセージ出力対象情報が取得されなくなるまで、同様に、エラーメッセージ対象取得(S210)、エラーメッセージ上限数取得(S260)およびエラーメッセージ情報生成(S270)を繰り返す。
【0036】
エラーメッセージ取得判定処理部が、エラーメッセージ出力対象情報が取得したかを判定し(S220)、取得できない場合は、出力対象の有無を確認し(S300)、その後エラーメッセージを出力する(S310)。このとき、出力されるエラーメッセージは図11のようになる。
【符号の説明】
【0037】
1-1:端末
1-2:ウェブアプリケーションサーバ
1-3:DBサーバ
1-4:バッチサーバ
1-5:プリンタ
10:エラー情報保持テーブル
20:エラーメッセージ上限テーブル
30:エラーメッセージ生成パラメタテーブル
40:エラーメッセージ登録処理部
50:エラーメッセージ上限取得処理部
60:エラーメッセージ対象取得処理部
70:エラーメッセージ生成処理部
80:出力処理部
90:エラーメッセージ取得判定処理部
100:エラーメッセージ上限判定処理部

【特許請求の範囲】
【請求項1】
プログラムで生じたエラーについてのエラー情報を出力するエラーメッセージ出力方法において、
予め出力先に応じたエラーメッセージに表示する項目数の上限値を定めたエラーメッセージ上限テーブルと、エラーが発生するプログラム毎に少なくともエラーの種類を規定するエラーコードとエラーメッセージの出力先を規定する出力先コードとを定めたエラーメッセージ生成パラメタテーブルと、を備え、
エラーが発生したプログラムが入力情報として取り込んだ情報を、当該プログラムのIDと共に取得し、これらの情報をエラー情報保持テーブルに格納するステップと、
前記エラーが発生したプログラムのIDから、当該プログラムに対応する出力先コードを取得するステップと、
前記取得した出力先コードに基づき前記エラーメッセージ上限テーブルからエラーメッセージに表示する項目の上限値を取得するステップと、
前記プログラムのIDから当該プログラムに対応するエラーメッセージ生成パラメタをエラーメッセージ生成パラメタテーブルから取得するステップと、
前記取得したエラーメッセージ生成パラメタテーブルと前記取得した出力先毎の上限値に基づき、出力先毎のエラーメッセージを生成するステップと、
前記エラーメッセージの上限値と出力対象エラーメッセージ数を比較するステップと、
前記比較が一致した場合に前記生成したエラーメッセージを出力するステップと、
を備えることを特徴とするエラーメッセージ出力方法。
【請求項2】
プログラムで生じたエラーについてのエラー情報を出力するエラーメッセージ出力方法において、
予めエラーメッセージに表示する項目数の上限値を定めたエラーメッセージ上限テーブルと、エラーが発生するプログラム毎に少なくともエラーの種類を規定するエラーコードとエラーメッセージの出力先を規定する出力先コードとを定めたエラーメッセージ生成パラメタテーブルと、を備え、
エラーが発生したプログラムが入力情報として取り込んだ情報を、当該プログラムのIDと共に取得し、これらの情報をエラー情報保持テーブルに格納するステップと、
前記エラーが発生したプログラムのIDから、当該プログラムに対応するメッセージに表示する項目数の上限値を前記エラーメッセージ上限テーブルから取得するステップと、
前記プログラムのIDから当該プログラムに対応するエラーメッセージ生成パラメタをエラーメッセージ生成パラメタテーブルから取得するステップと、
前記取得したエラーメッセージ生成パラメタテーブルからエラーメッセージを生成するステップと、
前記エラーメッセージの上限値と出力対象エラーメッセージ数を比較するステップと、
前記比較が一致した場合に前記生成したエラーメッセージを出力するステップと、
を備えることを特徴とするエラーメッセージ出力方法。
【請求項3】
請求項1又は2に記載のエラーメッセージ出力方法において、
前記、エラーメッセージに出力する項目には処理の順番を示すシーケンス番号が付されて前記エラーメッセージ生成パラメタテーブルに格納さえており、
前記エラーメッセージ生成パラメタをエラーメッセージ生成パラメタテーブルから取得するステップでは、当該シーケンス番号の小さい順に前記出力する項目を取得することを特徴とするエラーメッセージ出力方法。
【請求項4】
プログラムで生じたエラーについてのエラー情報を出力するエラーメッセージ出力装置において、
予め出力先に応じたエラーメッセージに表示する項目数の上限値を定めたエラーメッセージ上限テーブルと、エラーが発生するプログラム毎に少なくともエラーの種類を規定するエラーコードとエラーメッセージの出力先を規定する出力先コードとを定めたエラーメッセージ生成パラメタテーブルと、を格納した記憶部と、
エラーが発生したプログラムが入力情報として取り込んだ情報を、当該プログラムのIDと共に取得し、これらの情報をエラー情報保持テーブルに格納するエラーメッセージ登録処理部と、
前記エラーが発生したプログラムのIDから、当該プログラムに対応する出力先コードを取得し、当該取得した出力先コードと前記エラーメッセージ上限テーブルとから当該プログラムに対応するメッセージに表示する項目数の上限値を取得するエラーメッセージ上限取得処理部と、
前記プログラムのIDから当該プログラムに対応するエラーメッセージ生成パラメタをエラーメッセージ生成パラメタテーブルから取得するエラーメッセージ対象取得処理部と、
前記取得したエラーメッセージ生成パラメタテーブルと前記取得した出力先毎の上限値に基づき、出力先毎のエラーメッセージを生成するエラーメッセージ生成処理部と、
前記エラーメッセージの上限値と出力対象エラーメッセージ数を比較するエラーメッセージ上限判定処理部と、
前記比較が一致した場合に前記生成したエラーメッセージを出力する出力部と、
を備えることを特徴とする、エラーメッセージ出力装置。
【請求項5】
プログラムで生じたエラーについてのエラー情報を出力するエラーメッセージ出力装置において、
予めエラーメッセージに表示する項目数の上限値を定めたエラーメッセージ上限テーブルと、エラーが発生するプログラム毎に少なくともエラーの種類を規定するエラーコードとエラーメッセージの出力先を規定する出力先コードとを定めたエラーメッセージ生成パラメタテーブルと、を格納した記憶部と、
エラーが発生したプログラムが入力情報として取り込んだ情報を、当該プログラムのIDと共に取得し、これらの情報をエラー情報保持テーブルに格納するエラーメッセージ登録処理部と、
前記エラーが発生したプログラムのIDから、当該プログラムに対応するメッセージに表示する項目数の上限値を前記エラーメッセージ上限テーブルから取得するエラーメッセージ上限取得処理部と、
前記プログラムのIDから当該プログラムに対応するエラーメッセージ生成パラメタをエラーメッセージ生成パラメタテーブルから取得するエラーメッセージ対象取得処理部と、
前記取得したエラーメッセージ生成パラメタテーブルからエラーメッセージを生成するエラーメッセージ生成処理部と、
前記エラーメッセージの上限値と出力対象エラーメッセージ数を比較するエラーメッセージ上限判定処理部と、
前記比較が一致した場合に前記生成したエラーメッセージを出力する出力部と、
を備えることを特徴とする、エラーメッセージ出力装置。
【請求項6】
請求項4又は5に記載のエラーメッセージ出力装置において、
前記、エラーメッセージに出力する項目には処理の順番を示すシーケンス番号が付されて前記エラーメッセージ生成パラメタテーブルに格納さえており、
前記エラーメッセージ対象取得処理部は、当該シーケンス番号の小さい順に前記出力する項目を取得することを特徴とするエラーメッセージ出力装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2011−227842(P2011−227842A)
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【出願番号】特願2010−99388(P2010−99388)
【出願日】平成22年4月23日(2010.4.23)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】