(57)【特許請求の範囲】
【請求項１】
第１のアプリケーションを実行可能な第１の情報処理装置と第２のアプリ―ケーションを実行可能な第２の情報処理装置とに、通信線を介して接続されるデータ検証装置であって、
前記第１の情報処理装置と接続する手段と、
複数のデータ項目それぞれに対応するデータ値を有するレコードにより構成される前記第１のアプリケーションが利用可能な第１のアプリケーションデータを前記第１の情報処理装置から読み出す手段と、
読み出された前記第１のアプリケーションデータを、前記第２の情報処理装置に対応した形式に複数のデータ項目に対応するデータ値を含む第２のアプリケーションデータに変換する手段と、
所定のデータ項目に該当するデータ値が、第２のアプリケーションの処理に有効か無効かを示す定義情報を前記第２の情報処理装置から取得する手段と、
前記変換されたデータ値と前記定義情報とを比較し、前記定義情報に示されるデータ項目があった場合、前記データ項目に対応するデータ値が有効か無効かいずれかであるかを検証する手段と、
前記検証の結果、データ値が無効である場合、前記データ値を含むエントリを前記第２の情報処理装置へ送信せず、データ値が有効である場合、前記データ値を含むエントリを、前記第２の情報処理装置へ、送信する送信制御手段とを有することを特徴とするデータ検証装置。
【請求項２】
請求項１に記載のデータ検証装置において、
前記検証する手段は、前記複数のデータ項目それぞれに対応した検証方法で前記検証を実行することを特徴とするデータ検証装置。
【請求項３】
請求項１乃至２のいずれかに記載のデータ検証装置において、
前記定義情報には、所定のデータ項目に対応する値の有効な範囲か無効な範囲であるかを示す情報を含まれ、
前記検証する手段は、変換されたデータに含まれる値が前記範囲に含まれるか否かを検証することを特徴とするデータ検証装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、2以上の情報システム（コンピュータなどの情報処理装置を含む）間でのデータ連携に関する。特に、情報システムに格納されたデータを他の情報システムで利用可能とするデータ連携において、他の情報システムで当該データを利用するための検証を行う方法および装置に関する。
【０００２】
【従来の技術】
企業グループ等においては、各構成会社ごとに複数の情報システムが稼動し、情報システム間でのデータの移行や統一的な管理といったデータ連携を行うプログラムが必要とされている。データ連携プログラムでは、元となるデータを格納した情報システムからデータを取得し、他の情報システムに投入できるようにデータを変換し、データの型・フォーマットの検証を行い、データを書き込む処理を行う。以降、元となるデータを格納した情報システムをソース情報システム、データを書き込む対象となる情報システムをターゲット情報システムと呼ぶ。また、データの型・フォーマットの検証とは、データ連携プログラムが、ソース情報システムから取得して変換したデータと、ターゲット情報システム内部でそのデータに相当するデータの型・フォーマットとの間で、データを比較して、同じ型・フォーマットであるか調べること、と定義する。ここでデータの型とは文字・数値・バイナリ等であり、データのフォーマットとは、例えば日付データにおける年(和暦、元号省略形)-月（２桁）-日（２桁）のようなデータの表現形態である。
【０００３】
データ連携プログラムにおいて、データの型・フォーマットの検証を行わないと、型・フォーマットの不正なデータをターゲット情報システムに投入してしまい、エラーを発生させる可能性がある。データ連携プログラムにおいて、データの型・フォーマットの検証を行うことで、エラーを発生させる可能性を低減し、複数の情報システム全体を円滑に動作させることができる。
【０００４】
【発明が解決しようとする課題】
かかる従来の方法においては、次のような問題点が残されている。
【０００５】
データ連携プログラムにおいて、データの型やフォーマットの検証のみ行う方法では、投入するデータの型やフォーマットがターゲット情報システム内部で有効かどうか検証する。しかし、データとして格納さている値に関しては、有効であるかどうかが不明なため、ターゲット情報システム内部で値が有効でないというエラーが発生する可能性がある。ここで、有効とは、データがターゲット情報システム内部で、データの値として用いてよいと定義されていること、または、データの値として用いてはならないと定義されていないこと、と定義する。逆に、無効とは、データがターゲット情報システム内部で、データの値として用いてはならないと定義されていること、または、データの値として用いてよいと定義されていないこと、と定義する。
【０００６】
このように、従来の方法では、データの値についての検証を行わないため、エラーが発生する可能性があるという問題があった。
【０００７】
本発明の目的は、データの値の検証を行う方法を提供することにある。以降、本特許で、データの検証とは、データの値の検証とする。データの値の検証とは、データ連携プログラムが、ソース情報システムから取得して変換したデータと、ターゲット情報システム内部でそのデータに相当するデータ項目で有効または無効なデータの値との間で、データを比較して、値が同じであるか、または、値が基準を満たしているか調べること、と定義する。
【０００８】
【課題を解決するための手段】
本発明は、データ連携プログラムにおけるデータ検証において、検証を行う際に、検証に用いる定義情報をターゲット情報システムから検証時に取得し、その定義情報を用いてデータの検証を行う。定義情報とは値や値のリストや値の範囲、または上記の値に追加して、その値の状態値を定義したデータであり、あるデータが有効または無効であるかを判別するための基準となる情報の集合である。ここで、状態値とは、その値の状態に関する属性値で、その値が有効であるか無効であるかを判定するための基準となる値、と定義する。この定義情報は、検証するデータ項目によって異なっている場合がある。また、検証に用いる定義情報を、データ検証時に、ターゲット情報システムから取得することで、定義情報の鮮度に関わる問題を解決できる。ここで、鮮度に関わる問題とは、データの検証を行う時、データ連携プログラムが保持している検証に用いるための定義情報（仮にＡとする）と、ターゲット情報システムが保持する定義情報（仮にＢとする）との間で、その最終更新日と情報の中身に差があり、その差のために、データ検証時にはＡを用いて有効と判定されたデータが、ターゲット情報システムに書き込まれた時には、Ｂで既に無効とされていることによって、書き込んだデータがエラーとなる可能性がある問題のこと、と定義する。その差というのは、主に、データの最終更新日（新鮮さ）に関連するため、鮮度という言葉を用いている。
【０００９】
また、この定義情報を取得するために必要な、ターゲット情報システムと接続するための接続情報、定義情報のデータの型・形式・意味等を記述したデータモデル、定義情報のとる複数の形態に対応する検証の方法の３つは事前に定義する。この時、定義するためのもととなる情報を定義時にターゲット情報システムから取得することで、定義を容易にする。
【００１０】
【発明の実施の形態】
以下、本発明の実施の形態を詳細に説明する。
まず、図１の構成要素の説明を行う。図１は、本発明を会計システムに適用した場合の、構成の実施の形態を示す構成図である。
【００１１】
図１において、ソース会計システム１００には仕訳データ１１０が格納されている。データ変換・検証プログラム１３０はデータ変換処理部１４０とデータ検証処理部１５０とエラー処理・データ投入の１６０の３つから構成されている。データ変換処理部は、仕訳データ１１０と変換テーブル１２０を読み込み、データを変換する。
【００１２】
また、データ検証処理部１５０へ変換されたデータを送る。データ検証処理部１５０は、入力データと定義情報の比較を行うためのデータ比較処理１５１、比較対照の定義情報１７２を読み込むための定義情報取得処理１５２の各処理を行い、定義データ取得１５２が定義情報１７２を読み込むために必要なデータである定義情報取得に関するデータ１５５を持つことを特徴とする。また、データ検証処理部１５０は、比較結果を通知するための比較結果通知処理１５３、および、データ型とデータのフォーマットを検証するためのデータ型・フォーマット検証処理１５４の各処理を行う。変換・検証後のデータは、エラー処理・データ投入１６０でのエラー処理後、ターゲット会計システム１７０の仕訳データ１７１に書き込まれる。定義ツール１８０は定義情報１７２の定義データを取得し、定義情報取得に関するデータ１５５およびデータ変換・検証プログラム１３０を定義するツールである。
【００１３】
次に、図２の本発明に係わるソース会計システム・ターゲット会計システム・データ変換・検証プログラム・定義ツールの構成を示すブロック図について説明する。
【００１４】
図２において、ソース会計システムソフトウェア１００はサーバ計算機２００上で、データ変換・検証プログラム１３０はサーバ計算機２１０上で、ターゲット会計システムソフトウェア１７０はサーバ計算機２２０上で動作する。また定義ツール１８０はクライアント計算機２３０上で動作する。なお、本実施例では、図２に示すように４台の計算機を用いているが、すべてを１台の計算機で行っても構わない。
【００１５】
また、複数の計算機で行われている処理を統合することにより、２台、３台の計算機を用いても構わない。また、図１、図２ではソースとターゲットとなる会計システムとして、各々１つしか図示していないが、これについては任意の個数を対象とする。
【００１６】
次に、図１の構成におけるデータ変換・検証プログラム１３０で行う処理を、図３、図４、図５のフローチャートを用いて説明する。
【００１７】
データ変換・検証プログラム１３０は、ソース会計システム１００中の仕訳データ１１０を読み込む（ステップ３００）。データ変換処理部１４０は、変換に必要な変換テーブル１２０を、取得し（ステップ３１０）、入力仕訳データの変換を行い（ステップ３２０）、変換された仕訳データをデータ検証処理部１５０に出力する。データ比較処理１５１は入力されたデータの検証に用いる定義情報１７２を、定義情報取得処理１５２にて読み込む。
【００１８】
そのために、定義情報取得処理１５２は、まず、定義情報取得に関するデータ１５５を読み込み（ステップ４００）、読み込んだデータからターゲット会計システムに接続するためのデータを抽出し（ステップ４１０）、そのデータを用いてターゲット会計システム１７０に接続し（ステップ４２０）、定義情報１７２をターゲット会計システム１７０から読み込む（ステップ４３０）。定義情報取得処理１５２は、定義情報１７２の読み込み後、ターゲット会計システムとの接続を解除する（ステップ４４０）。データ比較処理１５１は、仕訳データと定義情報を受け取り（ステップ５００）、入力値の比較を行う（ステップ５１０）。定義情報中の値の格納方法は、有効な値を格納している場合と、値とその状態値の組を格納している場合と、無効な値を格納している場合がある。そこで、比較方法は（１）入力値と定義情報で定義されている値と等しいか比較し、状態値を取得（ステップ５２０）、（２）入力値が定義情報で定義されている値の範囲内か比較し、状態値を取得（ステップ５３０）、（３）入力値を定義情報で定義されている値と比較し、存在の有無を取得（ステップ５４０）の３方法がある。
【００１９】
比較後、有効または無効な値が存在したかどうかの比較結果または入力値の定義情報内部での状態値をもとにエラー判定を行い（ステップ５５０）、その結果を、データ変換プログラム外部に通知する（ステップ３５０）。データ型・フォーマット検証処理１５４では、文字の桁数や、数値が整数か浮動小数点かといったデータ型の検証と、日付データが西暦４桁の年-月-日の順で表現されているかなどのフォーマットの検証を行う（ステップ３６０）。検証後、エラー処理・データ投入１６０では、エラーと判定したデータを廃棄するなどのエラー処理を行い（ステップ３７０）、正常なデータをターゲット会計システムに投入する（ステップ３８０）。
【００２０】
次に、図６のデータの遷移を説明する。図６は上述フローチャートで処理する仕訳データ・変換テーブル・定義情報とデータ遷移の例である。
図６において、仕訳データ６００は、日付、勘定科目、借方、貸方の項目から構成されている。ただし、含む項目は一つでもよい。また、仕訳データ６００に、上記以外の項目が含まれてもよい。
【００２１】
変換テーブル６１０は、ソース会計システム１００の日付表記とターゲット会計システム１７０の日付表記の対応関係を保持している。データ変換処理部１４０は、仕訳データ６００の日付を、変換テーブル６１０にしたがって変換し、変換後仕訳データ６２０を生成する。変換後仕訳データ６２０の日付表記は、変換テーブル６１０の対応する値となっている。定義情報６３０は営業日である日付とその値に対応する状態値のリストである。
【００２２】
データ比較１５１では、変換後仕訳データ６２０のレコードの日付と、データ６２０の日付に対応する営業日をもった定義情報６３０のレコードを組み合わせ、比較データ６４０のようなデータを作成する。比較データ６４０の状態値をもとに、正常・エラーの判定結果を記述した判定データ６５０を作成する。
【００２３】
この例では、状態値がＹｅｓ・Ｎｏの２値で表記され、Ｙｅｓを正常なデータ、Ｎｏをエラーと判定する。この状態値と、正常なデータかエラーデータかの対応関係は、定義情報取得に関するデータ１５５に記録する。状態値は１つ以上の値をとることができる。エラー処理・データ投入１６０では判定結果をもとにエラー処理を行う。
【００２４】
なお、図６では日付が有効な営業日であるかの検証を例として記述したが、他には勘定科目、為替、通貨、製品コード、部門コード等の１つの項目で表現するデータ項目が検証可能である。複数項目で表現されるデータの検証については、図７で記述する。
【００２５】
次に、図６中の定義情報の異なる検証に相当する図である、図７、図８、図９について説明する。
【００２６】
まず、図７の複数の値を検証するデータ比較を説明する。
図７において変換済みの仕訳データ７２０は、勘定科目、部門、借方、貸方を含む。ただし、含む項目は１つでもよい。また、仕訳データ７２０には、上記以外の項目が含まれてもよい。定義情報７３０は勘定科目と部門コードの２つの値を組み合わせたレコードに対して状態値が定義されている。この時、項目数は３つ以上でもよい。データ比較１５１では、仕訳データ７２０の勘定科目・部門と定義情報７３０の対応するデータと状態値を組み合わせ、比較データ７４０を作成する。比較データ７４０の状態値をもとに、正常・エラーの判定結果を記述した判定データ７５０を作成する。
【００２７】
この例では、値０を正常、値１をエラーと判定する。０、１と正常・エラーの対応関係は定義情報ごとに異なり、状態値と、その状態値が正常またはエラーであるかどうかの対応関係は定義情報取得に関するデータ１５５に記録されている。
【００２８】
なお、図７では勘定科目と部門コードの組み合わせが有効であるかの検証を例として記述したが、勘定科目と部門コード以外にも日付と為替、為替と通貨、勘定科目と製品コード、通貨と部門コード、通貨と製品コード等、複数の値の組に対して有効・無効を定義できるデータ項目が検証可能である。
【００２９】
次に、図８の日付と会計期間の範囲を検証するデータ比較を説明する。
図８において変換済み仕訳データ８２０は日付、勘定科目、借方、貸方から構成されている。ただし、含む項目は１つでもよい。また、仕訳データ８２０には、上記以外の項目が含まれてもよい。定義情報８３０は会計期間名、会計期間の開始日、終了日、その会計期間の状態を示す値である状態値から構成されている。
【００３０】
データ比較１５１では、仕訳データ８２０の日付と定義情報８３０の対応するデータと状態値を組み合わせ、比較データ８４０を作成する。比較データ８４０での状態値はＯｐｅｎ、Ｃｌｏｓｅの２値をとっているが、複数の値をとることができる。この時Ｏｐｅｎ値は、その会計期間が有効であることを示し、Ｃｌｏｓｅ値は、その会計期間が無効であることを示している。比較データ８４０の状態値をもとに、正常・エラーの判定結果を記述した判定データ８５０を作成する。判定データ８５０ではＯｐｅｎが有効であり、Ｃｌｏｓｅがエラーであるが、状態値と正常・エラーの対応関係は定義情報ごとに異なり、その対応関係は定義情報取得に関するデータ１５５に記録されている。
【００３１】
なお、図８では日付が有効な会計期間の範囲に含まれるかの検証を例として記述したが、日付以外にも為替、勘定科目、製品コード等の、有効または無効な値を、ある範囲として定義するデータ項目が検証可能である。また、定義情報８３０で比較対照となる値は、１つでも構わない。この時、定義情報８３０では、値の下限または上限のどちらかを設定することになる。
【００３２】
次に、図９の入力されたデータの通貨コードが有効かを検証するデータ比較を説明する。
図９において変換済み仕訳データ９２０は、通貨、勘定科目、借方、貸方から構成されている。ただし、含む項目は１つでもよい。また、仕訳データ９２０には、上記以外の項目が含まれてもよい。定義情報９３０は会計システム１７０で有効とされている、通貨コードのデータ項目から構成されている。データ比較１５１では、仕訳データ９２０の通貨と定義情報９３０の対応するデータを組み合わせ、比較データ９４０を作成する。
【００３３】
比較データ９４０では、定義情報９３０に存在するデータについては有効通貨項目に同じ値が、存在しないデータについては空白がセットされている。比較データ９４０の有効通貨項目の有無をもとに、正常・エラーの判定結果を記述した判定データ９５０を作成する。判定データ９５０では有効通貨に存在するデータが正常であり、存在しないデータをエラーと判定する。
【００３４】
この時、定義情報９３０には、会計システム１７０で有効とされている値のみが格納されているため、空白をエラーと判定する。この逆の場合、定義情報８３０に、会計システム１７０内部で無効とされている値のみが格納されている場合は、空白を正常と判定する。この、対応関係は定義情報取得に関するデータ１５５に記録されている。
【００３５】
なお、図９では通貨が有効であるかの検証を例として記述したが、通貨以外にも日付、勘定科目、製品コード等の値が有効または無効かの２値で表現するデータ項目をとることができる。また、単数の値ではなく、複数の値の組で表現できるデータをとることもできる。
【００３６】
なお、図６、図７、図８、図９において、仕訳データ中のデータ項目は図示の項目に限定されず、他の項目も含むことができる。また、文字または数値で表記される値を持つデータ項目すべてが検証対象となることができる。
【００３７】
最後に、定義ツール１８０の画面構成を、図１０、図１１を用いて説明する。図１０は定義情報を取得するためのデータを定義するインターフェイス画面であり、図１１は定義情報のデータモデルとエラー検出判定の値を定義するためのインターフェイス画面である。
【００３８】
ターゲット会計システム情報取得画面１０００は、定義情報１７２を取得するための情報を設定するためのインターフェイスである。この画面では、ターゲット会計システムのシステム名称１００１、ターゲット会計システムの場所を特定するための場所１００２、システムに正しく接続するためのユーザＩＤ１００３、パスワード１００４等の情報を入力する。この情報を用いて、定義時には定義ツール１８０、検証時には定義データ取得１５２が、ターゲット会計システム１７０に接続し、定義情報１７２を取得する。
【００３９】
データモデル定義画面１１００は、定義情報１７２のデータモデルを定義するためのインターフェイスである。この画面は、定義する定義情報のデータモデルを特定するためのデータモデル１１１０と、データモデル１１１０で選択された定義情報のデータ項目を編集するためのデータモデル：データ項目定義１１２０と、エラー判定のために用いる状態値等の設定を行うためのデータモデル：状態値判定１１３０から構成されている。
【００４０】
データモデル１１１０では、識別ＩＤ、ターゲット会計システム情報取得１０００で入力したターゲット会計システム１７０に接続するための情報であるシステム名称１００１、定義情報１７２中の任意の定義情報を特定するための定義情報名称１１１１を入力する。定義情報名称１１１１はデータ検証に用いる定義情報１７２中の特定の定義情報に対応している。データモデル：データ項目定義１１２０では、データモデル１１１０で編集を選択した定義情報について、データ項目名、データ型、データ長、説明等の情報を入力する。データモデル：状態値判定１１３０では、データモデル中の状態値項目名およびその項目に格納されている状態値ごとの判定結果等を入力する。
【００４１】
また、定義情報取得１１４１を選択することで、データモデル：データ項目定義１１２０で定義する情報の一部を、データモデル１１１０およびターゲット会計システム情報取得１０００で定義した情報を用いて、定義情報１７２から取得する。
【００４２】
これらのインターフェイスを用いて定義する情報は、定義情報取得に関するデータ１５５に格納されている。ただし、これらの定義情報はデータ比較１５１が利用可能な場所であれば、どこに格納されていてもよい。
【００４３】
以上、仕訳データをソース会計システム１００から取得し、変換・検証後、ターゲット会計システム１７０に書き込む際の、エラー処理に用いるためのデータ検証を例として説明を行った。本発明は、会計システムに限らず、値の検証が必要となる情報システムすべてに、利用することが可能である。例えば、受注管理システムから受注伝票を会計システムに投入する場合に、取り引き日が会計システムで有効であるかを検証したり、同様に受注管理システムから顧客の発注履歴情報を顧客管理システムに投入する場合に、受注時の電話番号のようなデータが顧客管理システムでのそれと一致しているかを検証することができる。
【００４４】
また、データ検証の結果は、エラー処理に用いるだけでなく、変換テーブル１２０の変更や、定義情報１７２の変更に用いることも可能である。前者の例としては、会計システムで勘定科目の新規の対応関係が入力された場合、変換テーブルを更新する手段を起動することができる。後者の例としては、顧客管理システムとの連携で電話番号の不一致を検出した場合、電話番号が変更されたと判定して、顧客管理システムの電話番号を更新する手段を起動することができる。
【００４５】
本発明の実施の形態により、データを書き込む対象となる情報システムに書き込む前に、そのデータを、書き込む対象となる情報システムの定義情報を用いて検証を行うことにより、書き込む対象となる情報システム内部でデータ検証を行う必要性をなくし、エラー発生の可能性を低下させることができる。その定義情報は、検証の種類により異なる形態であることがあるため、それぞれの検証に対応した取得のための情報と検証方法を準備することで、その違いに対応する。また、その定義情報を、書き込む対象となる情報システムからデータ検証時に取得することで、定義情報の鮮度の問題によるデータ検証の失敗の可能性を無くすことができる。また、定義情報を定義する際に、定義情報についての情報を書き込む対象となる情報システムから取得して、それをもとに定義することで、定義情報を定義する際のミスの可能性を低下させることができる。
【００４６】
【発明の効果】
本発明よれば、データ連携におけるエラー発生を減少することができる。
【図面の簡単な説明】
【図１】実施例の全体構成図である。
【図２】計算機構成を示すブロック図である。
【図３】処理手順の実施の形態を示すフローチャートである。
【図４】処理手順の実施の形態を示すフローチャートである。
【図５】処理手順の実施の形態を示すフローチャートである。
【図６】データの遷移図である。
【図７】データの遷移図である。
【図８】データの遷移図である。
【図９】のデータの遷移図である。
【図１０】インターフェイスとデータモデル図である。
【図１１】インターフェイスとデータモデル図である。
【符号の説明】
１００…ソース会計システム
１３０…データ変換・検証プログラム
１４０…データ変換処理部
１５０…データ検証処理部
１５１…データ比較
１５２…定義情報取得
１５３…比較結果通知
１５４…データ型・フォーマット検証
１５５…定義情報取得に関するデータ
１６０…エラー処理・データ投入
１７０…ターゲット会計システム
１７２…定義情報
１８０…定義ツール
【図１】
0004340412.tif 000002
【図２】
0004340412.tif 000003
【図３】
0004340412.tif 000004
【図４】
0004340412.tif 000005
【図５】
0004340412.tif 000006
【図６】
0004340412.tif 000007
【図７】
0004340412.tif 000008
【図８】
0004340412.tif 000009
【図９】
0004340412.tif 000010
【図１０】
0004340412.tif 000011
【図１１】
0004340412.tif 000012