(57)【特許請求の範囲】
【請求項１】
マークアップ言語により記述されたマークアップ言語形式データとデータ種及びデータ桁数を予め固定して記述された固定長形式データとの相互変換をコンピュータにより行うデータ変換システムであって、
前記固定長形式データを構成する階層名と該階層名に対応したデータ開始位置とデータ桁数とデータ属性と該階層名の出現順序と必須項目か否かを示す必須フラグとを含む固定長データ構造情報を格納した固定長定義情報テーブル部と、
前記マークアップ言語形式データを構成する階層名と該階層名に対応したタグ名とデータ桁数と該階層名の出現順序と必須項目か否かを示す必須フラグとを含むマークアップ言語データ構造情報を格納したマークアップ言語定義情報テーブル部と、
前記マークアップ言語形式データの階層名と固定長形式データの階層名との階層名対応情報を格納した変換定義情報テーブル部と、
前記固定長定義情報テーブル部に格納した固定長データ構造情報と前記マークアップ言語定義情報テーブル部に格納したマークアップ言語データ構造情報と前記変換定義情報テーブル部に格納した階層名対応情報とを読み込み、該読み込んだ固定長データ構造情報とマークアップ言語データ構造情報と階層名対応情報とを基に、固定長形式データをマークアップ言語形式データに変換又はマークアップ言語形式データを固定長形式データに変換するための変換パラメータ情報を生成すると共に、固定長形式データ及びマークアップ言語形式データが前記固定長データ構造情報及びマークアップ言語データ構造情報と整合性が有るか否かを判定するための、前記固定長データ構造情報及びマークアップ言語データ構造情報のデータ属性とデータ桁数と階層名の出現順序と必須項目か否かを示す必須フラグとを含むデータチェックパラメータ情報を生成するパラメータ生成エンジン部と、
前記データチェックパラメータ情報を基に変換元のマークアップ言語形式データ及び固定長形式データの前記整合性を検証するためのデータチェックエンジン部を備え、
該データチェックエンジン部が、
固定長形式データをチェック対象データとして階層ごとに読み込み、前記固定長定義情報テーブル部を参照して、読み込んだチェック対象データが１階層目か否かを判定する第１工程と、
該第１工程においてチェック対象データが１階層目でないと判定したとき、前回のチェック対象データの階層出現順序が現在のチェック対象データの階層出現順序と比較して等しいか小さいかを判定する第２工程と、
該第２工程において前回のチェック対象データの階層出現順序が現在のチェック対象データの階層出現順序と比較して等しいか小さくないと判定したとき、前記データチェックパラメータ情報に含まれる階層順序及び必須フラグを参照して下層に必須の階層が存在するか否かを判定する第３工程と、
前記第２工程において前回のチェック対象データの階層出現順序が現在のチェック対象データの階層出現順序と比較して等しいか小さいと判定したとき、前記データチェックパラメータ情報に含まれる階層順序及び必須フラグを参照して前回チェック対象データの階層と現在のチェック対象データ階層間に必須階層が存在しないか否かを判定する第４工程と、
前記第１工程においてチェック対象データが１階層目であると判定したとき、又は前記第３工程おいて下層に必須の階層が存在すると判定したとき、又は前記第４工程において前回チェック対象データの階層と現在のチェック対象データの階層の間に必須階層が存在しないと判定したとき、入力データのデータ構造に整合性があると判定し、
前記第３工程及び第４工程において必須階層が存在すると判定したとき、入力データのデータ内容に整合性がないと判定するデータ構造チェック処理を実行すると共に、
マークアップ言語形式データをチェック対象データとして階層ごとに読み込み、前記マークアップ言語定義情報テーブル部を参照し、チェック対象データの項目が前記データチェックパラメータ情報に含まれるデータ属性の条件を満たすか否かを判定する第５工程と、
チェック対象データの項目が前記データチェックパラメータ情報に含まれるデータ桁数の条件を満たすか否かを判定する第６工程と、
チェック対象データの項目が前記データチェックパラメータ情報に含まれる必須フラグの条件を満たすか否かを判定する第７工程と、
前記第５工程から第７工程の何れかにおいて条件を満たさないと判定したとき、入力データのデータ内容に整合性がないと判定するデータ内容チェック処理を実行することを特徴とするデータ変換システム。
【請求項２】
固定長形式データを構成する階層名と該階層名に対応したデータ開始位置とデータ桁数とデータ属性と該階層名の出現順序と必須項目か否かを示す必須フラグとを含む固定長データ構造情報を格納した固定長定義情報テーブル部と、
マークアップ言語形式データを構成する階層名と該階層名に対応したタグ名とデータ桁数と該階層名の出現順序と必須項目か否かを示す必須フラグとを含むマークアップ言語データ構造情報を格納したマークアップ言語定義情報テーブル部と、
前記マークアップ言語形式データの階層名と固定長形式データの階層名との階層名対応情報を格納した変換定義情報テーブル部と、
前記固定長定義情報テーブル部に格納した固定長データ構造情報と前記マークアップ言語定義情報テーブル部に格納したマークアップ言語データ構造情報と前記変換定義情報テーブル部に格納した階層名対応情報とを読み込み、該読み込んだ固定長データ構造情報とマークアップ言語データ構造情報と階層名対応情報とを基に、固定長形式データをマークアップ言語形式データに変換又はマークアップ言語形式データを固定長形式データに変換するための変換パラメータ情報を生成すると共に、固定長形式データ及びマークアップ言語形式データが前記固定長データ構造情報及びマークアップ言語データ構造情報と整合性が有るか否かを判定するための、前記固定長データ構造情報及びマークアップ言語データ構造情報のデータ属性とデータ桁数と階層名の出現順序と必須項目か否かを示す必須フラグとを含むデータチェックパラメータ情報を生成するパラメータ生成エンジン部と、
前記データチェックパラメータ情報を基に変換元のマークアップ言語形式データ及び固定長形式データの前記整合性を検証するためのデータチェックエンジン部を備え、
マークアップ言語により記述されたマークアップ言語形式データとデータ種及びデータ桁数を予め固定して記述された固定長形式データとの相互変換をコンピュータにより行うデータ変換方法であって、
該データチェックエンジン部に、
固定長形式データをチェック対象データとして階層ごとに読み込み、前記固定長定義情報テーブル部を参照して、読み込んだチェック対象データが１階層目か否かを判定する第１工程と、
該第１工程においてチェック対象データが１階層目でないと判定したとき、前回のチェック対象データの階層出現順序が現在のチェック対象データの階層出現順序と比較して等しいか小さいかを判定する第２工程と、
該第２工程において前回のチェック対象データの階層出現順序が現在のチェック対象データの階層出現順序と比較して等しいか小さくないと判定したとき、前記データチェックパラメータ情報に含まれる階層順序及び必須フラグを参照して下層に必須の階層が存在するか否かを判定する第３工程と、
前記第２工程において前回のチェック対象データの階層出現順序が現在のチェック対象データの階層出現順序と比較して等しいか小さいと判定したとき、前記データチェックパラメータ情報に含まれる階層順序及び必須フラグを参照して前回チェック対象データの階層と現在のチェック対象データ階層間に必須階層が存在しないか否かを判定する第４工程と、
前記第１工程においてチェック対象データが１階層目であると判定したとき、又は前記第３工程おいて下層に必須の階層が存在すると判定したとき、又は前記第４工程において前回チェック対象データの階層と現在のチェック対象データの階層の間に必須階層が存在しないと判定したとき、入力データのデータ構造に整合性があると判定し、
前記第３工程及び第４工程において必須階層が存在すると判定したとき、入力データのデータ内容に整合性がないと判定するデータ構造チェック処理を実行させると共に、
マークアップ言語形式データをチェック対象データとして階層ごとに読み込み、前記マークアップ言語定義情報テーブル部を参照し、チェック対象データの項目が前記データチェックパラメータ情報に含まれるデータ属性の条件を満たすか否かを判定する第５工程と、
チェック対象データの項目が前記データチェックパラメータ情報に含まれるデータ桁数の条件を満たすか否かを判定する第６工程と、
チェック対象データの項目が前記データチェックパラメータ情報に含まれる必須フラグの条件を満たすか否かを判定する第７工程と、
前記第５工程から第７工程の何れかにおいて条件を満たさないと判定したとき、入力データのデータ内容に整合性がないと判定し、
データ内容チェック処理を実行させることを特徴とするデータ変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なるデータ形式のデータを相互形式に変換することができるデータ変換システム及びデータ変換方法に係り、特に変換前のデータ形式の不整合をチェックすることができるデータ変換システム及びデータ変換方法に関する。
【背景技術】
【０００２】
近年、商取引に関する情報を標準的な書式に統一し、企業間で電子的に交換するＥＤＩ（Ｅｌｅｃｔｒｏｎｉｃ  Ｄａｔａ  Ｉｎｔｅｒｃｈａｎｇｅ）システムが構築され、このＥＤＩシステムは、企業間での受発注や見積もり／決済／出入荷などに関わる電子データを、あらかじめ定められた形式にしたがって電子化し、専用線やＶＡＮなどのネットワークを通じて送受信することが行われている。
【０００３】
このＥＤＩシステムは、データ交換の手順（通信プロトコル）や使用する業務メッセージ（発注、支払など）が企業毎に異なることが多く、更に小売企業毎にメッセージの形式が異なる場合が多いため、企業同士が直接やりとりする方式ではなく、ＥＤＩセンタという中継センタを経由してやりとりする場合が多い。このＥＤＩシステムにおけるデータ形式としては、大別して、固定長形式と流通ビジネスメッセージ標準形式（流通ＢＭＳ形式）があり、流通ＢＭＳ形式の基準形式はＸＭＬフォーマットである。尚、ＸＭＬ（ｅＸｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式データとは、文書やデータの意味や構造を記述するためのマークアップ言語により記述されたデータであり、固定長形式データとは、格納するデータ種（属性）及びデータサイズ（桁数）を予め定めた形式で記述したデータを言う。
【０００４】
このようにＥＤＩシステムは、異なる形式のデータの変換を行うデータ変換機能を備えるため、データ形式やデータ構造について、事前に双方の取り決めを行うことが不可欠であり、取り決めに適合するデータであるか否かをチェックするために、専用のデータチェックシステムを開発することが必要であった。
【０００５】
また、一般にＸＭＬデータの内容整合性チェックを行うための標準規格としてＸＭＬ  Ｓｃｈｅｍａと呼ばれるＸＭＬ木構造等の定義を表すスキーマがあり、このスキーマを用いてＸＭＬデータの整合性チェックを実施することができる。
【０００６】
尚、前記データ形式の整合性をチェックする技術が記載された文献としては下記特許文献１が挙げられる。この特許文献１には、チェック条件をデータベースに記憶させておき、チェック条件論理式を、データ名に演算子及び関数を組み合わせて作成することにより、チェック条件の変更を容易に行うことができるとする技術が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−２１３４８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来技術によるＥＤＩシステムにおけるデータ形式の整合性チェック手法は、変換後データの整合性のチェックの結果、不整合が判明したとしても、変換前のデータにおける不整合箇所を特定することが困難であると言う不具合があった。また、変換後ＸＭＬデータのＸＭＬスキーマチェック項目を変換前データにおいてチェックしようとした場合、ＸＭＬスキーマ数×データ形式数だけのデータチェックシステムを開発する必要があり、作業負荷及びコストが増大すると言う不具合もあった。また、チェック定義をパラメータ等に切り出し、共通のチェックシステムを開発することも考えられるが、チェック定義を行うための作業がスキーマ数×データ形式数だけ発生すると言う不具合もあった。
【０００９】
本発明の目的は、変換元のデータ形式不整合を容易にチェックすることができるデータ変換システム及びデータ変換方法を提供することである。
【課題を解決するための手段】
【００１０】
前記目的を達成するために本発明は、マークアップ言語により記述されたマークアップ言語形式データとデータ種及びデータ桁数を予め固定して記述された固定長形式データとの相互変換をコンピュータにより行うデータ変換システムであって、
前記固定長形式データを構成する階層名と該階層名に対応したデータ開始位置とデータ桁数とデータ属性と該階層名の出現順序と必須項目か否かを示す必須フラグとを含む固定長データ構造情報を格納した固定長定義情報テーブル部と、
前記マークアップ言語形式データを構成する階層名と該階層名に対応したタグ名とデータ桁数と該階層名の出現順序と必須項目か否かを示す必須フラグとを含むマークアップ言語データ構造情報を格納したマークアップ言語定義情報テーブル部と、
前記マークアップ言語形式データの階層名と固定長形式データの階層名との階層名対応情報を格納した変換定義情報テーブル部と、
前記固定長定義情報テーブル部に格納した固定長データ構造情報と前記マークアップ言語定義情報テーブル部に格納したマークアップ言語データ構造情報と前記変換定義情報テーブル部に格納した階層名対応情報とを読み込み、該読み込んだ固定長データ構造情報とマークアップ言語データ構造情報と階層名対応情報とを基に、固定長形式データをマークアップ言語形式データに変換又はマークアップ言語形式データを固定長形式データに変換するための変換パラメータ情報を生成すると共に、固定長形式データ及びマークアップ言語形式データが前記固定長データ構造情報及びマークアップ言語データ構造情報と整合性が有るか否かを判定するための、前記固定長データ構造情報及びマークアップ言語データ構造情報のデータ属性とデータ桁数と階層名の出現順序と必須項目か否かを示す必須フラグとを含むデータチェックパラメータ情報を生成するパラメータ生成エンジン部と、
前記データチェックパラメータ情報を基に変換元のマークアップ言語形式データ及び固定長形式データの前記整合性を検証するためのデータチェックエンジン部を備え、
該データチェックエンジン部が、
固定長形式データをチェック対象データとして階層ごとに読み込み、前記固定長定義情報テーブル部を参照して、読み込んだチェック対象データが１階層目か否かを判定する第１工程と、
該第１工程においてチェック対象データが１階層目でないと判定したとき、前回のチェック対象データの階層出現順序が現在のチェック対象データの階層出現順序と比較して等しいか小さいかを判定する第２工程と、
該第２工程において前回のチェック対象データの階層出現順序が現在のチェック対象データの階層出現順序と比較して等しいか小さくないと判定したとき、前記データチェックパラメータ情報に含まれる階層順序及び必須フラグを参照して下層に必須の階層が存在するか否かを判定する第３工程と、
前記第２工程において前回のチェック対象データの階層出現順序が現在のチェック対象データの階層出現順序と比較して等しいか小さいと判定したとき、前記データチェックパラメータ情報に含まれる階層順序及び必須フラグを参照して前回チェック対象データの階層と現在のチェック対象データ階層間に必須階層が存在しないか否かを判定する第４工程と、
前記第１工程においてチェック対象データが１階層目であると判定したとき、又は前記第３工程おいて下層に必須の階層が存在すると判定したとき、又は前記第４工程において前回チェック対象データの階層と現在のチェック対象データの階層の間に必須階層が存在しないと判定したとき、入力データのデータ構造に整合性があると判定し、
前記第３工程及び第４工程において必須階層が存在すると判定したとき、入力データのデータ内容に整合性がないと判定するデータ構造チェック処理を実行すると共に、
マークアップ言語形式データをチェック対象データとして階層ごとに読み込み、前記マークアップ言語定義情報テーブル部を参照し、チェック対象データの項目が前記データチェックパラメータ情報に含まれるデータ属性の条件を満たすか否かを判定する第５工程と、
チェック対象データの項目が前記データチェックパラメータ情報に含まれるデータ桁数の条件を満たすか否かを判定する第６工程と、
チェック対象データの項目が前記データチェックパラメータ情報に含まれる必須フラグの条件を満たすか否かを判定する第７工程と、
前記第５工程から第７工程の何れかにおいて条件を満たさないと判定したとき、入力データのデータ内容に整合性がないと判定するデータ内容チェック処理を実行することを第１の特徴とする。
【００１１】
また、本発明は、固定長形式データを構成する階層名と該階層名に対応したデータ開始位置とデータ桁数とデータ属性と該階層名の出現順序と必須項目か否かを示す必須フラグとを含む固定長データ構造情報を格納した固定長定義情報テーブル部と、
マークアップ言語形式データを構成する階層名と該階層名に対応したタグ名とデータ桁数と該階層名の出現順序と必須項目か否かを示す必須フラグとを含むマークアップ言語データ構造情報を格納したマークアップ言語定義情報テーブル部と、
前記マークアップ言語形式データの階層名と固定長形式データの階層名との階層名対応情報を格納した変換定義情報テーブル部と、
前記固定長定義情報テーブル部に格納した固定長データ構造情報と前記マークアップ言語定義情報テーブル部に格納したマークアップ言語データ構造情報と前記変換定義情報テーブル部に格納した階層名対応情報とを読み込み、該読み込んだ固定長データ構造情報とマークアップ言語データ構造情報と階層名対応情報とを基に、固定長形式データをマークアップ言語形式データに変換又はマークアップ言語形式データを固定長形式データに変換するための変換パラメータ情報を生成すると共に、固定長形式データ及びマークアップ言語形式データが前記固定長データ構造情報及びマークアップ言語データ構造情報と整合性が有るか否かを判定するための、前記固定長データ構造情報及びマークアップ言語データ構造情報のデータ属性とデータ桁数と階層名の出現順序と必須項目か否かを示す必須フラグとを含むデータチェックパラメータ情報を生成するパラメータ生成エンジン部と、
前記データチェックパラメータ情報を基に変換元のマークアップ言語形式データ及び固定長形式データの前記整合性を検証するためのデータチェックエンジン部を備え、
マークアップ言語により記述されたマークアップ言語形式データとデータ種及びデータ桁数を予め固定して記述された固定長形式データとの相互変換をコンピュータにより行うデータ変換方法であって、
該データチェックエンジン部に、
固定長形式データをチェック対象データとして階層ごとに読み込み、前記固定長定義情報テーブル部を参照して、読み込んだチェック対象データが１階層目か否かを判定する第１工程と、
該第１工程においてチェック対象データが１階層目でないと判定したとき、前回のチェック対象データの階層出現順序が現在のチェック対象データの階層出現順序と比較して等しいか小さいかを判定する第２工程と、
該第２工程において前回のチェック対象データの階層出現順序が現在のチェック対象データの階層出現順序と比較して等しいか小さくないと判定したとき、前記データチェックパラメータ情報に含まれる階層順序及び必須フラグを参照して下層に必須の階層が存在するか否かを判定する第３工程と、
前記第２工程において前回のチェック対象データの階層出現順序が現在のチェック対象データの階層出現順序と比較して等しいか小さいと判定したとき、前記データチェックパラメータ情報に含まれる階層順序及び必須フラグを参照して前回チェック対象データの階層と現在のチェック対象データ階層間に必須階層が存在しないか否かを判定する第４工程と、
前記第１工程においてチェック対象データが１階層目であると判定したとき、又は前記第３工程おいて下層に必須の階層が存在すると判定したとき、又は前記第４工程において前回チェック対象データの階層と現在のチェック対象データの階層の間に必須階層が存在しないと判定したとき、入力データのデータ構造に整合性があると判定し、
前記第３工程及び第４工程において必須階層が存在すると判定したとき、入力データのデータ内容に整合性がないと判定するデータ構造チェック処理を実行させると共に、
マークアップ言語形式データをチェック対象データとして階層ごとに読み込み、前記マークアップ言語定義情報テーブル部を参照し、チェック対象データの項目が前記データチェックパラメータ情報に含まれるデータ属性の条件を満たすか否かを判定する第５工程と、
チェック対象データの項目が前記データチェックパラメータ情報に含まれるデータ桁数の条件を満たすか否かを判定する第６工程と、
チェック対象データの項目が前記データチェックパラメータ情報に含まれる必須フラグの条件を満たすか否かを判定する第７工程と、
前記第５工程から第７工程の何れかにおいて条件を満たさないと判定したとき、入力データのデータ内容に整合性がないと判定するデータ内容チェック処理を実行させることを第２の特徴とする。
【発明の効果】
【００１２】
本発明によるデータ変換システム及び方法は、前記データチェックエンジンが、チェック対象データが１階層目か否かと、前回のチェック対象データの階層出現順序が現在のチェック対象データの階層出現順序と比較して等しいか小さくなく且つ下層に必須の階層が存在しないか否かと、前回チェック対象データの階層と現在のチェック対象データ階層間に必須階層が存在するか否かの判定によりデータ構造チェック処理と、チェック対象データの項目が属性条件か桁数条件か項目必須条件を満たすか否かによりデータ内容チェック処理とを実行することによって、変換前のデータ形式不整合を容易にチェックすることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態によるデータ変換システムの全体構成図。
【図２】本実施形態によるデータ変換システムの全体動作フロー図。
【図３】本実施形態によるデータ変換システムのチェック処理動作フロー図。
【図４】本実施形態によるデータ形式の不整合を説明するための図。
【図５】本実施形態による定義情報のデータ構成を説明するための図。
【図６】本実施形態による定義情報のデータ構成の具体例を示す図。
【図７】本実施形態による変換定義情報におけるコード変換テーブル例を示す図。
【図８】本実施形態によるチェックパラメータの出力フロー図。
【図９】本実施形態による変換パラメータの出力フロー図。
【図１０】本実施形態による入力データ形式ワークテーブルを示す図。
【図１１】本実施形態による変換定義ワークテーブルを示す図。
【図１２】本実施形態による構造チェックの処理フロー図。
【図１３】本実施形態による項目チェックの処理フロー図。
【図１４】本実施形態によるコードリストチェックの処理フロー図。
【発明を実施するための形態】
【００１４】
以下、本発明によるデータ変換方法を実現するデータ変換システムを図面を参照して説明するが、まず、本発明の前提となるデータの不整合について説明する。例えば、電子商取引における固定長データ形式は、例えば図４（ａ）に示す如く、最初に転送ヘッダＳ、該転送ヘッダＳの１段下層にファイルヘッダＡ及びＢがあり、これらファイルヘッダＡ及びＢの１段下層に伝票ヘッダＢがあり、該伝票ヘッダＢの１段下層に伝票明細Ｄが位置する様に定義されている。本実施形態で述べるデータの不整合とは、例えば図４（ｂ）に示す如く、２段目のファイルヘッダＡ（２）の１段下に存在すべき伝票ヘッダＢ（３）がなく、伝票明細Ｄ（５）が位置してしまうような、図４（ａ）に示した定義に合致しないデータ形式のことを言う。
【００１５】
［全体構成］
さて、本実施形態によるデータ変換システムは、例えば電子商取引におけるＥＤＩシステムに含まれるものであって、図１に示す如く、変換前後のデータ形式の定義情報を基に変換パラメータ２０１及びデータチェックパラメータ３０２を生成するデータ変換定義設定システム１００と、該データ変換定義設定システム１００が生成した変換パラメータ２０１を用いて入力データ（例えば固定長形式データ）２０２を出力データ（ＸＭＬ形式データ）２０４に変換するデータ変換システム２００と、前記データチェックパラメータ３０２及び入力データ２０２を入力して入力データ２０２の整合性をチェックするデータチェックシステム３００とから構成されている。尚、本明細書では、ハードウェア的な図示及び説明を行うが、前述の各システムはコンピュータのメモリに格納されるデータやプログラムによって構成されるものである。
【００１６】
［データ変換定義設定システム１００］
前記データ変換定義設定システム１００は、電子商取引のデータを予め固定長のデータ形式として定義した固定長定義情報を格納する固定長定義情報テーブル部１０１と、電子商取引のデータを予めＸＭＬのデータ形式として定義したＸＭＬ定義情報を格納するＸＭＬ定義情報テーブル部１０３と、前記固定長定義情報とＸＭＬ定義情報間相互の変換情報を格納する変換定義情報テーブル部１０２と、前記固定長定義情報テーブル部１０１に格納した固定長定義情報とＸＭＬ定義情報テーブル部１０３に格納したＸＭＬ定義情報と前記変換定義情報テーブル部１０２に格納した変換情報とを基に、後述する変換パラメータ２０１及びデータチェックパラメータ３０２を生成するパラメータ生成エンジン部１０４とから構成される。
【００１７】
［固定長定義情報テーブル部１０１］
前記固定長定義情報テーブル部１０１に格納した固定長定義情報の構造は、例えば図５（ａ）に示す如く、階層名として、「転送ヘッダ」「ファイルヘッダ」「伝票ヘッダ」「伝票明細」の４階層名であること、各々の識別文字が「Ｓ」「Ａ」「Ｂ」「Ｄ」と定義されていること、各レコード長が２５６ビットであることがデータ構造として定義されている。この固定長定義情報テーブル部１０１には、項目名に応じた固定長データの開始位置／長さ／属性の固定長データの項目情報が定義されており、これは例えば図６（ａ）に示す如く、項目名「レコード区分」の開始位置が「１」、長さ（桁数）が「１」、属性が「Ｘ」の如く定義されており、他の項目名に対する項目情報も図示の通りである。
【００１８】
［変換定義情報テーブル部１０２］
前記変換定義情報テーブル部１０２に格納した変換情報の構造は、図５（ｂ）に示す如く、変換元（固定長形式）と変換後（ＸＭＬ形式）の定義名の対応は、変換元「階層名」が変換後「階層名」、変換元「転送ヘッダ」が変換後「ＳＢＤＨ」、変換元「ファイルヘッダ」が「ヘッダ」、変換元「伝票ヘッダ」が変換後「取引」、変換元「伝票明細」が変換後「明細」に各々対応しているとして定義されている。この変換定義情報テーブル部１０２には、変換元の固定長形式の項目名に対応する変換後のＸＭＬ形式の項目名及び変換情報が登録されており、これは、例えば図６（ｂ）に示す如く、変換元項目名「伝票番号」に対応する変換後の項目名が「明細番号」であり、変換情報が「前ゼロ埋め（桁数に対して桁数上位の空き桁にゼロを挿入する）」形式であるの如く定義されており、他の項目名に対する情報も図示の通りである。
【００１９】
［ＸＭＬ定義情報テーブル部１０３］
前記ＸＭＬ定義情報テーブル部１０３に格納したＸＭＬ定義情報の構造は、図５（ｂ）に示す如く、階層名に対する「タグ名」「出現順序」「必須か任意か」の各項目が定義されており、例えば階層名「ＳＢＤＨ」（Ｓｔａｎｄａｒｄ  Ｂｕｓｉｎｅｓｓ  Ｄｏｃｕｍｅｎｔ  Ｈｅａｄｅｒ）のタグ名が「ｓｈＳｔａｎｄａｒｄＢｕｓｓｉｎｅｓｓＤｏｃｕｍｅｎｔＨｅａｄｅｒ」、出現順序が「１」、「必須フラグ」として格納されている。
このＸＭＬ定義情報テーブル部１０３には、項目名に対するタグ名（ＸＰａｔｈ）／属性／桁数／必須か任意かの区分情報のＸＭＬ項目情報が定義されており、これは例えば図６（ｃ）に示す如く、項目名「明細番号」のタグ名（ＸＰａｔｈ）が「ｄａｔａ／ｌｉｓｔ／ｉｔｅｍ／ｌｉｎｅＮｕｍｂｅｒ」、属性が「英数」、桁数が「最大４」、区分情報が「必須」の如く定義されており、他の項目名に対する項目情報も図示の通りである。この前記ＸＭＬ定義情報テーブル部１０３には、項目名に対するタグ名（ＸＰａｔｈ）／属性／桁数／必須か任意かの区分情報のＸＭＬ項目情報が定義されており、これは例えば図６（ｃ）に示す如く、項目名「明細番号」のタグ名（ＸＰａｔｈ）が「ｄａｔａ／ｌｉｓｔ／ｉｔｅｍ／ｌｉｎｅＮｕｍｂｅｒ」、属性が「英数」、桁数が「最大４」、区分情報が「必須」の如く定義されており、他の項目名に対する項目情報も図示の通りである。尚、図６（ｃ）では省略しているが、階層名の出現順位を図５（ｃ）と同様に数値として格納しても良い。
【００２０】
尚、前記図６（ｂ）の「伝票レス区分」は伝票を要しない区分コードを示し、例えば図７（ｂ）に示す如く、コード「０１」が「伝票レス」（紙伝票が存在しない）、コード「０２」が「伝票あり」（紙伝票が存在すること）を意味するものであって、変換前後の変換テーブルは、例えば図７（ａ）に示す如く、入力と出力の関係として定義づけられている。
【００２１】
［動作］
次に、前述の様に構成した本実施形態によるデータ変換システム（ＥＤＩシステム）が固定長形式データをＸＭＬ形式データに変換する動作を動作フロー図を参照して説明する。
［入力データの整合性チェック動作］
まず、本実施形態によるデータ変換システムによる入力データの整合性チェック動作を説明する。この整合性チェック動作は、図２に示す如く、データチェックシステム３００のデータチェックエンジン部３０１が、データチェックパラメータ３０２からデータチェックパラメータを読み込むステップＳ５０１と、チェック対象の入力データの１階層データを読み込むステップＳ５０２と、該読み込んだ１階層データの構造チェックを行い、不整合（ＮＧ）と判定したときにエラーログを出力するステップＳ５０８に移行するステップＳ５０３と、該ステップＳ５０３において構造チェック結果が整合性あり（ＯＫ）と判定されたときに前記１階層データを読み込むステップＳ５０４と、該読み込んだ１階層データの項目チェックを行い、不整合（ＮＧ）と判定したときに前記ステップＳ５０８に移行するステップＳ５０５と、該ステップＳ５０５により整合性あり（ＯＫ）と判定されたときにコードリストのチェックを行い、不整合（ＮＧ）と判定したときに前記ステップＳ５０８に移行するステップＳ５０６と、チェック対象のデータが末尾（最下層）か否かを判定し、末尾でないと判定したときに前記ステップＳ５０２に戻り、末尾と判定したときに処理を終了するステップＳ５０７とを実行する。
【００２２】
本実施形態によるデータチェックシステム３００は、前述の各ステップを実行することによって、多層構造から成る入力データを１階層毎に読み込んで各層の構造と項目とコードリストの各チェックを実行することによって、入力データの不整合を判定することができる。
【００２３】
［データチェックパラメータ及び変換パラメータ生成動作］
次いで本実施形態によるデータ変換システムは、データチェックシステム３００が、前述の変換エンジン部２０３が変換パラメータを参照してデータ変換（例えば、固定長形式データをＸＭＬ形式データに変換）するものであって、この変換動作を図３を参照して説明する。
この変換動作処理は、図３に示す如く、データ変換定義設定システム１００のパラメータ生成エンジン１０３が、固定長定義情報テーブル部１０１から固定長定義情報を読み込むと共にＸＭＬ定義情報テーブル部１０３からＸＭＬ定義情報を読み込むステップＳ１０１と、これら読み込んだ定義情報を基にデータチェックパラメータ３０２を出力するステップＳ１０２と、データチェックエンジン部３０１が、固定長形式の入力データ２０２及び前述のデータチェックパラメータ３０２を基に入力データのデータチェックを行うステップＳ１０３と、該ステップＳ１０３によるチェック結果が正常（不整合がない入力データ）であるか否かを判定するステップＳ１０５と、該ステップＳ１０５により異常ありと判定したとき、チェック結果データ３０３を参照し、入力データの異常（不整合）箇所を修正して前記ステップＳ１０２に戻るステップＳ１０４と、前記ステップＳ１０５において異常（不整合）なしと判定したとき、前記変換パラメータ２０１を変換エンジン部２０３に出力するステップＳ１０６と、変換エンジン部２０３が、前記入力した変換パラメータ２０１を用いて入力データ２０２を変換し、出力データ２０４として出力するステップＳ１０７とを実行することによって、入力データの整合性のチェックを行った後にデータ変換を行う様に動作することができる。
【００２４】
［データチェックパラメータ３０２出力処理］
前記ステップＳ１０２によるデータチェックパラメータを出力する処理は、図８に示す如く、パラメータ生成エンジン部１０４が、固定長定義情報テーブル部１０１から固定長定義情報を読み込むと共にＸＭＬ定義情報テーブル部１０３からＸＭＬ定義情報を読み込むステップＳ２０１と、該読み込んだ固定長定義情報及びＸＭＬ定義情報を入力データチェックワークテーブル（図示しないメモリ上の一時記憶領域）に、図５に示した各情報を出現順序／必須又は任意等の階層情報として格納して反映させるステップＳ２０２と、前記入力データチェックワークテーブルに、図６に示した項目定義情報を属性／桁数／必須又は任意等の項目情報に格納して反映させるステップＳ２０３と、入力データチェックワークテーブルに格納した各データ内容をデータチェックパラメータ３０２として出力するステップＳ２０４とを実行することによって、データチェックパラメータ３０２として出力することができる。
【００２５】
前記ステップＳ２０１により入力データチェックワークテーブルに格納される情報は、階層名に対応した識別文字／レコード長／出現順序／必須又は任意の区分情報であり、例えば、図１０（ａ）に示す如く、階層名「転送ヘッダ」に対して識別文字が「Ｓ」、レコード長が「＃＃」、出現順序が「１」、区分が「必須」の如く格納され、前記ステップＳ２０２により入力データチェックワークテーブルに格納される情報は、項目名に対応した各要素情報を格納したものであり、例えば、図１０（ａ）に示す如く、項目名「商品コードの群版」の開始位置が「６」、長さ（桁数）が「１２」、入力属性が「９」、出力属性が「英数」、桁数が「最大１０」、必須区分が「任意」の如く格納され、他の項目名に対する要素情報も図示の通りである。
【００２６】
［変換パラメータ２０１生成処理］
前記ステップＳ１０２による変換パラメータ２０１の生成（出力）処理は、図９に示す如く、パラメータ生成エンジン部１０４が、固定長定義情報テーブル部１０１から固定長定義情報を読み込むと共にＸＭＬ定義情報テーブル部１０３からＸＭＬ定義情報を読み込むステップＳ３０１と、該読み込んだ固定長定義情報及びＸＭＬ定義情報を後述の如く紐付けた階層情報として変換定義ワークテーブル（図示しないメモリ上の一時記憶領域）に格納して反映させるステップＳ３０２と、前記変換定義ワークテーブルに、各定義情報を紐付けた要素情報を追加するステップＳ３０３と、該変換定義ワークテーブルに格納した各種情報をデータチェックパラメータ３０２として出力するステップＳ３０４とを実行する。
【００２７】
前記ステップＳ３０２により変換定義ワークテーブルに格納する階層情報は、階層名に対応した識別文字／レコード長／タグ名（ＸＰａｔｈ）から成る各階層情報であって、図１１（ａ）に示す如く、例えば、階層名「転送ヘッダ」の識別文字が「Ｓ」、レコード長が「＃＃」（任意の値）、タグ名（ＸＰａｔｈ）が「ｓｈＳｔａｎｄａｒｄＢｕｓｓｉｎｅｓｓＤｏｃｕｍｅｎｔＨｅａｄｅｒ」の如く格納され、他の項目名に対する階層情報も図示の通りである。
【００２８】
前記ステップＳ３０３により変換定義ワークテーブルに格納する要素情報は、項目名に対応した開始位置／長さ（桁数）／タグ名（ＸＰａｔｈ）／変換情報から成る要素情報であって、図１１（ｂ）に示す如く、例えば、階層名「伝票行番号」の開始位置が「４」、長さ（桁数）が「３」、タグ名（ＸＰａｔｈ）が「ｄａｔａ／ｌｉｓｔ／ｉｔｅｍ／ｌｉｎｅＮｕｂｅｒ」、変換情報が「前ゼロつめ」の如く格納され、他の項目名に対する要素情報も図示の通りである。
【００２９】
［ステップＳ１０５による構造チェック処理］
前述の図３変換処理においてステップＳ１０５によりデータチェックエンジン部３０１が実行する入力データ２０２の構造チェック処理手順の詳細を次に図１２を参照して説明する。
このチェック処理手順は、データチェックエンジン部３０１が、図１２に示す如く、取得した１階層情報が階層チェックが初回か否かを判定するステップＳ４０１と、該ステップＳ４０１において初回でないと判定したとき、前回のチェック対象階層情報の階層出現順序（番号）と現在のチェック対象の階層出現順序（番号）とを比較するステップＳ４０２を実行する。前記階層出現順位とは、図４に示したデータの各階層の予め定められた出現する順位（順番）であって、前述のステップＳ４０２においては、今回の階層出現順位（例えば２階層目）が、前回の階層出現順位（例えば１階層目）と等しいか小さいか（≧）を判定することによって、今回階層出現順位が前回階層出現順位と同位又は下位か否かを判定する。
【００３０】
次いで本処理手順は、前記ステップＳ４０２において、今回の階層出現順位（例えば２階層目）が前回の階層出現順位（例えば１階層目）と等しいか小さい（≧）と判定したとき、即ち、今回の階層順位が前回階層順位以下と判定したとき、前回チェック対象階層データの前階層と今回チェック対象階層との間に、必須階層が存在しないか否かを判定し、必須階層が存在しないと判定したとき、不整合（ＮＧ）な入力データであると判定するステップＳ４０６に移行するステップＳ４０３と、前記ステップＳ４０２において、今回の階層出現順位（例えば２階層目）が前回の階層出現順位（例えば１階層目）と等しいか小くないと判定したとき、即ち、今回の階層順位が前回階層順位以上（同順位は除く）と判定したとき、下層に必須の階層が存在するか否かを判定し、存在すると判定したときには、整合（ＯＫ）データであると判定するステップＳ４０５に移行し、存在しないと判定したとき、不整合（ＮＧ）な入力データであると判定するステップＳ４０６に移行するステップＳ４０４とを実行する。
【００３１】
このように本実施形態によるチェック処理手順は、データチェックエンジン部３０１が、今回階層出現順位と前回階層出現順位を比較し、今回階層出現順位が前回階層出現順位と比較して下位か否かを判定（ステップＳ４０２）する第１工程と、該第１工程による判定により上位と判定（ステップＳ４０２においてＮ）したとき、今回チェック階層の下層に必須の階層が存在か否かを判定する第２工程（ステップＳ４０４）と、前記第１工程により前記今回階層出現順位が前回階層出現順位と比較して下位か否かの判定において下位でないと判定したとき、前回階層と今回階層との間に必須の階層が存在するか否かを判定する第３工程（ステップＳ４０３）とを実行し、
前記第２工程において今回チェック階層の下層に必須の階層が構造定義情報では存在しないと判定（ステップＳ４０４においてＮ）したとき、又は第３工程において前回階層と今回階層との間に必須の階層が構造定義情報では存在すると判定したとき（ステップＳ４０３においてＹ）、入力データが整合性があることをチェックし、前記第２工程において今回チェック階層の下層に必須の階層が構造定義情報では存在すると判定（ステップＳ４０４においてＹ）したとき、又は第３工程において前回階層と今回階層との間に必須の階層が構造定義情報では存在しないと判定したとき（ステップＳ４０３においてＮ）、入力データが不整合性があることをチェックすることができる。
【００３２】
［ステップＳ１０５による項目チェック処理］
前述の図３チェック処理においてステップＳ１０５によりデータチェックエンジン部３０１が実行する入力データ２０２のチェック処理手順の詳細を次に図１３を参照して説明する。
【００３３】
この項目チェック処理手順は、データチェックエンジン部３０１が、図１３に示す如く、入力データの項目が属性情報を満たすか否かを判定するステップＳ５０１と、項目が桁数条件を満たすか否かを判定するステップＳ５０２と、入力データの項目が必須条件を満たすか否かを判定するステップＳ５０３とを実行し、前記ステップＳ５０１における何れかの条件を満たさないと判定したときに入力データが不整合とチェックし、前記各ステップＳ５０１〜Ｓ５０３の全条件を満たすと判定したときに入力データが整合あるとチェックすることができる。
【００３４】
［フィールドリストチェック］
前記図２のコードリストチェックを行うステップＳ５０６の処理動作を次に図１４を参照して説明する。このコードリストチェック処理は、図１４に示す如く、まずステップＳ５０４にて取得した１項目情報がコード変換テーブル（図７［ａ］の変換定義情報）の該当項目入力値の何れかに一致するか否かを判定し、該当項目入力値の何れかに一致したときに整合性ありのステップＳ７０２に移行し、該当項目入力値の何れかに一致しない際には整合性なしとするステップＳ７０３に移行するステップＳ７０１を実行することによって、コードリストチェックを行うことができる。
【００３５】
このように本発明によるデータ変換システム及び方法は、
固定長形式データを構成する階層名と該階層名に対応したデータ開始位置とデータ桁数とデータ属性と該階層名の出現順序と必須項目か否かを示す必須フラグとを含む固定長データ構造情報を格納した固定長定義情報テーブル部１０１と、
前記マークアップ言語形式データを構成する階層名と該階層名に対応したタグ名とデータ桁数と該階層名の出現順序と必須項目か否かを示す必須フラグとを含むマークアップ言語データ構造情報を格納したＸＭＬ（マークアップ言語）定義情報テーブル部１０３と、
前記マークアップ言語形式データの階層名と固定長形式データの階層名との階層名対応情報を格納した変換定義情報テーブル部１０２と、
前記固定長定義情報テーブル部１０１に格納した固定長データ構造情報と前記ＸＭＬ（マークアップ言語）定義情報テーブル部１０３に格納したマークアップ言語データ構造情報と前記変換定義情報テーブル部１０２に格納した階層名対応情報とを読み込み、該読み込んだ固定長データ構造情報とマークアップ言語データ構造情報と階層名対応情報とを基に、固定長形式データをマークアップ言語形式データに変換又はマークアップ言語形式データを固定長形式データに変換するための変換パラメータ情報を生成すると共に、固定長形式データ及びマークアップ言語形式データが前記固定長データ構造情報及びマークアップ言語データ構造情報と整合性が有るか否かを判定するための、前記固定長データ構造情報及びマークアップ言語データ構造情報のデータ属性とデータ桁数と階層名の出現順序と必須項目か否かを示す必須フラグとを含むデータチェックパラメータ情報を生成するパラメータ生成エンジン部１０４と、
前記データチェックパラメータ情報を基に変換元のマークアップ言語形式データ及び固定長形式データの前記整合性を検証するためのデータチェックエンジン部３０１を備え、
該データチェックエンジン部３０１が、
固定長形式データをチェック対象データとして階層ごとに読み込み、前記固定長定義情報テーブル部を参照して、読み込んだチェック対象データが１階層目か否かを判定するステップＳ４０１と、
該ステップＳ４０１においてチェック対象データが１階層目でないと判定したとき、前回のチェック対象データの階層出現順序が現在のチェック対象データの階層出現順序と比較して等しいか小さいかを判定するステップＳ４０２と、
該ステップＳ４０２において前回のチェック対象データの階層出現順序が現在のチェック対象データの階層出現順序と比較して等しいか小さくないと判定したとき、前記データチェックパラメータ情報に含まれる階層順序及び必須フラグを参照して下層に必須の階層が存在するか否かを判定するステップＳ４０４と、
前記ステップＳ４０２において前回のチェック対象データの階層出現順序が現在のチェック対象データの階層出現順序と比較して等しいか小さいと判定したとき、前記データチェックパラメータ情報に含まれる階層順序及び必須フラグを参照して前回チェック対象データの階層と現在のチェック対象データ階層間に必須階層が存在しないか否かを判定するステップＳ４０３と、
前記ステップＳ４０１においてチェック対象データが１階層目であると判定したとき、又は前記ステップＳ４０３おいて下層に必須の階層が存在すると判定したとき、又は前記ステップＳ４０３において前回チェック対象データの階層と現在のチェック対象データの階層の間に必須階層が存在しないと判定したとき、入力データのデータ構造に整合性があると判定し、
前記ステップＳ４０４及びステップＳ４０３において必須階層が存在すると判定したとき、入力データのデータ内容に整合性がないと判定するデータ構造チェック処理を実行すると共に、
マークアップ言語形式データをチェック対象データとして階層ごとに読み込み、前記ＸＭＬ（マークアップ言語）定義情報テーブル部１０３を参照し、チェック対象データの項目が前記データチェックパラメータ情報に含まれるデータ属性の条件を満たすか否かを判定するステップＳ５０１と、
チェック対象データの項目が前記データチェックパラメータ情報に含まれるデータ桁数の条件を満たすか否かを判定するステップＳ５０２と、
チェック対象データの項目が前記データチェックパラメータ情報に含まれる必須フラグの条件を満たすか否かを判定するステップＳ５０３と、
前記ステップＳ５０１からステップＳ５０３の何れかにおいて条件を満たさないと判定したとき、入力データのデータ内容に整合性がないと判定するデータ内容チェック処理を実行することによって、変換前のデータ形式不整合を容易にチェックすることができる。
【符号の説明】
【００３６】
１００：データ変換定義設定システム、１０１：固定長定義情報テーブル部、１０２：変換定義情報テーブル部、１０３：ＸＭＬ定義情報テーブル部、１０４：パラメータ生成エンジン部、２００：データ変換システム、２０１：変換パラメータ、２０２：入力データ、２０３：変換エンジン部、３００：データチェックシステム、３０１：データチェックエンジン部、３０２：データチェックパラメータテーブル部、３０３：チェック結果データ。
【図１】
0005564226.tif 000002
【図２】
0005564226.tif 000003
【図３】
0005564226.tif 000004
【図４】
0005564226.tif 000005
【図５】
0005564226.tif 000006
【図６】
0005564226.tif 000007
【図７】
0005564226.tif 000008
【図８】
0005564226.tif 000009
【図９】
0005564226.tif 000010
【図１０】
0005564226.tif 000011
【図１１】
0005564226.tif 000012
【図１２】
0005564226.tif 000013
【図１３】
0005564226.tif 000014
【図１４】
0005564226.tif 000015