(57)【要約】【課題】データの妥当性のチェック処理を行う共通部品を用いてノンプログラミングでデータを検証する。【解決手段】業務テーブル１１は取引ごとに発生するトランザクションデータが登録された複数のテーブルを含む。関連マスタテーブル１２は各取引において共通に使用されるマスタデータが登録された複数のテーブルを含む。チェック項目テーブル１３は、業務テーブル１１に含まれる各テーブル中のデータ項目ごとにそのデータ項目に登録されるデータが満たすべき条件を示すチェック仕様が登録されるテーブルである。標準チェック部品１４は、業務テーブル１１と関連マスタテーブル１２からデータを抽出し、チェック項目テーブル１３を参照して、業務テーブル１１に含まれる各テーブルの各データ項目について、チェック仕様を満たすか否かを検証する。標準チェック部品１４は、チェック結果を示す情報をチェック結果テーブル１５に格納する。【選択図】図１
2012104005.tif 000002
【特許請求の範囲】
【請求項１】
取引ごとに発生するデータが登録された複数のテーブルを含む業務テーブルと、前記各取引において共通に使用されるデータが登録された関連マスタテーブルと、前記業務テーブルに含まれる各テーブル中のデータ項目ごとに当該各データ項目に登録されるデータが満たすべき条件を示すチェック仕様が登録されるチェック項目テーブルと、チェック結果を示す情報が格納されるチェック結果テーブルとを記憶する記憶手段と、
ユーザによって作成された前記各チェック仕様を前記チェック項目テーブルに登録するチェック仕様登録手段と、
前記チェック項目テーブルからチェック仕様を示すパラメータ文字列を抽出するパラメータ文字列抽出手段と、
前記パラメータ文字列抽出手段によって抽出されたパラメータ文字列に基づいてクエリを作成し、作成した当該クエリを前記業務テーブル、または前記業務テーブルと前記関連マスタテーブルの両方に対して実行するクエリ実行手段と、
前記クエリ実行手段によって実行されたクエリの結果に基づいて、前記業務テーブルに含まれる各テーブルに登録されているデータが、前記チェック項目テーブルに登録されているチェック仕様を満たすか否か判定するチェック仕様判定手段と、
前記チェック仕様判定手段による判定の結果を示す情報を前記チェック結果テーブルに格納するチェック結果テーブル格納手段と、
を備えることを特徴とするデータ検証システム。
【請求項２】
取引ごとに発生するデータが登録された複数のテーブルを含む業務テーブルと、前記各取引において共通に使用されるデータが登録された関連マスタテーブルと、前記業務テーブルに含まれる各テーブル中のデータ項目ごとに当該各データ項目に登録されるデータが満たすべき条件を示すチェック仕様が登録されるチェック項目テーブルと、チェック結果を示す情報が格納されるチェック結果テーブルとを記憶する記憶手段を備えたデータ検証システムにおけるデータ検証方法であって、
ユーザによって作成された前記各チェック仕様を前記チェック項目テーブルに登録するステップと、
前記チェック項目テーブルからチェック仕様を示すパラメータ文字列を抽出するステップと、
前記抽出されたパラメータ文字列に基づいてクエリを作成し、作成した当該クエリを前記業務テーブル、または前記業務テーブルと前記関連マスタテーブルの両方に対して実行するステップと、
前記実行されたクエリの結果に基づいて、前記業務テーブルに含まれる各テーブルに登録されているデータが、前記チェック項目テーブルに登録されているチェック仕様を満たすか否か判定するステップと、
判定の結果を示す情報を前記チェック結果テーブルに格納するステップと、
を備えることを特徴とするデータ検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テーブルに設定されているデータの妥当性を検証するデータ検証システムおよびデータ検証方法に関する。
【背景技術】
【０００２】
基幹系システムの新規開発プロジェクトでは、現行システムからのデータ移行が必要となるケースがほとんどである。そのため、現行システムからデータを抽出して、新システムのテーブル構成にあう形に変換するツール「データ移行ツール」、および、移行したデータの整合性が確保されているか否かを検証するツール「データ検証ツール」が必要である。
しかし、業務アプリケーションの開発プロジェクトにおいては、アプリケーションの開発を優先する傾向にある点、および、現行システムの有識者の工数確保が難しい点等の理由により、一般的にデータ移行ツールとデータ検証ツールは、短期、および低コストでの開発が余儀なくされることが多い。
そのため、データ移行ツールとデータ検証ツールを標準化し、開発コストを削減することは、重要な課題の１つであり、プロジェクト毎に個別開発しないですむようにツールの汎用化が求められている。
【０００３】
そこで、例えば、特許文献１は、「データ移行ツール」に関して、データ移行に関するシェルスクリプトを自動作成し、データ移行を自動化する発明を開示する。
そして、特許文献２は、「データ検証ツール」に関して、移行前と移行後の代表的なデータパターンを抽出して、その結果を管理者が目視することによりデータ移行を検証する発明を開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１７１２２５号公報
【特許文献２】特開２００９−７０２４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献２に開示されている「データ検証ツール」は、移行前と移行後の代表的なデータパターンを抽出して比較するだけであり、データ検証として十分ではない。また、データパターンが抽出されても、当該データパターンの各項目の値が移行前と移行後で一致しているか否かは人間が確認するため、開発工程に負担がかかることには変わりない。さらに、特定のデータ形式でしか用いることができず、汎用性がない。
一方、データ検証において、新システムのテーブル定義は顧客毎に異なるが、データの妥当性チェックの観点はどのシステムでも同様である。
【０００６】
本発明は、上記実情を鑑みてなされたものであり、データの妥当性のチェック処理を行う共通部品を用いてノンプログラミングでデータ検証することができ、プロジェクト毎にデータ検証ツールをプログラム開発することが不要となるデータ検証システムおよびデータ検証方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明のデータ検証システムは、
取引ごとに発生するデータが登録された複数のテーブルを含む業務テーブルと、前記各取引において共通に使用されるデータが登録された関連マスタテーブルと、前記業務テーブルに含まれる各テーブル中のデータ項目ごとに当該各データ項目に登録されるデータが満たすべき条件を示すチェック仕様が登録されるチェック項目テーブルと、チェック結果を示す情報が格納されるチェック結果テーブルとを記憶する記憶手段と、
ユーザによって作成された前記各チェック仕様を前記チェック項目テーブルに登録するチェック仕様登録手段と、
前記チェック項目テーブルからチェック仕様を示すパラメータ文字列を抽出するパラメータ文字列抽出手段と、
前記パラメータ文字列抽出手段によって抽出されたパラメータ文字列に基づいてクエリを作成し、作成した当該クエリを前記業務テーブル、または前記業務テーブルと前記関連マスタテーブルの両方に対して実行するクエリ実行手段と、
前記クエリ実行手段によって実行されたクエリの結果に基づいて、前記業務テーブルに含まれる各テーブルに登録されているデータが、前記チェック項目テーブルに登録されているチェック仕様を満たすか否か判定するチェック仕様判定手段と、
前記チェック仕様判定手段による判定の結果を示す情報を前記チェック結果テーブルに格納するチェック結果テーブル格納手段と、
を備える。
【０００８】
また、本発明のデータ検証方法は、
取引ごとに発生するデータが登録された複数のテーブルを含む業務テーブルと、前記各取引において共通に使用されるデータが登録された関連マスタテーブルと、前記業務テーブルに含まれる各テーブル中のデータ項目ごとに当該各データ項目に登録されるデータが満たすべき条件を示すチェック仕様が登録されるチェック項目テーブルと、チェック結果を示す情報が格納されるチェック結果テーブルとを記憶する記憶手段を備えたデータ検証システムにおけるデータ検証方法であって、
ユーザによって作成された前記各チェック仕様を前記チェック項目テーブルに登録するステップと、
前記チェック項目テーブルからチェック仕様を示すパラメータ文字列を抽出するステップと、
前記抽出されたパラメータ文字列に基づいてクエリを作成し、作成した当該クエリを前記業務テーブル、または前記業務テーブルと前記関連マスタテーブルの両方に対して実行するステップと、
前記実行されたクエリの結果に基づいて、前記業務テーブルに含まれる各テーブルに登録されているデータが、前記チェック項目テーブルに登録されているチェック仕様を満たすか否か判定するステップと、
判定の結果を示す情報を前記チェック結果テーブルに格納するステップと、
を備える。
【発明の効果】
【０００９】
本発明によれば、データの妥当性のチェック処理を行う共通部品を用いてノンプログラミングでデータ検証することができ、プロジェクト毎にデータ検証ツールをプログラム開発することが不要となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係るデータ検証システムの構成の一例を示す図である。
【図２】チェック項目定義書の構成の一例を示す図である。
【図３】代表的な標準チェック部品の一覧を示す図である。
【図４】各標準チェック部品のチェック仕様の一例を示す図である。
【図５】チェック項目テーブルのテーブル定義の一例を示す図である。
【図６】データ検証システムのチェック実行時の処理フローの一例を示す図である。
【図７】標準チェック部品の一般的な処理フローを示す図である。
【図８】マスタ存在チェック部品の処理フローの一例を示す図である。
【図９】チェック結果テーブルの構成の一例を示す図である。
【図１０】桁数チェック部品の処理フローの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態に係るデータ検証システムについて図面を参照しながら説明する。
【００１２】
図１は、本発明の実施形態に係るデータ検証システム１の構成の一例を示す。
データ検証システム１は、業務テーブル１１と、関連マスタテーブル１２と、チェック項目テーブル１３と、標準チェック部品１４と、チェック結果テーブル１５と、制御部１６とを備える。
【００１３】
業務テーブル１１は、受注伝票や売上伝票等に記載されており、取引のつど発生するトランザクションデータを格納する。業務テーブル１１は、商品の受注や売上げ等についてのトランザクションデータが登録された複数のテーブルを含み、例えば商品の受注データが登録された受注テーブルや商品の売上げデータが登録された売上テーブル等を含む。業務テーブル１１に含まれる各テーブルには、各々のテーブルを識別するためにテーブルＩＤが付されている。業務テーブル１１は、例えば、データ移行ツールによって、現行システムからデータが抽出され、新システムのテーブル構成に適合する形式に変換されたテーブルである。業務テーブル１１が、データ検証システム１による検証の対象である。
関連マスタテーブル１２は、取引先データや商品データ等、取引のつど発生するのではなく、予め判明しているマスタデータを格納する。関連マスタテーブル１２は、各取引において共通に使用されるマスタデータが登録された複数のテーブルを含み、例えば取引先データが記録された取引先テーブルや商品データが記録された商品テーブル等を含む。関連マスタテーブル１２に含まれる各テーブルには、各々のテーブルを識別するためにマスタテーブルＩＤが付されている。
【００１４】
チェック項目テーブル１３は、業務テーブル１１に含まれる受注テーブルや売上テーブル等の各テーブル中のデータ項目ごとにそのデータ項目に登録されるデータが満たすべき条件を示すチェック仕様が登録されるテーブルである。
アップロードツール１７は、データ検証システム１を補助するツールである。ユーザは、まず、各標準チェック部品１４のチェック観点が記述された標準チェック部品一覧ドキュメントを参照しながら、チェック項目定義書１８にチェック仕様を記述する。ユーザは、次に、アップロードツール１７を利用してチェック項目定義書１８からチェック仕様をチェック項目テーブル１３にアップロードする。
【００１５】
標準チェック部品１４は、後述するように、チェック項目テーブル１３を参照し、業務テーブル１１と関連マスタテーブル１２からデータを抽出してチェック処理を実行する。そして、標準チェック部品１４は、チェックした結果を示す所定の情報をチェック結果テーブル１５に格納する。なお、図１には標準チェック部品１４を１つしか示していないが、標準チェック部品１４は複数であってもよい。
ユーザは、チェック結果テーブル１５を参照することにより、業務テーブル１１に登録されているデータが妥当か否か確認することができる。
制御部１６は、データ検証システム１全体を管理し、制御する。
【００１６】
データ検証システム１の機能は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、メモリと、記憶装置と、入力装置と、表示装置とを備えたコンピュータによって実現される。
メモリは、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等を含む。メモリは、データ検証プログラムとアップロードプログラムを記憶している。ＣＰＵがデータ検証プログラムを実行することにより、データ検証システム１の機能が実現される。また、ＣＰＵがアップロードプログラムを実行することにより、アップロードツール１６の機能が実現される。
記憶装置は、ハードディスク装置や光ディスク装置等を含む。記憶装置は、業務テーブル１１と、関連マスタテーブル１２と、チェック項目テーブル１３と、チェック結果テーブル１５とを記憶する。
入力装置は、キーボードやマウス等を含む。表示装置は、ディスプレイやプリンタ等を含む。ユーザは、例えば、表示装置に表示された標準チェック部品一覧を参照しながら、入力装置を用いてチェック項目定義書１８に業務テーブル１１の各データ項目のチェック仕様を記述する。
【００１７】
図２は、チェック項目定義書１８の構成の一例を示す。
チェック項目定義書１８は、データ検証システム１による検証を行う前に、業務テーブル１１に登録されている受注テーブルや売上テーブル等の各テーブルに含まれるデータ項目ごとに、各標準チェック部品１４によってどのようなチェック観点を満たすことを検証するかを、ユーザが指定するものである。
一般的には、業務システムのテーブル定義書ではデータ項目ＩＤ、桁数、データ型およびデータ項目の説明等を記載することが多い（２１〜２３）。本実施形態に係るチェック項目定義書１８では、これらの各チェック事項に加えて、データ項目毎にチェック観点の詳細（チェック仕様）を定義するため、テーブル定義書のフォーマットを拡張し、各データ項目のチェック仕様を設定する（２４〜２６）。例えば、図２に示すチェック項目定義書１８には、データ項目ＩＤ２１、データ型２２、データ項目説明２３に加えて、固定値チェック部品のチェック仕様２４と、桁数チェック部品のチェック仕様２５と、マスタ存在チェック部品のチェック仕様２６等が設定されている。
各チェック仕様は、例えば、それぞれ４つのチェック項目（（１）〜（４））を含む。各チェック項目は標準チェック部品に設定される引数に対応する。
【００１８】
図３は、代表的な標準チェック部品の一覧を示す。標準チェック部品１４は、業務テーブル１１に含まれる各テーブルの各データ項目について、所定のチェック観点に基づいてデータ検証を実施する部品ツールである。標準チェック部品１４は、例えば、データの値が指定の固定値であることをチェックする固定値チェック部品、データの値が指定の桁数であることをチェックする桁数チェック部品などを含む。本実施形態では、検証対象の各データ項目について、標準チェック部品１４ごとに指定されたチェック仕様を満たすか否かを検証する。
【００１９】
図４は、各標準チェック部品のチェック仕様の一例を示す。このチェック仕様は、標準チェック部品一覧ドキュメントに定義されている。
図４（Ａ）は、桁数チェック部品のチェック仕様を示す。桁数チェック部品は、与えられた検証データが第一引数で指定された桁数であるか否かをチェックする。このため、図４（Ａ）のチェック項目ＩＤ＝１の説明欄には、「特殊文字列＋桁数を指定する。」と記載されている。これを見たユーザは、図２のチェック項目定義書１８における桁数チェック部品のチェック仕様２５の１つ目のセル（１）に、各データ項目のデータが取り得る桁数を指定する。例えば、図２の項目１の場合、”会社コード”は４桁でなければならないことを意味する。
桁数チェック部品は、桁数のみをチェックするため、第２引数（チェック項目ＩＤ＝２）から第４引数（チェック項目ＩＤ＝４）は機能を有しない。
なお、第１引数（チェック項目ＩＤ＝１）では、桁数と合わせて特殊文字列を指定することも可能である。特殊文字列は、例えば「全」と「バ」を含み、「全」は全角の文字列を1単位とした桁数で指定した桁数を検証することを意味し、「バ」はバイト単位の桁数で指定した桁数を検証することを意味する。
【００２０】
図４（Ｂ）は、マスタ存在チェック部品のチェック仕様を示す。マスタ存在チェック部品の第１引数（チェック項目ＩＤ＝１）は、存在チェックを行なうマスタテーブルＩＤを設定するものである。第２引数（チェック項目ＩＤ＝２）は、マスタテーブルのデータ項目ＩＤを設定する。これは、第１引数（チェック項目ＩＤ＝１）により特定される関連マスタテーブル１２に含まれるテーブルの中の、チェック対象となるデータ項目のＩＤを設定するものである。第３引数（チェック項目ＩＤ＝３）では、結合条件を設定する。これは、対象テーブルとマスタテーブルの結合条件を設定するものである。第４引数（チェック項目ＩＤ＝４）は機能を有しない。
【００２１】
なお、各標準チェック部品の引数は、標準チェック部品の検証内容に照らして、設定が必須のもの（必ず設定しなければならないチェック項目）や設定が任意のもの（必ずしも設定しなくてもよいチェック項目）がある。設定が任意のものについては、値が設定されていなければ、データ検証システム１はデータ検証を行わない。
【００２２】
ユーザは、標準チェック部品一覧ドキュメントに基づいて、チェック項目定義書１８の各セルの値を入力する。データ検証対象によっては実施の必要の無い標準チェック部品があるので、その場合は、そのチェック部品についてのセルに値を設定しないことで、対象外とすることができる。
【００２３】
なお、本実施形態では、各標準チェック部品は最大４個の引数を設定可能としているが、検証内容に応じて、設定可能な引数の数は可変である。
【００２４】
図５は、チェック項目テーブル１３のテーブル定義の一例を示す。テーブルＩＤ、データ項目ＩＤをキーとし、標準チェック部品毎に引数（チェック項目）が格納される。ここで、テーブルＩＤとは、業務テーブル１１に含まれる各テーブル（受注テーブルや売上テーブル等）を識別するためのＩＤである。
図２のチェック項目定義書１８をアップロードツール１６等で変換することにより、チェック項目定義書１８で設定された内容をチェック項目テーブル１３に登録する。
【００２５】
本実施形態に係るデータ検証システム１は、チェック項目テーブル１３を参照しながらデータ検証を実施する。チェック項目テーブル１３における各標準チェック部品のチェック項目４１は、所定の標準チェック部品の順序で並んでおり、また、各標準チェック部品は第４引数まで有するので、特にどのチェック項目がどの標準チェック部品に該当するかを管理する必要は無く、データ検証システム１で処理可能である。
【００２６】
図６は、データ検証システム１のチェック実行時の処理フローの一例を示す。ＣＰＵがデータ検証プログラムを実行することにより、データ検証システム１の機能が実現される。データ検証プログラムの実行が開始されたとき（データ検証システム１が起動されたとき）、チェック対象となるテーブル（受注テーブルや売上テーブル等）のテーブルＩＤを引数として受け取った場合、制御部１６はそのテーブルＩＤにより指定されるチェック項目テーブル１３中のテーブルのみをチェック対象とする。一方、引数がない場合、制御部１６はチェック項目テーブル１３に設定されているすべてのテーブルをチェック対象とする。
【００２７】
制御部１６は、チェック項目テーブル１３からチェック仕様を示すパラメータ文字列を抽出してチェック項目を取得する(Ｓ１０１)。制御部１６は、パラメータ文字列が設定されているチェック仕様に対応する各標準チェック部品１４を呼び出して実行する(Ｓ１０２)。このため、パラメータ文字列が設定されていないチェック仕様に対応する標準チェック部品１４が実行されることはない。
標準チェック部品１４は各部品によって処理に差異はあるが、標準チェック部品１４の一般的な処理フローを図７に示す。標準チェック部品１４は、まずステップＳ１０１で取得したパラメータ文字列を受け取り、クエリ文字列で構成されるクエリを作成する(Ｓ２０１)。次に、業務テーブル１１と関連マスタテーブル１２に対して作成したクエリを実行する（Ｓ２０２，Ｓ２０３）。そして、標準チェック部品１４は、実行したクエリの結果を取得して、業務テーブル１１に含まれる各テーブルに登録されているデータが、チェック項目テーブル１３に登録されているチェック仕様を満たすか否か判定する。その判定の結果、チェック仕様を満たさないと判定された場合には、標準チェック部品１４はチェック仕様を満たさないことを示す情報をチェック結果テーブル１５に格納する(Ｓ２０４)。
なお、その判定の結果、チェック仕様を満たすと判定された場合には、標準チェック部品１４はチェック仕様を満たすことを示す情報をチェック結果テーブル１５に格納することとしてもよい。
【００２８】
制御部１６は、図３の一覧に例示した標準チェック部品１４を１つずつ順番に実行する(Ｓ１０２、Ｓ１０３)。各標準チェック部品１４は、図７に示すように、チェック対象の業務テーブル１１からデータを取得して、必要に応じて関連マスタテーブル１２とのデータチェックを実行する。エラーが発生した場合はそのエラー内容をチェック結果テーブル１５に出力する。エラー出力は、非同期でコミットする実装となっているため、チェック処理が実行中でも、エラー出力行を照会することが可能である。
制御部１６は、一つのチェック対象テーブルについて全ての標準チェック部品１４によるチェックが終了する（Ｓ１０３：Ｙｅｓ）と、次のチェック対象テーブルが存在するか否か判定し（Ｓ１０４）、存在する場合（Ｓ１０４：Ｙｅｓ）には、そのチェック対象テーブルを対象として標準チェック部品１４を１つずつ順番に実行する(Ｓ１０２、Ｓ１０３)。
【００２９】
図７で示した処理について、標準チェック部品１４ごとの具体的な処理内容を、例示する。
図８は、マスタ存在チェック部品の処理フローの一例を示す。図８（Ａ）は、ステップＳ２０２とＳ２０３の業務テーブル１１と関連マスタテーブル１２に対するクエリ実行に関する処理である。マスタ存在チェック部品は、チェック対象の業務テーブル１１と関連マスタテーブル１２とを、データ項目をキーとして外部結合するクエリ文字列を組み立てる(Ｓ３０１)。次に、このクエリ文字列で構成されるクエリを実行して、関連マスタテーブル１２の該当データ項目がＮＵＬＬである件数を取得する(Ｓ３０２)。
次に、図８（Ｂ）は、ステップＳ２０４のクエリ結果をもとにエラー判定して、チェック結果テーブル１５に格納する処理である。マスタ存在チェック部品は、ステップＳ３０２で実行したクエリの結果件数によって結果判定を行なう(Ｓ３０３)。まず、結果が０件の場合（Ｓ３０３：Ｙｅｓ）は、業務テーブル１１に存在するデータ項目は全て関連マスタテーブル１２にも存在しているということと等しいため、マスタ存在チェック部品は整合性が取れていると判断する(Ｓ３０４)。
【００３０】
一方、取得した件数が０件より大きい場合（Ｓ３０３：Ｎｏ）、業務テーブル１１に存在し、かつ、関連マスタテーブル１２には存在しない値が存在するということと等しいため、マスタ存在チェック部品はエラーとする。具体的には、マスタ存在チェック部品は、エラーメッセージを”関連マスタテーブルに存在しないコードがチェック対象テーブルに存在します”とし、データ検証システム１の実行日、検証対象のテーブル名等とともに、図９のチェック結果テーブル１５に追記する(Ｓ３０５)。
【００３１】
図１０は、桁数チェック部品の処理フローの一例を示す。図１０（Ａ）(図７のステップＳ２０２に対応)では、チェック項目テーブル１３に基づき、業務テーブル１１からチェック対象のデータ項目のレコードを取得する(Ｓ４０１)。
図１０(Ｂ）(図７のステップＳ２０３に対応)では、桁数チェックの場合は関連マスタテーブル１２を参照しないので何もしない(Ｓ４０２)。
図１０(Ｃ)）(図７のステップＳ２０４に対応)では、チェック項目テーブル１３のチェック項目４１として設定された、”桁数”の設定値に基づき、特殊文字列の指定の有無及び指定の内容をチェックする(Ｓ４０３)。ここで、特殊文字列の指定があり、かつ“全(全角)”が指定されている場合は、ステップＳ４０１で取得したデータを全角の文字数でカウントする(Ｓ４０４)。また、特殊文字列の指定がない場合、および特殊文字列の指定があり、かつ“バ(バイト)”が指定されている場合、ステップＳ４０１で取得したデータをバイト数でカウントする(Ｓ４０５)。そして、チェック項目テーブル１３のチェック項目４１で指定された桁数と、ステップＳ４０４又はステップＳ４０５の処理で取得した桁数が一致するか判断する(Ｓ４０６)。一致する場合（Ｓ４０６：Ｙｅｓ）はエラーなしと判断する(Ｓ４０７)。一致しなかった場合（Ｓ４０６：Ｎｏ）は、”指定桁数の範囲外の値が存在します”とエラーメッセージを設定し、その他の事項とともにチェック結果テーブル１５に格納する（Ｓ４０８）。そして、ステップＳ４０１で取得したレコード全てについてステップＳ４０３〜Ｓ４０８の処理を繰り返す(Ｓ４０９)。
なお、チェック対象のデータ項目の型がＣＨＡＲ型の場合は、チェック項目の設定に寄らず、ＣＨＡＲ型のバイト数(１６バイト)に収まる値か否かをチェックするようにしても良い。
【００３２】
図９はチェック結果テーブル１５の構成の一例を示す。チェック結果テーブル１５には、チェック項目テーブル１３内の対応するテーブルＩＤとデータ項目ＩＤ、チェック日（チェック実行日）、標準チェック部品名、検証対象のテーブル名、エラーメッセージ、エラー発生時に実行したクエリを記録する。
エラーメッセージは、エラーが発生した標準チェック部品１４ごとに異なり、例えば、桁数チェック部品の場合、エラーメッセージには、“指定桁数の範囲外の値が存在します”という内容を登録する。
検証終了後、ユーザはチェック結果テーブル１５を照会することで、エラー内容を確認する。ユーザはいずれのチェック観点で問題が生じたのかを瞬時につかむことができ、さらには、登録されたエラークエリを実行することで、エラーとなるデータを特定することが可能である。
【００３３】
本発明のデータ検証システムによれば、次の効果がある。
（１）開発対象のシステムに依存せず、検証対象のテーブル毎にデータ項目のチェック仕様をドキュメントに設定することで、全てのシステムにおいて本ツールは利用可能である。
（２）データ項目のチェック仕様は、標準チェック部品で実現可能なチェック仕様であれば、ノンプログラミングでデータの妥当性検証を実現することが可能となる。
【符号の説明】
【００３４】
１…データ検証システム、１１…業務テーブル、１２…関連マスタテーブル、１３…チェック項目テーブル、１４…標準チェック部品、１５…チェック結果テーブル、１６…制御部、１７…アップロードツール、１８…チェック項目定義書
【図１】
2012104005.tif 000003
【図２】
2012104005.tif 000004
【図４】
2012104005.tif 000005
【図５】
2012104005.tif 000006
【図６】
2012104005.tif 000007
【図７】
2012104005.tif 000008
【図８】
2012104005.tif 000009
【図９】
2012104005.tif 000010
【図１０】
2012104005.tif 000011
【図３】
2012104005.tif 000012