JP2616451B2 - データチェック装置 - Google Patents
データチェック装置Info
- Publication number
- JP2616451B2 JP2616451B2 JP6193733A JP19373394A JP2616451B2 JP 2616451 B2 JP2616451 B2 JP 2616451B2 JP 6193733 A JP6193733 A JP 6193733A JP 19373394 A JP19373394 A JP 19373394A JP 2616451 B2 JP2616451 B2 JP 2616451B2
- Authority
- JP
- Japan
- Prior art keywords
- attribute
- record
- data
- check
- unit
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Description
【0001】
【産業上の利用分野】本発明は、或るシステムで作成さ
れたデータレコードに、そのデータレコードを他のシス
テムで利用した場合、属性エラーによりデータ例外を発
生させる部分が存在するか否かをチェックするデータチ
ェック装置に関する。
れたデータレコードに、そのデータレコードを他のシス
テムで利用した場合、属性エラーによりデータ例外を発
生させる部分が存在するか否かをチェックするデータチ
ェック装置に関する。
【0002】
【従来の技術】或るシステムAで作成されたデータレコ
ードを他のシステムBで利用する場合、システムBで認
識している基準データレコードの構造(データレコード
中の各項目の属性,項目長等)に基づいて、システムA
で作成されたチェック対象データレコードに、基準デー
タレコードに対して属性エラーとなる部分が存在するか
否かを事前にチェックしておくことが必要になる。
ードを他のシステムBで利用する場合、システムBで認
識している基準データレコードの構造(データレコード
中の各項目の属性,項目長等)に基づいて、システムA
で作成されたチェック対象データレコードに、基準デー
タレコードに対して属性エラーとなる部分が存在するか
否かを事前にチェックしておくことが必要になる。
【0003】チェック対象データレコード中に、基準デ
ータレコードに対して属性エラーとなる部分が存在する
か否かをチェックする技術としては、従来、基準データ
レコードの各項目の項目属性,項目長を含む項目定義情
報を外部記憶装置に格納しておき、データレコードのチ
ェック時、チェック対象データレコードを読み込むと共
に項目定義情報を主記憶装置上に展開し、この項目定義
情報に基づいて読み込んだチェック対象データレコード
に属性エラーとなる部分が存在するか否かをチェックす
る技術(例えば、特開昭59−148921号公報)が
知られており、この技術を利用することにより、システ
ムAで作成されたデータレコードが、基準データレコー
ドに対して属性エラーとなる部分を有しているか否かを
チェックすることができる。即ち、システムBが認識し
ている基準データレコードの各項目の項目属性,項目長
を項目定義情報として外部記憶装置に格納しておけば良
い。
ータレコードに対して属性エラーとなる部分が存在する
か否かをチェックする技術としては、従来、基準データ
レコードの各項目の項目属性,項目長を含む項目定義情
報を外部記憶装置に格納しておき、データレコードのチ
ェック時、チェック対象データレコードを読み込むと共
に項目定義情報を主記憶装置上に展開し、この項目定義
情報に基づいて読み込んだチェック対象データレコード
に属性エラーとなる部分が存在するか否かをチェックす
る技術(例えば、特開昭59−148921号公報)が
知られており、この技術を利用することにより、システ
ムAで作成されたデータレコードが、基準データレコー
ドに対して属性エラーとなる部分を有しているか否かを
チェックすることができる。即ち、システムBが認識し
ている基準データレコードの各項目の項目属性,項目長
を項目定義情報として外部記憶装置に格納しておけば良
い。
【0004】
【発明が解決しようとする課題】ところで、データレコ
ードの属性チェックを行なう場合、特定の属性について
のみ、属性チェックを行なえば十分な場合がある。例え
ば、システムBのデータレコード処理に関する機能のテ
ストを、システムBで作成したデータレコードが存在し
ないことからシステムAで既に作成されているデータレ
コードを利用して行なう場合であって、システムBで
は、上記データレコードには、属性が数字の項目と属性
が英数字の項目の2種類しか含まれていないと認識して
いる場合は、システムAで作成されたデータレコード
(このデータレコード中の項目は、数字,英数字,ゼロ
サプレスの内の何れかの属性であることが保証されてい
るとする)中の、システムBで属性が数字であると認識
している部分についてのみ属性チェックを行なえば十分
である。
ードの属性チェックを行なう場合、特定の属性について
のみ、属性チェックを行なえば十分な場合がある。例え
ば、システムBのデータレコード処理に関する機能のテ
ストを、システムBで作成したデータレコードが存在し
ないことからシステムAで既に作成されているデータレ
コードを利用して行なう場合であって、システムBで
は、上記データレコードには、属性が数字の項目と属性
が英数字の項目の2種類しか含まれていないと認識して
いる場合は、システムAで作成されたデータレコード
(このデータレコード中の項目は、数字,英数字,ゼロ
サプレスの内の何れかの属性であることが保証されてい
るとする)中の、システムBで属性が数字であると認識
している部分についてのみ属性チェックを行なえば十分
である。
【0005】即ち、システムBで属性が数字であると認
識している部分を、システムAでは属性が英数字,ゼロ
サプレスと認識している場合は、システムAで作成され
たデータレコードの上記部分には、数字以外のコードが
格納されていることがあり、そのようなデータレコード
を使用してシステムBのテストを行なうと、データ例外
の発生によりテストが中断してしまうが、システムBで
属性が英数字であると認識している部分を、システムA
では属性が数字,ゼロサプレスであると認識していても
データ例外は発生しないからである。
識している部分を、システムAでは属性が英数字,ゼロ
サプレスと認識している場合は、システムAで作成され
たデータレコードの上記部分には、数字以外のコードが
格納されていることがあり、そのようなデータレコード
を使用してシステムBのテストを行なうと、データ例外
の発生によりテストが中断してしまうが、システムBで
属性が英数字であると認識している部分を、システムA
では属性が数字,ゼロサプレスであると認識していても
データ例外は発生しないからである。
【0006】このように、データレコードの特定の属性
についてのみ、属性チェックを行なえば十分な場合であ
っても、上記した従来の技術は、基準データレコードの
全ての項目の項目属性,項目長を外部記憶装置に格納す
るようにしているので、全ての項目について属性チェッ
クが行なわれてしまう。即ち、不必要な項目についても
属性チェックが行なわれるため、無駄な処理時間が多く
なるという問題がある。また、このような問題をなくす
ため、属性チェックを行なうことが必要な項目の項目属
性,項目開始位置,項目長のみを外部記憶装置に格納す
ることも考えられるが、この場合は、利用者が、チェッ
クを行なうことが必要になる項目の属性,開始位置,項
目長をレコード構造定義情報を解析することにより取得
しなければならないため、利用者に負担がかかるという
問題があった。
についてのみ、属性チェックを行なえば十分な場合であ
っても、上記した従来の技術は、基準データレコードの
全ての項目の項目属性,項目長を外部記憶装置に格納す
るようにしているので、全ての項目について属性チェッ
クが行なわれてしまう。即ち、不必要な項目についても
属性チェックが行なわれるため、無駄な処理時間が多く
なるという問題がある。また、このような問題をなくす
ため、属性チェックを行なうことが必要な項目の項目属
性,項目開始位置,項目長のみを外部記憶装置に格納す
ることも考えられるが、この場合は、利用者が、チェッ
クを行なうことが必要になる項目の属性,開始位置,項
目長をレコード構造定義情報を解析することにより取得
しなければならないため、利用者に負担がかかるという
問題があった。
【0007】そこで、本発明の目的は、利用者に負担を
かけることなく、データレコード中の特定の属性につい
てのみ属性チェックを行なうことができるデータチェッ
ク装置を提供することにある。
かけることなく、データレコード中の特定の属性につい
てのみ属性チェックを行なうことができるデータチェッ
ク装置を提供することにある。
【0008】
【課題を解決するための手段】本発明は上記目的を達成
するため、基準データレコードの構造を示すレコード構
造定義情報に基づいて前記基準データレコード中の各項
目の属性,開始位置及び項目長を示すレコード構造定義
展開情報を作成するレコード構造解析部と、チェック動
作指定パラメータ記述で指定されたチェック属性と前記
レコード構造解析部で作成したレコード構造定義展開情
報とに基づいて、チェック対象データレコード中のチェ
ックを行なうレコード内位置を求めるパラメータ解析部
と、前記チェック対象データレコードが格納されている
ファイルからデータレコードを1レコードずつ読み込む
データ読み込み部と、該データ読み込み部が読み込んだ
データレコードの内容の内、前記パラメータ解析部が求
めたレコード内位置の内容を取得するチェック対象部分
取得部と、該チェック対象部分取得部が取得した内容に
対して属性チェックを行なう属性チェック部とを備えた
ものである。
するため、基準データレコードの構造を示すレコード構
造定義情報に基づいて前記基準データレコード中の各項
目の属性,開始位置及び項目長を示すレコード構造定義
展開情報を作成するレコード構造解析部と、チェック動
作指定パラメータ記述で指定されたチェック属性と前記
レコード構造解析部で作成したレコード構造定義展開情
報とに基づいて、チェック対象データレコード中のチェ
ックを行なうレコード内位置を求めるパラメータ解析部
と、前記チェック対象データレコードが格納されている
ファイルからデータレコードを1レコードずつ読み込む
データ読み込み部と、該データ読み込み部が読み込んだ
データレコードの内容の内、前記パラメータ解析部が求
めたレコード内位置の内容を取得するチェック対象部分
取得部と、該チェック対象部分取得部が取得した内容に
対して属性チェックを行なう属性チェック部とを備えた
ものである。
【0009】また、属性エラーがあったチェック対象デ
ータレコード,属性エラー部分に対応する基準データレ
コードの項目名,属性エラー部分の内容を利用者に認識
させるという目的を達成するため、前記属性チェック部
で属性エラーが検出された部分を含むチェック対象デー
タレコードの相対番号,前記属性エラーが検出された部
分に対応する前記基準データレコードの項目名及び前記
属性エラーが検出された部分の内容を出力する結果出力
制御部を備えたものである。
ータレコード,属性エラー部分に対応する基準データレ
コードの項目名,属性エラー部分の内容を利用者に認識
させるという目的を達成するため、前記属性チェック部
で属性エラーが検出された部分を含むチェック対象デー
タレコードの相対番号,前記属性エラーが検出された部
分に対応する前記基準データレコードの項目名及び前記
属性エラーが検出された部分の内容を出力する結果出力
制御部を備えたものである。
【0010】また、本発明は、或るシステムで作成され
たデータレコードに、それを他のシステムで利用した場
合、属性エラーによりデータ例外を発生させる部分が含
まれていても、上記或るシステムで作成されたデータレ
コードから上記他のシステムでのテスト等に於いて利用
可能なデータレコードを作成できるようにするという目
的を達成するため、前記結果出力制御部は、前記属性チ
ェック部で属性エラーが検出されなかったチェック対象
データレコードについては該データレコードをそのまま
出力データファイルに出力し、前記属性チェック部で属
性エラーが検出されたチェック対象データレコードにつ
いては属性エラーが検出された部分の内容を属性エラー
のない内容に変更した後、前記出力データファイルに出
力するものである。
たデータレコードに、それを他のシステムで利用した場
合、属性エラーによりデータ例外を発生させる部分が含
まれていても、上記或るシステムで作成されたデータレ
コードから上記他のシステムでのテスト等に於いて利用
可能なデータレコードを作成できるようにするという目
的を達成するため、前記結果出力制御部は、前記属性チ
ェック部で属性エラーが検出されなかったチェック対象
データレコードについては該データレコードをそのまま
出力データファイルに出力し、前記属性チェック部で属
性エラーが検出されたチェック対象データレコードにつ
いては属性エラーが検出された部分の内容を属性エラー
のない内容に変更した後、前記出力データファイルに出
力するものである。
【0011】
【作用】レコード構造解析部は、基準データレコードの
構造を示すレコード構造定義情報に基づいて基準データ
レコード中の各項目の属性,開始位置及び項目長を示す
レコード構造定義展開情報を作成し、パラメータ解析部
は、チェック動作指定パラメータ記述で指定されたチェ
ック属性とレコード構造解析部が作成したレコード構造
定義展開情報とに基づいてチェック対象データレコード
中のチェックを行なうレコード内位置を求める。
構造を示すレコード構造定義情報に基づいて基準データ
レコード中の各項目の属性,開始位置及び項目長を示す
レコード構造定義展開情報を作成し、パラメータ解析部
は、チェック動作指定パラメータ記述で指定されたチェ
ック属性とレコード構造解析部が作成したレコード構造
定義展開情報とに基づいてチェック対象データレコード
中のチェックを行なうレコード内位置を求める。
【0012】データレコードのチェック時、データ読み
込み部がファイルからチェック対象データレコードを1
レコードずつ読み込む。
込み部がファイルからチェック対象データレコードを1
レコードずつ読み込む。
【0013】データ読み込み部がチェック対象データレ
コードを1つ読み込むと、チェック対象部分取得部が、
そのデータレコードの内容の内、パラメータ解析部が求
めたレコード内位置の内容を取得する。
コードを1つ読み込むと、チェック対象部分取得部が、
そのデータレコードの内容の内、パラメータ解析部が求
めたレコード内位置の内容を取得する。
【0014】チェック対象部分取得部がチェック対象と
する項目の内容を取得すると、属性チェック部が、その
項目の内容に対して属性チェックを行なう。また、結果
出力制御部は、属性チェック部で属性エラーが検出され
た部分を含むチェック対象データレコードの相対番号,
前記属性エラーが検出された部分に対応する基準データ
レコードの項目名及び前記属性エラーが検出された部分
の内容を出力する。
する項目の内容を取得すると、属性チェック部が、その
項目の内容に対して属性チェックを行なう。また、結果
出力制御部は、属性チェック部で属性エラーが検出され
た部分を含むチェック対象データレコードの相対番号,
前記属性エラーが検出された部分に対応する基準データ
レコードの項目名及び前記属性エラーが検出された部分
の内容を出力する。
【0015】また、他の構成に於いては、前記属性チェ
ック部で属性エラーが検出されなかったチェック対象デ
ータレコードについては該データレコードをそのまま出
力データファイルに出力し、前記属性チェック部で属性
エラーが検出されたチェック対象データレコードについ
ては属性エラーが検出された部分の内容を属性エラーの
ない内容に変更した後、出力データファイルに出力す
る。
ック部で属性エラーが検出されなかったチェック対象デ
ータレコードについては該データレコードをそのまま出
力データファイルに出力し、前記属性チェック部で属性
エラーが検出されたチェック対象データレコードについ
ては属性エラーが検出された部分の内容を属性エラーの
ない内容に変更した後、出力データファイルに出力す
る。
【0016】
【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
詳細に説明する。
【0017】図1は本発明の実施例のブロック図であ
り、データチェック装置1と、レコード構造定義情報2
と、チェック動作指定パラメータ記述3と、チェック対
象レコード格納ファイル4と、プリンタ等の出力装置5
と、出力データファイル6と、表示装置7と、入力装置
8とから構成されている。
り、データチェック装置1と、レコード構造定義情報2
と、チェック動作指定パラメータ記述3と、チェック対
象レコード格納ファイル4と、プリンタ等の出力装置5
と、出力データファイル6と、表示装置7と、入力装置
8とから構成されている。
【0018】データチェック装置1は、レコード構造入
力部11と、レコード構造解析部12と、レコード構造
定義展開テーブル13と、パラメータ入力部14と、パ
ラメータ解析部15と、パラメータ展開テーブル16
と、データ読み込み部17と、チェック対象部分取得部
18と、属性チェック部19と、結果出力制御部20と
から構成されている。
力部11と、レコード構造解析部12と、レコード構造
定義展開テーブル13と、パラメータ入力部14と、パ
ラメータ解析部15と、パラメータ展開テーブル16
と、データ読み込み部17と、チェック対象部分取得部
18と、属性チェック部19と、結果出力制御部20と
から構成されている。
【0019】レコード構造入力部11にはレコード構造
定義情報2が入力される。
定義情報2が入力される。
【0020】レコード構造定義情報2は、チェック対象
データレコードの属性チェックを行なう際に基準とする
基準データレコードの構造を示す情報であり、COBO
Lに於けるCOPY原文等がこれに相当する。図2はレ
コード構造定義情報2の内容例を示した図であり、この
例は、データレコードがPKEY,店番,顧客番号,カ
ナ顧客名,電話番号,預金残高の項目から構成され、店
番,顧客番号,預金残高の項目の属性が数字で、カナ顧
客名,電話番号の項目の属性が英数字であることを示し
ている。また、この例は、基本項目である店番,顧客番
号,カナ顧客名,電話番号,預金残高の項目長がそれぞ
れ3,8,20,12,11であることを示し、PKE
Yが店番,顧客番号の集団項目になっていることを示し
ている。
データレコードの属性チェックを行なう際に基準とする
基準データレコードの構造を示す情報であり、COBO
Lに於けるCOPY原文等がこれに相当する。図2はレ
コード構造定義情報2の内容例を示した図であり、この
例は、データレコードがPKEY,店番,顧客番号,カ
ナ顧客名,電話番号,預金残高の項目から構成され、店
番,顧客番号,預金残高の項目の属性が数字で、カナ顧
客名,電話番号の項目の属性が英数字であることを示し
ている。また、この例は、基本項目である店番,顧客番
号,カナ顧客名,電話番号,預金残高の項目長がそれぞ
れ3,8,20,12,11であることを示し、PKE
Yが店番,顧客番号の集団項目になっていることを示し
ている。
【0021】レコード構造解析部12は、レコード構造
入力部11が入力したレコード構造定義情報2を解析し
てレコード構造定義展開情報を生成し、それをレコード
構造定義展開テーブル13に展開する機能を有する。レ
コード構造定義展開情報は、レコード構造定義情報2に
よって構造が定義されている基準データレコードの各項
目の項目名,属性,開始位置,項目長を示すものであ
り、図3に示すように、1つの項目について情報が、レ
コード構造定義展開テーブル13の1つのテーブル番号
に対応する領域に格納される。
入力部11が入力したレコード構造定義情報2を解析し
てレコード構造定義展開情報を生成し、それをレコード
構造定義展開テーブル13に展開する機能を有する。レ
コード構造定義展開情報は、レコード構造定義情報2に
よって構造が定義されている基準データレコードの各項
目の項目名,属性,開始位置,項目長を示すものであ
り、図3に示すように、1つの項目について情報が、レ
コード構造定義展開テーブル13の1つのテーブル番号
に対応する領域に格納される。
【0022】パラメータ入力部14にはチェック動作指
定パラメータ記述3が入力される。
定パラメータ記述3が入力される。
【0023】チェック動作指定パラメータ記述3には、
チェック対象属性や、出力装置5,出力データファイル
6にどのような情報を出力するか等が記述される。図4
はチェック動作指定パラメータ記述3の内容例を示した
図である。
チェック対象属性や、出力装置5,出力データファイル
6にどのような情報を出力するか等が記述される。図4
はチェック動作指定パラメータ記述3の内容例を示した
図である。
【0024】図4の例は、チェック対象にする属性を数
字にし、チェック対象データレコード中に属性エラーが
あった場合は、概要情報(先頭のデータレコードから数
えて何番目のデータレコードであるのかを示す相対番
号,属性エラーがあった部分に対応する基準データレコ
ードの項目名,属性エラーがあった部分の内容)を出力
すると共に、データレコード中の属性エラーのあった部
分の内容を初期化(オール0)にして、そのデータレコ
ードを出力することを指示している。尚、図4の例は、
データレコード中の属性エラーのあった部分の内容を初
期化した後、そのデータレコードを出力することを指示
しているが、属性エラーのあった部分の内容を初期化す
る必要がない場合には、図4中のCLEAR文を削除す
れば良い。また、図4の例は、属性エラーのあった部分
を含むデータレコードのみを出力することを指示してい
るが、チェックしたデータレコードを全て出力する場合
には、図4中のSELECT文を削除すれば良い。更
に、概要情報を出力する必要がない場合は、図4中の第
1番目の文〜第3番目の文を削除すれば良い。
字にし、チェック対象データレコード中に属性エラーが
あった場合は、概要情報(先頭のデータレコードから数
えて何番目のデータレコードであるのかを示す相対番
号,属性エラーがあった部分に対応する基準データレコ
ードの項目名,属性エラーがあった部分の内容)を出力
すると共に、データレコード中の属性エラーのあった部
分の内容を初期化(オール0)にして、そのデータレコ
ードを出力することを指示している。尚、図4の例は、
データレコード中の属性エラーのあった部分の内容を初
期化した後、そのデータレコードを出力することを指示
しているが、属性エラーのあった部分の内容を初期化す
る必要がない場合には、図4中のCLEAR文を削除す
れば良い。また、図4の例は、属性エラーのあった部分
を含むデータレコードのみを出力することを指示してい
るが、チェックしたデータレコードを全て出力する場合
には、図4中のSELECT文を削除すれば良い。更
に、概要情報を出力する必要がない場合は、図4中の第
1番目の文〜第3番目の文を削除すれば良い。
【0025】パラメータ解析部15は、パラメータ入力
部14が入力したチェック動作指定パラメータ記述3と
レコード構造定義展開テーブル13に展開されているレ
コード構造定義展開情報とに基づいてチェック動作パラ
メータ展開情報を生成し、それをパラメータ展開テーブ
ル16に展開する機能を有する。
部14が入力したチェック動作指定パラメータ記述3と
レコード構造定義展開テーブル13に展開されているレ
コード構造定義展開情報とに基づいてチェック動作パラ
メータ展開情報を生成し、それをパラメータ展開テーブ
ル16に展開する機能を有する。
【0026】チェック動作パラメータ展開情報は、レコ
ード構造定義情報2で構造が定義されている基準データ
レコードの項目の内の、属性がチェック動作指定パラメ
ータ記述3によって指定されているチェック属性と一致
している項目それぞれについて、その項目についての情
報が格納されているレコード構造定義展開テーブル13
中の領域を示すテーブル番号と、その項目に対する比較
対象とを有している。また、チェック動作パラメータ展
開情報は、属性チェック部19,結果出力制御部20に
どのような動作を行なわせるかを示す動作フラグ及び概
要情報を出力するか否かを示す概要情報フラグも含んで
いる。図5はチェック動作パラメータ展開情報をパラメ
ータ展開テーブル16に展開した時のパラメータ展開テ
ーブル16の内容を示した図である。
ード構造定義情報2で構造が定義されている基準データ
レコードの項目の内の、属性がチェック動作指定パラメ
ータ記述3によって指定されているチェック属性と一致
している項目それぞれについて、その項目についての情
報が格納されているレコード構造定義展開テーブル13
中の領域を示すテーブル番号と、その項目に対する比較
対象とを有している。また、チェック動作パラメータ展
開情報は、属性チェック部19,結果出力制御部20に
どのような動作を行なわせるかを示す動作フラグ及び概
要情報を出力するか否かを示す概要情報フラグも含んで
いる。図5はチェック動作パラメータ展開情報をパラメ
ータ展開テーブル16に展開した時のパラメータ展開テ
ーブル16の内容を示した図である。
【0027】データ読み込み部17は、チェック対象と
するデータレコードが格納されているチェック対象レコ
ード格納ファイル4からデータレコードを1レコードず
つ読み込む機能を有する。
するデータレコードが格納されているチェック対象レコ
ード格納ファイル4からデータレコードを1レコードず
つ読み込む機能を有する。
【0028】チェック対象部分取得部18は、データ読
み込み部17が読み込んだデータレコードの内容の内、
チェック対象とする部分の内容を取得する機能を有す
る。
み込み部17が読み込んだデータレコードの内容の内、
チェック対象とする部分の内容を取得する機能を有す
る。
【0029】属性チェック部19は、チェック対象部分
取得部18が取得した内容に対して、パラメータ展開テ
ーブル16に格納されている比較対象に従ったチェック
を行なう。
取得部18が取得した内容に対して、パラメータ展開テ
ーブル16に格納されている比較対象に従ったチェック
を行なう。
【0030】結果出力制御部20は、パラメータ展開テ
ーブル16に格納されている概要情報フラグ,動作フラ
グの内容に従って、チェック結果等を出力する機能を有
する。
ーブル16に格納されている概要情報フラグ,動作フラ
グの内容に従って、チェック結果等を出力する機能を有
する。
【0031】次に、本実施例の動作を説明する。
【0032】今、例えば、システムBのデータレコード
処理に関する機能のテストを、システムBで作成したデ
ータレコードが存在しないことからシステムAで既に作
成されているデータレコードを利用して行なうことがで
きるか否かを調べるために、データチェック装置1を用
いてシステムAで作成されたデータレコードの属性チェ
ックを行なう場合を考えてみる。
処理に関する機能のテストを、システムBで作成したデ
ータレコードが存在しないことからシステムAで既に作
成されているデータレコードを利用して行なうことがで
きるか否かを調べるために、データチェック装置1を用
いてシステムAで作成されたデータレコードの属性チェ
ックを行なう場合を考えてみる。
【0033】この場合、オペレータは、先ず、システム
Bで認識している基準データレコードの構造を示すレコ
ード構造定義情報2をレコード構造入力部11に入力す
る。
Bで認識している基準データレコードの構造を示すレコ
ード構造定義情報2をレコード構造入力部11に入力す
る。
【0034】レコード構造解析部12は、レコード構造
入力部11にレコード構造定義情報2が入力されると、
図6の流れ図に示すように、入力されたレコード構造定
義情報2中の文を1つ読み込み (ステップS1)、その
文の構文解析を行なう (ステップS3)。
入力部11にレコード構造定義情報2が入力されると、
図6の流れ図に示すように、入力されたレコード構造定
義情報2中の文を1つ読み込み (ステップS1)、その
文の構文解析を行なう (ステップS3)。
【0035】そして、読み込んだ文に構文エラーがある
場合 (ステップS4がYES)は、表示装置7にエラー
表示を行なった後 (ステップS6)、その処理を終了す
る。また、構文エラーがない場合 (ステップS4がN
O)は、読み込んだ文によって定義されている項目につ
いてのレコード構造定義展開情報を生成してそれをレコ
ード構造定義展開テーブル13に展開する (ステップS
5)。
場合 (ステップS4がYES)は、表示装置7にエラー
表示を行なった後 (ステップS6)、その処理を終了す
る。また、構文エラーがない場合 (ステップS4がN
O)は、読み込んだ文によって定義されている項目につ
いてのレコード構造定義展開情報を生成してそれをレコ
ード構造定義展開テーブル13に展開する (ステップS
5)。
【0036】このステップS5の処理を詳細に説明する
と、次のようになる。即ち、読み込んだ文が基本項目を
定義するものである場合は、その文が定義している項目
の項目名,属性,開始位置及び項目長から構成されるレ
コード構造定義展開情報を生成し、生成したレコード構
造定義展開情報をレコード構造定義展開テーブル13中
の1つのテーブル番号に対応する領域に展開する。ここ
で、項目の開始位置は、読み込んだ文が最初の項目につ
いてのものである場合は「0」にし、そうでない場合
は、レコード構造定義展開テーブル13に前回展開した
レコード構造定義展開情報中の、項目の開始位置と項目
長とを加算した値にする。
と、次のようになる。即ち、読み込んだ文が基本項目を
定義するものである場合は、その文が定義している項目
の項目名,属性,開始位置及び項目長から構成されるレ
コード構造定義展開情報を生成し、生成したレコード構
造定義展開情報をレコード構造定義展開テーブル13中
の1つのテーブル番号に対応する領域に展開する。ここ
で、項目の開始位置は、読み込んだ文が最初の項目につ
いてのものである場合は「0」にし、そうでない場合
は、レコード構造定義展開テーブル13に前回展開した
レコード構造定義展開情報中の、項目の開始位置と項目
長とを加算した値にする。
【0037】また、読み込んだ文が集団項目を定義する
ものである場合は、その集団項目の項目長は、集団項目
中の全ての項目の項目長が判らないと、求めることがで
きないので、集団項目を定義する文を読み込んだ時点に
於いては、その集団項目のレコード構造定義展開情報の
内、項目名,属性(必ず英数字Xとする),開始位置の
み生成してそれらをレコード構造定義展開テーブル13
中の1つのテーブル番号に対応する領域に展開してお
き、項目長は、その集団項目に含まれている項目の項目
長が全て判った時点に於いて、それらを全て加算するこ
とにより求め、レコード構造定義展開テーブル13の上
記領域に展開する。
ものである場合は、その集団項目の項目長は、集団項目
中の全ての項目の項目長が判らないと、求めることがで
きないので、集団項目を定義する文を読み込んだ時点に
於いては、その集団項目のレコード構造定義展開情報の
内、項目名,属性(必ず英数字Xとする),開始位置の
み生成してそれらをレコード構造定義展開テーブル13
中の1つのテーブル番号に対応する領域に展開してお
き、項目長は、その集団項目に含まれている項目の項目
長が全て判った時点に於いて、それらを全て加算するこ
とにより求め、レコード構造定義展開テーブル13の上
記領域に展開する。
【0038】その後、レコード構造解析部12は、レコ
ード構造定義情報2中の次の文を1つ読み込み (ステッ
プS1)、その文について前述したと同様の処理を行な
う。レコード構造解析部12は、上述した処理をレコー
ド構造定義情報2中の全ての文について行なうと (ステ
ップS2がYES)と、表示装置7に正常終了表示を行
なった後 (ステップS7)、その処理を終了する。
ード構造定義情報2中の次の文を1つ読み込み (ステッ
プS1)、その文について前述したと同様の処理を行な
う。レコード構造解析部12は、上述した処理をレコー
ド構造定義情報2中の全ての文について行なうと (ステ
ップS2がYES)と、表示装置7に正常終了表示を行
なった後 (ステップS7)、その処理を終了する。
【0039】従って、今、例えば、レコード構造定義情
報2の内容が図2に示すものであるとすると、次のよう
な処理が行なわれることになる。
報2の内容が図2に示すものであるとすると、次のよう
な処理が行なわれることになる。
【0040】レコード構造解析部12は、レコード構造
定義情報2の先頭の文「02 PKEY.」を読み込む
と (ステップS1)、構文解析を行なう (ステップS
3)。この文の構文は正しいので、ステップS4の判断
結果はNOとなり、ステップS5の処理が行なわれる。
定義情報2の先頭の文「02 PKEY.」を読み込む
と (ステップS1)、構文解析を行なう (ステップS
3)。この文の構文は正しいので、ステップS4の判断
結果はNOとなり、ステップS5の処理が行なわれる。
【0041】この文は集団項目を定義するものであるの
で、レコード構造解析部12は、図3に示すように、項
目名「PKEY」,属性「X」,開始位置「0」をレコ
ード構造定義展開テーブル13のテーブル番号1の領域
に格納する (ステップS5)。
で、レコード構造解析部12は、図3に示すように、項
目名「PKEY」,属性「X」,開始位置「0」をレコ
ード構造定義展開テーブル13のテーブル番号1の領域
に格納する (ステップS5)。
【0042】次いで、レコード構造解析部12は、第2
番目の文「03 店番 PIC 9(3).」を読み込
む (ステップS1)。第2番目の文は、基本項目を定義
するものであるので、レコード構造解析部12は、図3
に示すように、項目名「店番」,属性「9」,開始位置
「0」,項目長「3」をレコード構造定義展開テーブル
13のテーブル番号2の領域に展開する (ステップS
5)。
番目の文「03 店番 PIC 9(3).」を読み込
む (ステップS1)。第2番目の文は、基本項目を定義
するものであるので、レコード構造解析部12は、図3
に示すように、項目名「店番」,属性「9」,開始位置
「0」,項目長「3」をレコード構造定義展開テーブル
13のテーブル番号2の領域に展開する (ステップS
5)。
【0043】その後、レコード構造解析部12は第3番
目の文「03 顧客番号 PIC9(8).」を読み込
む (ステップS1)。第3番目の文も、基本項目を定義
するものであるので、レコード構造解析部12は、図3
に示すように、レコード構造定義展開テーブル13のテ
ーブル番号3の領域に、項目名「顧客番号」,属性
「9」,開始位置「3」,項目長「8」を展開する (ス
テップS5)。
目の文「03 顧客番号 PIC9(8).」を読み込
む (ステップS1)。第3番目の文も、基本項目を定義
するものであるので、レコード構造解析部12は、図3
に示すように、レコード構造定義展開テーブル13のテ
ーブル番号3の領域に、項目名「顧客番号」,属性
「9」,開始位置「3」,項目長「8」を展開する (ス
テップS5)。
【0044】次いで、レコード構造解析部12は、第4
番目の文「02 カナ顧客名 PIC X(20).」
を読み込む (ステップS1)。第4番目の文も、基本項
目を定義するものであるので、レコード構造解析部12
は、図3に示すように、レコード構造定義展開テーブル
13のテーブル番号4の領域に、項目名「カナ顧客
名」,属性「X」,開始位置「11」,項目長「20」
を設定し、また、第4番目の文を読み込んだ時点に於い
て、集団項目を定義する第1番目の文が閉じたことが判
るので、レコード構造解析部12は、第2番目,第3番
目の文によって示される項目の項目長「3」,「8」を
加算し、加算結果「11」を集団項目の項目長としてレ
コード構造定義展開テーブル13のテーブル番号1の領
域に展開する(ステップS5)。
番目の文「02 カナ顧客名 PIC X(20).」
を読み込む (ステップS1)。第4番目の文も、基本項
目を定義するものであるので、レコード構造解析部12
は、図3に示すように、レコード構造定義展開テーブル
13のテーブル番号4の領域に、項目名「カナ顧客
名」,属性「X」,開始位置「11」,項目長「20」
を設定し、また、第4番目の文を読み込んだ時点に於い
て、集団項目を定義する第1番目の文が閉じたことが判
るので、レコード構造解析部12は、第2番目,第3番
目の文によって示される項目の項目長「3」,「8」を
加算し、加算結果「11」を集団項目の項目長としてレ
コード構造定義展開テーブル13のテーブル番号1の領
域に展開する(ステップS5)。
【0045】その後、レコード構造解析部12は、レコ
ード構造定義情報2中の第5番目,第6番目の文を順次
読み込み、前述した処理を行なう。そして、第6番目の
文「02 預金残高 PIC 9(11).」について
の処理が終了すると (ステップS2がYES)、表示装
置7に正常終了表示を行なった後 (ステップS7)、そ
の処理を終了する。
ード構造定義情報2中の第5番目,第6番目の文を順次
読み込み、前述した処理を行なう。そして、第6番目の
文「02 預金残高 PIC 9(11).」について
の処理が終了すると (ステップS2がYES)、表示装
置7に正常終了表示を行なった後 (ステップS7)、そ
の処理を終了する。
【0046】オペレータは、表示装置7に正常終了表示
が行なわれると、次にチェック動作指定パラメータ記述
3をパラメータ入力部14に入力する。尚、表示装置7
にエラー表示が行なわれた場合は、オペレータは、レコ
ード構造定義情報2中の誤りを修正し、修正後のレコー
ド構造定義情報2を再度入力する。
が行なわれると、次にチェック動作指定パラメータ記述
3をパラメータ入力部14に入力する。尚、表示装置7
にエラー表示が行なわれた場合は、オペレータは、レコ
ード構造定義情報2中の誤りを修正し、修正後のレコー
ド構造定義情報2を再度入力する。
【0047】パラメータ解析部15は、パラメータ入力
部14に、チェック動作指定パラメータ記述3が入力さ
れると、図7の流れ図に示すように、チェック動作指定
パラメータ記述3中の文を1つ読み込み (ステップS1
1)、読み込んだ文の構文を解析する (ステップS1
3)。
部14に、チェック動作指定パラメータ記述3が入力さ
れると、図7の流れ図に示すように、チェック動作指定
パラメータ記述3中の文を1つ読み込み (ステップS1
1)、読み込んだ文の構文を解析する (ステップS1
3)。
【0048】そして、読み込んだ文に構文エラーがある
場合 (ステップS14がYES)は、表示装置7にエラ
ー表示を行なった後 (ステップS15)、その処理を終
了する。また、読み込んだ文に構文エラーがない場合
(ステップS14がNO)は、チェック動作指定パラメ
ータ記述3中の次の文を読み込み (ステップS11)、
前述したと同様の処理を行なう。
場合 (ステップS14がYES)は、表示装置7にエラ
ー表示を行なった後 (ステップS15)、その処理を終
了する。また、読み込んだ文に構文エラーがない場合
(ステップS14がNO)は、チェック動作指定パラメ
ータ記述3中の次の文を読み込み (ステップS11)、
前述したと同様の処理を行なう。
【0049】そして、チェック動作指定パラメータ記述
3中の全ての文について前述した処理を行なうと、パラ
メータ解析部15は、読み込んだチェック動作指定パラ
メータ記述3とレコード構造定義展開テーブル13の内
容とに基づいてチェック動作指定パラメータ展開情報を
生成してそれをパラメータ展開テーブル16に展開し
(ステップS16)、その後、表示装置7に正常終了表
示を行なう (ステップS17)。
3中の全ての文について前述した処理を行なうと、パラ
メータ解析部15は、読み込んだチェック動作指定パラ
メータ記述3とレコード構造定義展開テーブル13の内
容とに基づいてチェック動作指定パラメータ展開情報を
生成してそれをパラメータ展開テーブル16に展開し
(ステップS16)、その後、表示装置7に正常終了表
示を行なう (ステップS17)。
【0050】図8は、図7のステップS16の処理の詳
細を示した流れ図であり、同図を参照してステップS1
6の処理を説明すると次のようになる。
細を示した流れ図であり、同図を参照してステップS1
6の処理を説明すると次のようになる。
【0051】先ず、パラメータ解析部15は、レコード
構造定義展開テーブル13を参照し、チェック動作指定
パラメータ記述3によって指定されているチェック属性
と同じ属性が格納されているレコード構造定義展開テー
ブル13の領域のテーブル番号を全て取得し、取得した
テーブル番号をパラメータ展開テーブル16に設定する
(ステップS21)。
構造定義展開テーブル13を参照し、チェック動作指定
パラメータ記述3によって指定されているチェック属性
と同じ属性が格納されているレコード構造定義展開テー
ブル13の領域のテーブル番号を全て取得し、取得した
テーブル番号をパラメータ展開テーブル16に設定する
(ステップS21)。
【0052】次いで、パラメータ解析部15は、パラメ
ータ展開テーブル16に比較対象を設定する。例えば、
チェック対象とする項目の属性として数字が指定されて
いる場合は、比較対象として不正十進を設定する (ステ
ップS22)。
ータ展開テーブル16に比較対象を設定する。例えば、
チェック対象とする項目の属性として数字が指定されて
いる場合は、比較対象として不正十進を設定する (ステ
ップS22)。
【0053】その後、パラメータ解析部15は、チェッ
ク動作指定パラメータ記述3中に概要情報の出力が指定
されているか否かを判断し、概要情報の出力が指定され
ている場合は概要情報フラグに「1」を設定し、指定さ
れていない場合は「0」を設定する (ステップS2
3)。
ク動作指定パラメータ記述3中に概要情報の出力が指定
されているか否かを判断し、概要情報の出力が指定され
ている場合は概要情報フラグに「1」を設定し、指定さ
れていない場合は「0」を設定する (ステップS2
3)。
【0054】更に、パラメータ解析部15は、チェック
動作指定パラメータ記述3中のCLEAR文,SELE
CT文の有無に基づいて動作フラグを設定する (ステッ
プS24)。即ち、CLEAR文,SELECT文が両
方とも存在する場合は、動作フラグとしてCSを設定
し、CLEAR文のみが存在する場合はCを設定し、S
ELECT文のみが存在する場合はSを設定し、両方と
も存在しない場合は「0」を設定する。
動作指定パラメータ記述3中のCLEAR文,SELE
CT文の有無に基づいて動作フラグを設定する (ステッ
プS24)。即ち、CLEAR文,SELECT文が両
方とも存在する場合は、動作フラグとしてCSを設定
し、CLEAR文のみが存在する場合はCを設定し、S
ELECT文のみが存在する場合はSを設定し、両方と
も存在しない場合は「0」を設定する。
【0055】従って、今、例えば、チェック動作指定パ
ラメータ記述3の内容が図4に示すものであり、レコー
ド構造定義展開テーブル13の内容が図3に示すもので
あるる場合、以下の処理が行なわれることになる。
ラメータ記述3の内容が図4に示すものであり、レコー
ド構造定義展開テーブル13の内容が図3に示すもので
あるる場合、以下の処理が行なわれることになる。
【0056】図4に示したチェック動作指定パラメータ
記述3は、第5番目の文「IF:DATA−ERR」に
よって、チェック対象の属性を数字にすることを指定し
ているので、パラメータ解析部15は、図3に示すレコ
ード構造定義展開テーブル13を参照し、数字を示す属
性「9」が格納されている領域のテーブル番号「2」,
「3」,「6」を、図5に示すように、パラメータ展開
テーブル16に設定する (ステップS21)。
記述3は、第5番目の文「IF:DATA−ERR」に
よって、チェック対象の属性を数字にすることを指定し
ているので、パラメータ解析部15は、図3に示すレコ
ード構造定義展開テーブル13を参照し、数字を示す属
性「9」が格納されている領域のテーブル番号「2」,
「3」,「6」を、図5に示すように、パラメータ展開
テーブル16に設定する (ステップS21)。
【0057】次いで、パラメータ解析部15は、第5番
目の文「IF: DATA−ERR」によって、チェッ
ク対象の属性を数字にすることを指定しているので、図
5に示すように、比較対象として不正十進(NUME)
を設定する (ステップS22)。
目の文「IF: DATA−ERR」によって、チェッ
ク対象の属性を数字にすることを指定しているので、図
5に示すように、比較対象として不正十進(NUME)
を設定する (ステップS22)。
【0058】その後、パラメータ解析部15は、第1番
目の文〜第3番目の文によって概要情報の出力が指定さ
れているので、図5に示すように、概要情報フラグに
「1」を設定する (ステップS23)。
目の文〜第3番目の文によって概要情報の出力が指定さ
れているので、図5に示すように、概要情報フラグに
「1」を設定する (ステップS23)。
【0059】更に、パラメータ解析部15は、第6番
目,第7番目にCLEAR文,SELECT文が存在す
ることから、図5に示すように、動作フラグとして「C
S」を設定する。
目,第7番目にCLEAR文,SELECT文が存在す
ることから、図5に示すように、動作フラグとして「C
S」を設定する。
【0060】オペレータは、チェック動作指定パラメー
タ記述3を入力した後、表示装置7に正常終了表示が行
なわれると、入力装置8を用いてデータ読み込み部17
に対して、システムAで作成されたチェック対象データ
レコードが格納されているチェック対象レコード格納フ
ァイル4の読み込みを指示する。尚、表示装置7にエラ
ー表示が行なわれた場合は、オペレータは、チェック動
作指定パラメータ記述3中の誤りを修正し、修正後のチ
ェック動作指定パラメータ記述3を再度入力する。
タ記述3を入力した後、表示装置7に正常終了表示が行
なわれると、入力装置8を用いてデータ読み込み部17
に対して、システムAで作成されたチェック対象データ
レコードが格納されているチェック対象レコード格納フ
ァイル4の読み込みを指示する。尚、表示装置7にエラ
ー表示が行なわれた場合は、オペレータは、チェック動
作指定パラメータ記述3中の誤りを修正し、修正後のチ
ェック動作指定パラメータ記述3を再度入力する。
【0061】データ読み込み部17は、データレコード
の読み込みが指示されると、図9の流れ図に示すよう
に、チェック対象レコード格納ファイル4からデータレ
コードを1つ読み込み (ステップS31)、それをチェ
ック対象部分取得部18に渡す(ステップS33)。そ
の後、データ読み込み部17は、待ち状態となり、チェ
ック対象部分取得部18から次のデータレコードの読み
込みが要求されるのを待つ (ステップS34)。
の読み込みが指示されると、図9の流れ図に示すよう
に、チェック対象レコード格納ファイル4からデータレ
コードを1つ読み込み (ステップS31)、それをチェ
ック対象部分取得部18に渡す(ステップS33)。そ
の後、データ読み込み部17は、待ち状態となり、チェ
ック対象部分取得部18から次のデータレコードの読み
込みが要求されるのを待つ (ステップS34)。
【0062】チェック対象部分取得部18は、データ読
み込み部17からチェック対象データレコードが渡され
ると、図10の流れ図に示すように、送られてきたデー
タレコードと、レコード構造定義展開テーブル13の内
容と、パラメータ展開テーブル16の内容とに基づい
て、送られてきたデータレコードの内、基準データレコ
ード中の、チェック動作指定パラメータ記述3によって
指定されたチェック対象の属性の項目部分と対応する部
分の内容を取得する (ステップS41)。
み込み部17からチェック対象データレコードが渡され
ると、図10の流れ図に示すように、送られてきたデー
タレコードと、レコード構造定義展開テーブル13の内
容と、パラメータ展開テーブル16の内容とに基づい
て、送られてきたデータレコードの内、基準データレコ
ード中の、チェック動作指定パラメータ記述3によって
指定されたチェック対象の属性の項目部分と対応する部
分の内容を取得する (ステップS41)。
【0063】このステップS41の処理を詳細に説明す
ると、チェック対象部分取得部18は、先ず、パラメー
タ展開テーブル16に格納されているテーブル番号を取
得する。例えば、パラメータ展開テーブル16の内容が
図5に示すものであるとすると、チェック対象部分取得
部18は、テーブル番号「2」,「3」,「6」を取得
することになる。
ると、チェック対象部分取得部18は、先ず、パラメー
タ展開テーブル16に格納されているテーブル番号を取
得する。例えば、パラメータ展開テーブル16の内容が
図5に示すものであるとすると、チェック対象部分取得
部18は、テーブル番号「2」,「3」,「6」を取得
することになる。
【0064】次に、チェック対象部分取得部18は、取
得したテーブル番号「2」,「3」,「6」に基づいて
レコード構造定義展開テーブル13を参照し、上記テー
ブル番号の領域に格納されている項目名,開始位置,項
目長を取得する。例えば、レコード構造定義展開テーブ
ル13の内容が図3に示すものであるとすると、チェッ
ク対象部分取得部18は、テーブル番号「2」の領域に
展開されている項目名「店番」,開始位置「0」,項目
長「3」と、テーブル番号「3」の領域に展開されてい
る項目名「顧客番号」,開始位置「3」,項目長「8」
と、テーブル番号「6」の領域に展開されている項目名
「預金残高」,開始位置「43」,項目長「11」とを
取得することになる。
得したテーブル番号「2」,「3」,「6」に基づいて
レコード構造定義展開テーブル13を参照し、上記テー
ブル番号の領域に格納されている項目名,開始位置,項
目長を取得する。例えば、レコード構造定義展開テーブ
ル13の内容が図3に示すものであるとすると、チェッ
ク対象部分取得部18は、テーブル番号「2」の領域に
展開されている項目名「店番」,開始位置「0」,項目
長「3」と、テーブル番号「3」の領域に展開されてい
る項目名「顧客番号」,開始位置「3」,項目長「8」
と、テーブル番号「6」の領域に展開されている項目名
「預金残高」,開始位置「43」,項目長「11」とを
取得することになる。
【0065】その後、チェック対象部分取得部18は、
データ読み込み部17から渡されたチェック対象データ
レコードの内の、上記取得した項目の開始位置,項目長
によって示される部分の内容を取得することにより、チ
ェック対象部分の内容を取得する。
データ読み込み部17から渡されたチェック対象データ
レコードの内の、上記取得した項目の開始位置,項目長
によって示される部分の内容を取得することにより、チ
ェック対象部分の内容を取得する。
【0066】ステップS41でチェック対象部分の内容
を取得すると、チェック対象部分取得部18は、取得し
たチェック対象部分の内容,チェック対象部分に対応す
る基準データレコードに於ける項目名及び現在処理対象
にしているチェック対象データレコードを属性チェック
部19に渡す (ステップS42)。その後、チェック対
象部分取得部18は、待ち状態となり、属性チェック部
19から次のデータレコードについての情報が要求され
るのを待つ (ステップS43)。
を取得すると、チェック対象部分取得部18は、取得し
たチェック対象部分の内容,チェック対象部分に対応す
る基準データレコードに於ける項目名及び現在処理対象
にしているチェック対象データレコードを属性チェック
部19に渡す (ステップS42)。その後、チェック対
象部分取得部18は、待ち状態となり、属性チェック部
19から次のデータレコードについての情報が要求され
るのを待つ (ステップS43)。
【0067】属性チェック部19は、チェック対象部分
取得部18からチェック対象部分の内容,項目名及び現
在処理対象にしているデータレコードが渡されると、図
11の流れ図に示すように、現在処理対象にしているデ
ータレコードがチェック対象レコード格納ファイル4に
格納されているデータレコードの内の先頭から何番目の
データレコードであるのかを示す変数iの値を「1」に
する (ステップS51)。
取得部18からチェック対象部分の内容,項目名及び現
在処理対象にしているデータレコードが渡されると、図
11の流れ図に示すように、現在処理対象にしているデ
ータレコードがチェック対象レコード格納ファイル4に
格納されているデータレコードの内の先頭から何番目の
データレコードであるのかを示す変数iの値を「1」に
する (ステップS51)。
【0068】その後、属性チェック部19は、パラメー
タ展開テーブル16から比較対象を取得し、それに基づ
いてチェック対象部分取得部18から渡されたチェック
対象部分の内容の内の1つをチェックする (ステップS
52)。例えば、パラメータ展開テーブル16中の比較
対象の内容が図5に示すようにNUMEである場合は、
属性チェック部19は、チェック対象部分の内容に不正
十進が存在するか否かをチェックする。
タ展開テーブル16から比較対象を取得し、それに基づ
いてチェック対象部分取得部18から渡されたチェック
対象部分の内容の内の1つをチェックする (ステップS
52)。例えば、パラメータ展開テーブル16中の比較
対象の内容が図5に示すようにNUMEである場合は、
属性チェック部19は、チェック対象部分の内容に不正
十進が存在するか否かをチェックする。
【0069】そして、チェック対象データレコード中の
チェック対象部分の内容にエラーがあると判断した場合
(ステップS53がYES)は、属性チェック部19
は、その内容とその部分に対応する基準データレコード
の項目名とを内部に保持した後(ステップS54)、チ
ェック対象部分取得部18から渡された内容の内の次の
内容についてのチェックを行なう (ステップS52)。
また、内容にエラーがない場合 (ステップS53がN
O)は、チェック対象部分取得部18から渡された内容
の内の次の内容についてチェックを行なう (ステップS
52)。
チェック対象部分の内容にエラーがあると判断した場合
(ステップS53がYES)は、属性チェック部19
は、その内容とその部分に対応する基準データレコード
の項目名とを内部に保持した後(ステップS54)、チ
ェック対象部分取得部18から渡された内容の内の次の
内容についてのチェックを行なう (ステップS52)。
また、内容にエラーがない場合 (ステップS53がN
O)は、チェック対象部分取得部18から渡された内容
の内の次の内容についてチェックを行なう (ステップS
52)。
【0070】そして、チェック対象部分取得部18から
渡されたチェック対象部分の内容全てについて上記した
処理を行なうと (ステップS55がYES)、属性チェ
ック部19は、エラーのあった部分に対応する基準デー
タレコードの内容,項目名を保持しているか否かを判断
する (ステップS56)。
渡されたチェック対象部分の内容全てについて上記した
処理を行なうと (ステップS55がYES)、属性チェ
ック部19は、エラーのあった部分に対応する基準デー
タレコードの内容,項目名を保持しているか否かを判断
する (ステップS56)。
【0071】そして、保持していないと判断した場合
(ステップS56がNO)は、パラメータ展開テーブル
16から渡された現在処理対象にしているデータレコー
ドを結果出力制御部20に渡す (ステップS61)。
(ステップS56がNO)は、パラメータ展開テーブル
16から渡された現在処理対象にしているデータレコー
ドを結果出力制御部20に渡す (ステップS61)。
【0072】また、保持していると判断した場合 (ステ
ップS56がYES)は、保持している内容,項目名及
び変数iの値(エラーのあったデータレコードの相対番
号)を概要情報として結果出力制御部20に渡し (ステ
ップS57)、次いで、保持している内容,項目名をク
リアする (ステップS58)。更に、属性チェック部1
9は、パラメータ展開テーブル16の動作フラグを参照
し、エラーのあった内容の初期化が指示されているか否
かを判断する (ステップS59)。即ち、動作フラグが
C或いはCSの場合は、初期化が指示されていると判断
する。
ップS56がYES)は、保持している内容,項目名及
び変数iの値(エラーのあったデータレコードの相対番
号)を概要情報として結果出力制御部20に渡し (ステ
ップS57)、次いで、保持している内容,項目名をク
リアする (ステップS58)。更に、属性チェック部1
9は、パラメータ展開テーブル16の動作フラグを参照
し、エラーのあった内容の初期化が指示されているか否
かを判断する (ステップS59)。即ち、動作フラグが
C或いはCSの場合は、初期化が指示されていると判断
する。
【0073】そして、初期化が指示されていないと判断
した場合 (ステップS59がNO)は、エラーのあった
データレコードをそのまま結果出力制御部20に渡し
(ステップS61)、初期化が指示されていると判断し
た場合は、現在処理対象にしているデータレコード中の
エラーのあった部分の内容を属性エラーのない内容に初
期化(例えば、オール0)して初期化後のデータレコー
ドを結果出力制御部20に渡す (ステップS60)。
した場合 (ステップS59がNO)は、エラーのあった
データレコードをそのまま結果出力制御部20に渡し
(ステップS61)、初期化が指示されていると判断し
た場合は、現在処理対象にしているデータレコード中の
エラーのあった部分の内容を属性エラーのない内容に初
期化(例えば、オール0)して初期化後のデータレコー
ドを結果出力制御部20に渡す (ステップS60)。
【0074】その後、属性チェック部19は、待ち状態
となり、結果出力制御部20から次のチェック結果が要
求されるのを待つ (ステップS62)。
となり、結果出力制御部20から次のチェック結果が要
求されるのを待つ (ステップS62)。
【0075】結果出力制御部20は、概要情報或いはデ
ータレコードが渡されると、図12の流れ図に示すよう
に、概要情報が渡されたのか、データレコードが渡され
たのかを判断する (ステップS71)。
ータレコードが渡されると、図12の流れ図に示すよう
に、概要情報が渡されたのか、データレコードが渡され
たのかを判断する (ステップS71)。
【0076】そして、概要情報が渡されたと判断した場
合は、結果出力制御部20は、パラメータ展開テーブル
16を参照して概要情報フラグが「1」になっているか
否かを判断し (ステップS72)、「0」になっている
と判断した場合は属性チェック部19からデータレコー
ドが渡されるのを待ち (ステップS74)、「1」にな
っていると判断した場合は概要情報を出力装置5に出力
した後 (ステップS73)、属性チェック部19からデ
ータレコードが渡されるのを待つ (ステップS74)。
合は、結果出力制御部20は、パラメータ展開テーブル
16を参照して概要情報フラグが「1」になっているか
否かを判断し (ステップS72)、「0」になっている
と判断した場合は属性チェック部19からデータレコー
ドが渡されるのを待ち (ステップS74)、「1」にな
っていると判断した場合は概要情報を出力装置5に出力
した後 (ステップS73)、属性チェック部19からデ
ータレコードが渡されるのを待つ (ステップS74)。
【0077】そして、属性チェック部19からデータレ
コードが渡されると、結果出力制御部20は、そのデー
タレコードを出力データファイル6に出力した後 (ステ
ップS75)、属性チェック部19に次のチェック結果
を要求する (ステップS76)。
コードが渡されると、結果出力制御部20は、そのデー
タレコードを出力データファイル6に出力した後 (ステ
ップS75)、属性チェック部19に次のチェック結果
を要求する (ステップS76)。
【0078】また、ステップS71に於いてデータレコ
ードが渡されたと判断した場合は、結果出力制御部20
は、パラメータ展開テーブル16の動作フラグを参照
し、エラーの無いデータレコードも出力することが指示
されているか否かを判断する (ステップS78)。即
ち、動作フラグが「C」か「0」の場合は、エラーの無
いデータレコードも出力することが指示されていると判
断する。そして、エラーの無いデータレコードも出力す
ることが指示されていると判断した場合は、ステップS
75の処理を行ない、そうでない場合はステップS76
の処理を行なう。
ードが渡されたと判断した場合は、結果出力制御部20
は、パラメータ展開テーブル16の動作フラグを参照
し、エラーの無いデータレコードも出力することが指示
されているか否かを判断する (ステップS78)。即
ち、動作フラグが「C」か「0」の場合は、エラーの無
いデータレコードも出力することが指示されていると判
断する。そして、エラーの無いデータレコードも出力す
ることが指示されていると判断した場合は、ステップS
75の処理を行ない、そうでない場合はステップS76
の処理を行なう。
【0079】属性チェック部19は、結果出力制御部2
0から次のチェック結果が要求されると(図11,ステ
ップS62)、チェック対象部分取得部18に対して次
のデータレコードについての情報を要求する (ステップ
S63)。
0から次のチェック結果が要求されると(図11,ステ
ップS62)、チェック対象部分取得部18に対して次
のデータレコードについての情報を要求する (ステップ
S63)。
【0080】チェック対象部分取得部18は、属性チェ
ック部19から次のデータレコードについての情報が要
求されると(図10,ステップS43)、データ読み込
み部17に対して次データレコードの読み込みを要求す
る (ステップS44)。
ック部19から次のデータレコードについての情報が要
求されると(図10,ステップS43)、データ読み込
み部17に対して次データレコードの読み込みを要求す
る (ステップS44)。
【0081】データ読み込み部17は、チェック対象部
分取得部18から次データレコードの読み込み要求があ
ると(図9,ステップS34)、前述したと同様の処理
を行なう(ステップS31〜S34)。
分取得部18から次データレコードの読み込み要求があ
ると(図9,ステップS34)、前述したと同様の処理
を行なう(ステップS31〜S34)。
【0082】データ読み込み部17で上記した処理が行
なわれることにより、チェック対象部分取得部18に
は、データ読み込み部17からデータレコードが1つ渡
される。チェック対象部分取得部18は、データ読み込
み部17からデータレコードが渡されると (図10,ス
テップS45)、前述したと同様の処理を行なう (ステ
ップS41〜S44)。
なわれることにより、チェック対象部分取得部18に
は、データ読み込み部17からデータレコードが1つ渡
される。チェック対象部分取得部18は、データ読み込
み部17からデータレコードが渡されると (図10,ス
テップS45)、前述したと同様の処理を行なう (ステ
ップS41〜S44)。
【0083】チェック対象部分取得部18で上記した処
理が行なわれることにより、属性チェック部19には、
チェック対象部分の内容,項目名及び現在処理対象にし
ているデータレコードが渡される。属性チェック部19
は、チェック対象部分取得部18からチェック対象部分
の内容,項目名及び現在処理対象にしているデータレコ
ードが渡されると(図11,ステップS64)、現在処
理対象にしているデータレコードの相対番号を示す変数
iの値を+1した後 (ステップS65)、前述したと同
様の処理を行なう (ステップS52〜S63)。
理が行なわれることにより、属性チェック部19には、
チェック対象部分の内容,項目名及び現在処理対象にし
ているデータレコードが渡される。属性チェック部19
は、チェック対象部分取得部18からチェック対象部分
の内容,項目名及び現在処理対象にしているデータレコ
ードが渡されると(図11,ステップS64)、現在処
理対象にしているデータレコードの相対番号を示す変数
iの値を+1した後 (ステップS65)、前述したと同
様の処理を行なう (ステップS52〜S63)。
【0084】属性チェック部19で上記した処理が行な
われることにより、現在処理対象にしているデータレコ
ードにエラーがある場合は、チェック結果として概要情
報とデータレコードとが結果出力制御部20に渡され、
エラーがない場合はチェック結果としてデータレコード
が結果出力制御部20に渡される。結果出力制御部20
は、属性チェック部19からチェック結果が渡されると
(図12,ステップS77)、前述したと同様の処理
(ステップS71〜S76)を行なう。
われることにより、現在処理対象にしているデータレコ
ードにエラーがある場合は、チェック結果として概要情
報とデータレコードとが結果出力制御部20に渡され、
エラーがない場合はチェック結果としてデータレコード
が結果出力制御部20に渡される。結果出力制御部20
は、属性チェック部19からチェック結果が渡されると
(図12,ステップS77)、前述したと同様の処理
(ステップS71〜S76)を行なう。
【0085】以下、データ読み込み部17,チェック対
象部分取得部18,属性チェック部19,結果出力制御
部20は、前述したと同様の処理を繰り返し行なう。
象部分取得部18,属性チェック部19,結果出力制御
部20は、前述したと同様の処理を繰り返し行なう。
【0086】そして、データ読み込み部17がチェック
対象レコード格納ファイル4の終わりを検出すると (図
9,ステップS32がYES)、データ読み込み部17
からチェック対象部分取得部18に対して終了通知が行
なわれ(図9,ステップS35)、データ読み込み部1
7はその処理を終了する。
対象レコード格納ファイル4の終わりを検出すると (図
9,ステップS32がYES)、データ読み込み部17
からチェック対象部分取得部18に対して終了通知が行
なわれ(図9,ステップS35)、データ読み込み部1
7はその処理を終了する。
【0087】また、チェック対象部分取得部18は、デ
ータ読み込み部17から終了通知を受けると(図10,
ステップS45)、属性チェック部19に対して終了通
知を行なった後 (ステップS46)、その処理を終了
し、属性チェック部19は、チェック対象部分取得部1
8から終了通知を受けると(図11,ステップS6
4)、結果出力制御部20に対して終了通知を行なった
後 (ステップS66)、その処理を終了する。また、結
果出力制御部20は、属性チェック部19から終了通知
を受けると(図12,ステップS77)、その処理を終
了する。
ータ読み込み部17から終了通知を受けると(図10,
ステップS45)、属性チェック部19に対して終了通
知を行なった後 (ステップS46)、その処理を終了
し、属性チェック部19は、チェック対象部分取得部1
8から終了通知を受けると(図11,ステップS6
4)、結果出力制御部20に対して終了通知を行なった
後 (ステップS66)、その処理を終了する。また、結
果出力制御部20は、属性チェック部19から終了通知
を受けると(図12,ステップS77)、その処理を終
了する。
【0088】尚、チェック動作指定パラメータ記述3の
内容によってデータチェック装置1に種々の動作を行な
わせることができるが、例えば、システムAで作成され
たデータレコードの内、属性エラーの無かったデータレ
コードはそのまま、属性エラーのあったデータレコード
は属性エラーが検出された部分の内容を初期化した後、
チェック対象レコード格納ファイル4に出力させるよう
にすることにより、システムAで作成されたデータレコ
ードに、システムBに於いてデータ例外を発生させる部
分があって、システムAで作成されたデータレコードの
ままでは、システムBのデータレコード処理に関する機
能のテスト等を行なうことができない場合であっても、
チェック対象レコード格納ファイル4を利用してシステ
ムBのデータレコード処理に関する機能のテスト等を行
なうことが可能になる。
内容によってデータチェック装置1に種々の動作を行な
わせることができるが、例えば、システムAで作成され
たデータレコードの内、属性エラーの無かったデータレ
コードはそのまま、属性エラーのあったデータレコード
は属性エラーが検出された部分の内容を初期化した後、
チェック対象レコード格納ファイル4に出力させるよう
にすることにより、システムAで作成されたデータレコ
ードに、システムBに於いてデータ例外を発生させる部
分があって、システムAで作成されたデータレコードの
ままでは、システムBのデータレコード処理に関する機
能のテスト等を行なうことができない場合であっても、
チェック対象レコード格納ファイル4を利用してシステ
ムBのデータレコード処理に関する機能のテスト等を行
なうことが可能になる。
【0089】
【発明の効果】以上説明したように本発明は、基準デー
タレコードの構造を示すレコード構造定義情報と、チェ
ックする項目の属性を指定するチェック動作指定パラメ
ータ記述3に基づいて、チェック対象データレコード中
の、属性チェックを行なうレコード内位置を求め、その
レコード内位置に基づいてチェック対象データレコード
の属性チェックを行なうようにしたものであるので、利
用者に負担をかけることなく、データレコード中の特定
の属性についてのみ属性チェックを行なうことができる
効果がある。
タレコードの構造を示すレコード構造定義情報と、チェ
ックする項目の属性を指定するチェック動作指定パラメ
ータ記述3に基づいて、チェック対象データレコード中
の、属性チェックを行なうレコード内位置を求め、その
レコード内位置に基づいてチェック対象データレコード
の属性チェックを行なうようにしたものであるので、利
用者に負担をかけることなく、データレコード中の特定
の属性についてのみ属性チェックを行なうことができる
効果がある。
【0090】また、本発明は、属性エラーがないチェッ
ク対象データレコードはそのまま出力データファイルに
出力し、属性エラーがあるデータレコードは属性エラー
のあった部分の内容を属性エラーの無い内容に変更した
データレコードを出力データファイルに出力するように
したものであるので、或るシステムで作成されたデータ
レコードが、他のシステムに於いて属性エラーとなる部
分を含んでいる場合に於いても、上記或るシステムで作
成されたデータレコードから上記他のシステムでテスト
等に於いて利用可能なデータレコードを作成することが
可能になるという効果がある。
ク対象データレコードはそのまま出力データファイルに
出力し、属性エラーがあるデータレコードは属性エラー
のあった部分の内容を属性エラーの無い内容に変更した
データレコードを出力データファイルに出力するように
したものであるので、或るシステムで作成されたデータ
レコードが、他のシステムに於いて属性エラーとなる部
分を含んでいる場合に於いても、上記或るシステムで作
成されたデータレコードから上記他のシステムでテスト
等に於いて利用可能なデータレコードを作成することが
可能になるという効果がある。
【図1】本発明の実施例のブロック図である。
【図2】レコード構造定義情報2の一例を示す図であ
る。
る。
【図3】レコード構造定義展開テーブル13の内容例を
示す図である。
示す図である。
【図4】チェック動作指定パラメータ記述3の一例を示
す図である。
す図である。
【図5】パラメータ展開テーブル16の内容例を示す図
である。
である。
【図6】レコード構造解析部12の処理例を示す流れ図
である。
である。
【図7】パラメータ解析部15の処理例を示す流れ図で
ある。
ある。
【図8】パラメータ解析部15の処理例を示す流れ図で
ある。
ある。
【図9】データ読み込み部17の処理例を示す流れ図で
ある。
ある。
【図10】チェック対象部分取得部18の処理例を示す
流れ図である。
流れ図である。
【図11】属性チェック部19の処理例を示す流れ図で
ある。
ある。
【図12】結果出力制御部20の処理例を示す流れ図で
ある。
ある。
1…データチェック装置 11…レコード構造入力部 12…レコード構造解析部 13…レコード構造定義展開テーブル 14…パラメータ入力部 15…パラメータ解析部 16…パラメータ展開テーブル 17…データ読み込み部 18…チェック対象部分取得部 19…属性チェック部 20…結果出力制御部 2…レコード構造定義情報 3…チェック動作指定パラメータ記述 4…チェック対象レコード格納ファイル 5…出力装置 6…出力データファイル 7…表示装置 8…入力装置
Claims (3)
- 【請求項1】 基準データレコードの構造を示すレコー
ド構造定義情報に基づいて前記基準データレコード中の
各項目の属性,開始位置及び項目長を示すレコード構造
定義展開情報を作成するレコード構造解析部と、 チェック動作パラメータ記述で指定されたチェック属性
と前記レコード構造解析部で作成したレコード構造定義
展開情報とに基づいて、チェック対象データレコード中
のチェックを行なうレコード内位置を求めるパラメータ
解析部と、 前記チェック対象データレコードが格納されているファ
イルからデータレコードを1レコードずつ読み込むデー
タ読み込み部と、 該データ読み込み部が読み込んだデータレコードの内容
の内、前記パラメータ解析部が求めたレコード内位置の
内容を取得するチェック対象部分取得部と、 該チェック対象部分取得部が取得した内容に対して属性
チェックを行なう属性チェック部とを備えたことを特徴
とするデータチェック装置。 - 【請求項2】 前記属性チェック部で属性エラーが検出
された部分を含むチェック対象データレコードの相対番
号,前記属性エラーが検出された部分に対応する前記基
準データレコードの項目名及び前記属性エラーが検出さ
れた部分の内容を出力する結果出力制御部を備えたこと
を特徴とする請求項1記載のデータチェック装置。 - 【請求項3】 前記結果出力制御部は、前記属性チェッ
ク部で属性エラーが検出されなかったチェック対象デー
タレコードについては該データレコードをそのまま出力
データファイルに出力し、前記属性チェック部で属性エ
ラーが検出されたチェック対象データレコードについて
は属性エラーが検出された部分の内容を属性エラーのな
い内容に変更した後、前記出力データファイルに出力す
ることを特徴とする請求項2記載のデータチェック装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6193733A JP2616451B2 (ja) | 1994-07-26 | 1994-07-26 | データチェック装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6193733A JP2616451B2 (ja) | 1994-07-26 | 1994-07-26 | データチェック装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0844605A JPH0844605A (ja) | 1996-02-16 |
JP2616451B2 true JP2616451B2 (ja) | 1997-06-04 |
Family
ID=16312909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6193733A Expired - Fee Related JP2616451B2 (ja) | 1994-07-26 | 1994-07-26 | データチェック装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2616451B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112010005494T5 (de) * | 2010-04-16 | 2013-01-31 | Mitsubishi Electric Corp. | Navigationssystem |
JP5810719B2 (ja) * | 2011-07-29 | 2015-11-11 | 富士通株式会社 | データ配置変更プログラム、データ配置変更方法およびデータ配置変更装置 |
-
1994
- 1994-07-26 JP JP6193733A patent/JP2616451B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0844605A (ja) | 1996-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7555707B1 (en) | Method and system for data binding in a block structured user interface scripting language | |
US4949253A (en) | Method and apparatus for automatically generating program | |
US9256584B2 (en) | Rich text handling for a web application | |
JP4313422B2 (ja) | 適応学習を使用する選択のための代案を提示する方法と装置 | |
US5701487A (en) | Method and apparatus for displaying locations of errors detected inside software macro calls | |
JPS61103247A (ja) | 翻訳プログラム作成システム | |
Althoff et al. | Observations on determinization of Büchi automata | |
US5212634A (en) | Method of and apparatus for automatically generating application program | |
JP2616451B2 (ja) | データチェック装置 | |
JP3715777B2 (ja) | 構造化文書編集方法及び構造化文書編集装置並びに構造化文書編集プログラムを記録した記録媒体 | |
JP3516843B2 (ja) | データベースアクセス方法 | |
JP2990077B2 (ja) | 文書作成装置およびその入力方法 | |
JP3329476B2 (ja) | かな漢字変換装置 | |
JP3596696B2 (ja) | 情報検索装置 | |
JP3068698B2 (ja) | 記憶装置付きファクシミリ装置 | |
JP2604066B2 (ja) | テキストファイル修正格納方法 | |
JP3050811B2 (ja) | 構文解析木データベース構築支援装置 | |
JPH11232149A (ja) | ファイル比較処理方法,装置およびファイルの比較処理プログラムを記憶した媒体 | |
JP2002259362A (ja) | 文書変換定義生成プログラム | |
JP2586799B2 (ja) | チェーン方式で管理されたメモリバッファの状態確認装置 | |
JP2722684B2 (ja) | ファイルシステムの検索装置 | |
Harford et al. | A new parsing method for non‐LR (1) grammars | |
JP3632239B2 (ja) | 文字変換装置 | |
JPH11353162A (ja) | プログラム修正結果比較方法 | |
JPH0449421A (ja) | ファイル編集方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |