JP2011070285A - データ変換システム及びデータ変換方法 - Google Patents

データ変換システム及びデータ変換方法 Download PDF

Info

Publication number
JP2011070285A
JP2011070285A JP2009218968A JP2009218968A JP2011070285A JP 2011070285 A JP2011070285 A JP 2011070285A JP 2009218968 A JP2009218968 A JP 2009218968A JP 2009218968 A JP2009218968 A JP 2009218968A JP 2011070285 A JP2011070285 A JP 2011070285A
Authority
JP
Japan
Prior art keywords
data
hierarchy
name
length
markup language
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.)
Granted
Application number
JP2009218968A
Other languages
English (en)
Other versions
JP5564226B2 (ja
Inventor
啓輝 ▲高▼村
Keiki Takamura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Information Systems Ltd
Original Assignee
Hitachi Information Systems Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Information Systems Ltd filed Critical Hitachi Information Systems Ltd
Priority to JP2009218968A priority Critical patent/JP5564226B2/ja
Publication of JP2011070285A publication Critical patent/JP2011070285A/ja
Application granted granted Critical
Publication of JP5564226B2 publication Critical patent/JP5564226B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

【課題】変換元データの不整合を検出するデータ変換システムの提供。
【解決手段】固定長定義情報テーブル部101に格納した固定長データ構造情報とXML定義情報テーブル部103に格納したXMLデータ構造情報と変換定義情報テーブル部102に格納した階層名対応情報とを基に、固定長形式データ及びXMLデータが固定長データ構造情報及びXMLデータ構造情報と整合性が有るか否かを判定するためのデータチェックパラメータ情報を生成するパラメータ生成エンジン部104と、変換元データの整合性を検証するデータチェックエンジン部301とを設け、該データチェックエンジン部301が、変換元データに含まれる階層名の出現順序がデータチェックパラメータ情報に含まれる階層名の出現順序と整合するか否かを判定し、該判定により変換元データの階層名の出現順序がデータチェックパラメータ情報に含まれる階層名の出現順序と整合しないと判定したとき、エラーと通知するもの。
【選択図】図1

Description

本発明は、異なるデータ形式のデータを相互形式に変換することができるデータ変換システム及びデータ変換方法に係り、特に変換前のデータ形式の不整合をチェックすることができるデータ変換システム及びデータ変換方法に関する。
近年、商取引に関する情報を標準的な書式に統一し、企業間で電子的に交換するEDI(Electronic Data Interchange)システムが構築され、このEDIシステムは、企業間での受発注や見積もり/決済/出入荷などに関わる電子データを、あらかじめ定められた形式にしたがって電子化し、専用線やVANなどのネットワークを通じて送受信することが行われている。
このEDIシステムは、データ交換の手順(通信プロトコル)や使用する業務メッセージ(発注、支払など)が企業毎に異なることが多く、更に小売企業毎にメッセージの形式が異なる場合が多いため、企業同士が直接やりとりする方式ではなく、EDIセンタという中継センタを経由してやりとりする場合が多い。このEDIシステムにおけるデータ形式としては、大別して、固定長形式と流通ビジネスメッセージ標準形式(流通BMS形式)があり、流通BMS形式の基準形式はXMLフォーマットである。尚、XML(eXxtensible Markup Language)形式データとは、文書やデータの意味や構造を記述するためのマークアップ言語により記述されたデータであり、固定長形式データとは、格納するデータ種(属性)及びデータサイズ(長さ)を予め定めた形式で記述したデータを言う。
このようにEDIシステムは、異なる形式のデータの変換を行うデータ変換機能を備えるため、データ形式やデータ構造について、事前に双方の取り決めを行うことが不可欠であり、取り決めに適合するデータであるか否かをチェックするために、専用のデータチェックシステムを開発することが必要であった。
また、一般にXMLデータの内容整合性チェックを行うための標準規格としてXML Schemaと呼ばれるXML木構造等の定義を表すスキーマがあり、このスキーマを用いてXMLデータの整合性チェックを実施することができる。
尚、前記データ形式の整合性をチェックする技術が記載された文献としては下記特許文献1が挙げられる。この特許文献1には、チェック条件をデータベースに記憶させておき、チェック条件論理式を、データ名に演算子及び関数を組み合わせて作成することにより、チェック条件の変更を容易に行うことができるとする技術が記載されている。
特開2004−213488号公報
従来技術によるEDIシステムにおけるデータ形式の整合性チェック手法は、変換後データの整合性のチェックの結果、不整合が判明したとしても、変換前のデータにおける不整合箇所を特定することが困難であると言う不具合があった。また、変換後XMLデータのXMLスキーマチェック項目を変換前データにおいてチェックしようとした場合、XMLスキーマ数×データ形式数だけのデータチェックシステムを開発する必要があり、作業負荷及びコストが増大すると言う不具合もあった。また、チェック定義をパラメータ等に切り出し、共通のチェックシステムを開発することも考えられるが、チェック定義を行うための作業がスキーマ数×データ形式数だけ発生すると言う不具合もあった。
本発明の目的は、変換元のデータ形式不整合を容易にチェックすることができるデータ変換システム及びデータ変換方法を提供することである。
前記目的を達成するために本発明は、マークアップ言語により記述されたマークアップ言語形式データとデータ種及びデータ長さを予め固定して記述された固定長形式データとの相互変換をコンピュータにより行うデータ変換システムであって、
前記固定長形式データを構成する階層名と該階層名に対応したデータ開始位置とデータ長さとデータ属性と該階層名の出現順序と必須項目か否かを示す必須フラグとを含む固定長データ構造情報を格納した固定長定義情報テーブル部と、
前記マークアップ言語形式データを構成する階層名と該階層名に対応したタグ名と該階層名の出現順序と必須項目か否かを示す必須フラグとを含むマークアップ言語データ構造情報を格納したマークアップ言語定義情報テーブル部と、
前記マークアップ言語形式データの階層名と固定長形式データの階層名との階層名対応情報を格納した変換定義情報テーブル部と、
前記固定長定義情報テーブル部に格納した固定長データ構造情報と前記マークアップ言語定義情報テーブル部に格納したマークアップ言語データ構造情報と前記変換定義情報テーブル部に格納した階層名対応情報とを読み込み、該読み込んだ固定長データ構造情報とマークアップ言語データ構造情報と階層名対応情報とを基に、固定長形式データをマークアップ言語形式データに変換又はマークアップ言語形式データを固定長形式データに変換するための変換パラメータ情報を生成すると共に、固定長形式データ及びマークアップ言語形式データが前記固定長データ構造情報及びマークアップ言語データ構造情報と整合性が有るか否かを判定するためのデータチェックパラメータ情報を生成するパラメータ生成エンジン部と、
前記データチェックパラメータ情報を基に変換元のマークアップ言語形式データ及び固定長形式データの前記整合性を検証するためのデータチェックエンジン部とを備え、
前記データチェックエンジン部が、前記変換元のマークアップ言語形式データ及び固定長形式データに含まれる階層名の出現順序が前記データチェックパラメータ情報に含まれる階層名の出現順序と整合するか否かを判定する第1工程と、該第1工程により前記変換元データの階層名の出現順序がデータチェックパラメータ情報に含まれる階層名の出現順序と整合しないと判定したとき、前記変換元データがエラーと通知する第2工程とを実行することを第1の特徴とする。
また本発明は、第1の特徴のデータ変換システムにおいて、前記マークアップ言語定義情報テーブル部が、前記マークアップ言語形式データに含まれる階層名の出現順序を、最上階層名段を所定の値に設定し、該最上段から下層になるに従って前記所定の値を増加させる数値として格納し、
前記データチェックエンジン部が、前記変換元データを1階層毎に読み込み、今回読み込んだ階層名に対応する階層出現順位値が、前回読み込んだ階層名に対応する階層出現順位値以下か否かを判定する第3工程と、該第3工程の判定により今回読み込んだ階層出現順位値が前回読み込んだ階層出現順位値以下でないと判定したとき、該今回読み込んだ階層名の下層に必須の階層名が格納されているかを前記必須フラグを参照して判定する第4工程と、前記第3工程の判定により今回読み込んだ階層出現順位値が前回読み込んだ階層出現順位値以下であると判定したとき、前回読み込んだ階層名と今回読み込んだ階層名との間に必須の階層名があるか否かを前記必須フラグにより判定する第5工程とを実行し、
前記第4工程により下層に必須の階層名が格納されていないと判定、又は前記第5工程により前回読み込んだ階層名と今回読み込んだ階層名との間に必須の階層名がないと判定したとき、変換元データが整合ありと判定し、
前記第4工程により下層に必須の階層名が格納されていると判定、又は前記第5工程により前回読み込んだ階層名と今回読み込んだ階層名との間に必須の階層名があると判定したとき、変換元データが整合なしと判定することを第2の特徴とする。
更に本発明は、固定長形式データを構成する階層名と該階層名に対応したデータ開始位置とデータ長さとデータ属性と該階層名の出現順序と必須項目か否かを示す必須フラグとを含む固定長データ構造情報を格納した固定長定義情報テーブル部と、
マークアップ言語形式データを構成する階層名と該階層名に対応したタグ名と該階層名の出現順序と必須項目か否かを示す必須フラグとを含むマークアップ言語データ構造情報を格納したマークアップ言語定義情報テーブル部と、
前記マークアップ言語形式データの階層名と固定長形式データの階層名との階層名対応情報を格納した変換定義情報テーブル部と、
前記固定長定義情報テーブル部に格納した固定長データ構造情報と前記マークアップ言語定義情報テーブル部に格納したマークアップ言語データ構造情報と前記変換定義情報テーブル部に格納した階層名対応情報とを読み込み、該読み込んだ固定長データ構造情報とマークアップ言語データ構造情報と階層名対応情報とを基に、固定長形式データをマークアップ言語形式データに変換又はマークアップ言語形式データを固定長形式データに変換するための変換パラメータ情報を生成すると共に、固定長形式データ及びマークアップ言語形式データが前記固定長データ構造情報及びマークアップ言語データ構造情報と整合性が有るか否かを判定するためのデータチェックパラメータ情報を生成するパラメータ生成エンジン部と、
前記データチェックパラメータ情報を基に変換元のマークアップ言語形式データ及び固定長形式データの前記整合性を検証するためのデータチェックエンジン部とを備え、マークアップ言語により記述されたマークアップ言語形式データとデータ種及びデータ長さを予め固定して記述された固定長形式データとの相互変換を行うデータ変換方法であって、
前記データチェックエンジンに、
前記変換元のマークアップ言語形式データ及び固定長形式データに含まれる階層名の出現順序が前記データチェックパラメータ情報に含まれる階層名の出現順序と整合するか否かを判定する第1工程と、該第1工程により前記変換元データの階層名の出現順序がデータチェックパラメータ情報に含まれる階層名の出現順序と整合しないと判定したとき、前記変換元データがエラーと通知する第2工程とを実行させることを第3の特徴とする。
また本発明は、第3の特徴のデータ変換方法において、前記マークアップ言語定義情報テーブル部が、前記マークアップ言語形式データに含まれる階層名の出現順序を、最上階層名段を所定の値に設定し、該最上段から下層になるに従って前記所定の値を増加させる数値として格納し、
前記データチェックエンジン部に、
前記変換元データを1階層毎に読み込み、今回読み込んだ階層名に対応する階層出現順位値が、前回読み込んだ階層名に対応する階層出現順位値以下か否かを判定する第3工程と、該第3工程の判定により今回読み込んだ階層出現順位値が前回読み込んだ階層出現順位値以下でないと判定したとき、該今回読み込んだ階層名の下層に必須の階層名が格納されているかを前記必須フラグを参照して判定する第4工程と、前記第3工程の判定により今回読み込んだ階層出現順位値が前回読み込んだ階層出現順位値以下であると判定したとき、前回読み込んだ階層名と今回読み込んだ階層名との間に必須の階層名があるか否かを前記必須フラグにより判定する第5工程とを実行し、
前記第4工程により下層に必須の階層名が格納されていないと判定、又は前記第5工程により前回読み込んだ階層名と今回読み込んだ階層名との間に必須の階層名がないと判定したとき、変換元データが整合ありと判定し、
前記第4工程により下層に必須の階層名が格納されていると判定、又は前記第5工程により前回読み込んだ階層名と今回読み込んだ階層名との間に必須の階層名があると判定したとき、変換元データが整合なしと判定することを第4の特徴とする。
本発明によるデータ変換システム及び方法は、前記データチェックエンジンが、前記変換元のマークアップ言語形式データ及び固定長形式データに含まれる階層名の出現順序が前記データチェックパラメータ情報に含まれる階層名の出現順序と整合するか否かを判定する第1工程と、該第1工程により前記変換元データの階層名の出現順序がデータチェックパラメータ情報に含まれる階層名の出現順序と整合しないと判定したとき、前記変換元データがエラーと通知する第2工程とを実行させることによって、階層の出現順位の相違による変換元データの不整合を検出することができる。
本発明の一実施形態によるデータ変換システムの全体構成図。 本実施形態によるデータ変換システムの全体動作フロー図。 本実施形態によるデータ変換システムのチェック処理動作フロー図。 本実施形態によるデータ形式の不整合を説明するための図。 本実施形態による定義情報のデータ構成を説明するための図。 本実施形態による定義情報のデータ構成の具体例を示す図。 本実施形態による変換定義情報におけるコード変換テーブル例を示す図。 本実施形態によるチェックパラメータの出力フロー図。 本実施形態による変換パラメータの出力フロー図。 本実施形態による入力データ形式ワークテーブルを示す図。 本実施形態による変換定義ワークテーブルを示す図。 本実施形態による構造チェックの処理フロー図。 本実施形態による項目チェックの処理フロー図。 本実施形態によるコードリストチェックの処理フロー図。
以下、本発明によるデータ変換方法を実現するデータ変換システムを図面を参照して説明するが、まず、本発明の前提となるデータの不整合について説明する。例えば、電子商取引における固定長データ形式は、例えば図4(a)に示す如く、最初に転送ヘッダS、該転送ヘッダSの1段下層にファイルヘッダA及びBがあり、これらファイルヘッダA及びBの1段下層に伝票ヘッダBがあり、該伝票ヘッダBの1段下層に伝票明細Dが位置する様に定義されている。本実施形態で述べるデータの不整合とは、例えば図4(b)に示す如く、2段目のファイルヘッダA(2)の1段下に存在すべき伝票ヘッダB(3)がなく、伝票明細D(5)が位置してしまうような、図4(a)に示した定義に合致しないデータ形式のことを言う。
[全体構成]
さて、本実施形態によるデータ変換システムは、例えば電子商取引におけるEDIシステムに含まれるものであって、図1に示す如く、変換前後のデータ形式の定義情報を基に変換パラメータ201及びデータチェックパラメータ302を生成するデータ変換定義設定システム100と、該データ変換定義設定システム100が生成した変換パラメータ201を用いて入力データ(例えば固定長形式データ)202を出力データ(XML形式データ)204に変換するデータ変換システム200と、前記データチェックパラメータ302及び入力データ202を入力して入力データ202の整合性をチェックするデータチェックシステム300とから構成されている。尚、本明細書では、ハードウェア的な図示及び説明を行うが、前述の各システムはコンピュータのメモリに格納されるデータやプログラムによって構成されるものである。
[データ変換定義設定システム100]
前記データ変換定義設定システム100は、電子商取引のデータを予め固定長のデータ形式として定義した固定長定義情報を格納する固定長定義情報テーブル部101と、電子商取引のデータを予めXMLのデータ形式として定義したXML定義情報を格納するXML定義情報テーブル部103と、前記固定長定義情報とXML定義情報間相互の変換情報を格納する変換定義情報テーブル部102と、前記固定長定義情報テーブル部101に格納した固定長定義情報とXML定義情報テーブル部103に格納したXML定義情報と前記変換定義情報テーブル部102に格納した変換情報とを基に、後述する変換パラメータ201及びデータチェックパラメータ302を生成するパラメータ生成エンジン部104とから構成される。
[固定長定義情報テーブル部101]
前記固定長定義情報テーブル部101に格納した固定長定義情報の構造は、例えば図5(a)に示す如く、階層名として、「転送ヘッダ」「ファイルヘッダ」「伝票ヘッダ」「伝票明細」の4階層名であること、各々の識別文字が「S」「A」「B」「D」と定義されていること、各レコード長が256ビットであることがデータ構造として定義されている。この固定長定義情報テーブル部101には、項目名に応じた固定長データの開始位置/長さ/属性の固定長データの項目情報が定義されており、これは例えば図6(a)に示す如く、項目名「レコード区分」の開始位置が「1」、長さが「1」、属性が「X」の如く定義されており、他の項目名に対する項目情報も図示の通りである。
[変換定義情報テーブル部102]
前記変換定義情報テーブル部102に格納した変換情報の構造は、図5(b)に示す如く、変換元(固定長形式)と変換後(XML形式)の定義名の対応は、変換元「階層名」が変換後「階層名」、変換元「転送ヘッダ」が変換後「SBDH」、変換元「ファイルヘッダ」が「ヘッダ」、変換元「伝票ヘッダ」が変換後「取引」、変換元「伝票明細」が変換後「明細」に各々対応しているとして定義されている。この変換定義情報テーブル部102には、変換元の固定長形式の項目名に対応する変換後のXML形式の項目名及び変換情報が登録されており、これは、例えば図6(b)に示す如く、変換元項目名「伝票番号」に対応する変換後の項目名が「明細番号」であり、変換情報が「前ゼロ埋め(桁数に対して桁数上位の空き桁にゼロを挿入する)」形式であるの如く定義されており、他の項目名に対する情報も図示の通りである。
[XML定義情報テーブル部103]
前記XML定義情報テーブル部103に格納したXML定義情報の構造は、図5(b)に示す如く、階層名に対する「タグ名」「出現順序」「必須か任意か」の各項目が定義されており、例えば階層名「SBDH」(Standard Business Document Header)のタグ名が「shStandardBussinessDocumentHeader」、出現順序が「1」、「必須フラグ」として格納されている。このXML定義情報テーブル部103には、項目名に対するタグ名(XPath)/属性/桁数/必須か任意かの区分情報のXML項目情報が定義されており、これは例えば図6(c)に示す如く、項目名「明細番号」のタグ名(XPath)が「data/list/item/lineNumber」、属性が「英数」、桁数が「最大4」、区分情報が「必須」の如く定義されており、他の項目名に対する項目情報も図示の通りである。この前記XML定義情報テーブル部103には、項目名に対するタグ名(XPath)/属性/桁数/必須か任意かの区分情報のXML項目情報が定義されており、これは例えば図6(c)に示す如く、項目名「明細番号」のタグ名(XPath)が「data/list/item/lineNumber」、属性が「英数」、桁数が「最大4」、区分情報が「必須」の如く定義されており、他の項目名に対する項目情報も図示の通りである。尚、図6(c)では省略しているが、階層名の出現順位を図5(c)と同様に数値として格納しても良い。
尚、前記図6(b)の「伝票レス区分」は伝票を要しない区分コードを示し、例えば図7(b)に示す如く、コード「01」が「伝票レス」(紙伝票が存在しない)、コード「02」が「伝票あり」(紙伝票が存在すること)を意味するものであって、変換前後の変換テーブルは、例えば図7(a)に示す如く、入力と出力の関係として定義づけられている。
[動作]
次に、前述の様に構成した本実施形態によるデータ変換システム(EDIシステム)が固定長形式データをXML形式データに変換する動作を動作フロー図を参照して説明する。
[入力データの整合性チェック動作]
まず、本実施形態によるデータ変換システムによる入力データの整合性チェック動作を説明する。この整合性チェック動作は、図2に示す如く、データチェックシステム300のデータチェックエンジン部301が、データチェックパラメータ302からデータチェックパラメータを読み込むステップS501と、チェック対象の入力データの1階層データを読み込むステップS502と、該読み込んだ1階層データの構造チェックを行い、不整合(NG)と判定したときにエラーログを出力するステップS508に移行するステップS503と、該ステップS503において構造チェック結果が整合性あり(OK)と判定されたときに前記1階層データを読み込むステップS504と、該読み込んだ1階層データの項目チェックを行い、不整合(NG)と判定したときに前記ステップS508に移行するステップS505と、該ステップS505により整合性あり(OK)と判定されたときにコードリストのチェックを行い、不整合(NG)と判定したときに前記ステップS508に移行するステップS506と、チェック対象のデータが末尾(最下層)か否かを判定し、末尾でないと判定したときに前記ステップS502に戻り、末尾と判定したときに処理を終了するステップS507とを実行する。
本実施形態によるデータチェックシステム300は、前述の各ステップを実行することによって、多層構造から成る入力データを1階層毎に読み込んで各層の構造と項目とコードリストの各チェックを実行することによって、入力データの不整合を判定することができる。
[データチェックパラメータ及び変換パラメータ生成動作]
次いで本実施形態によるデータ変換システムは、データチェックシステム300が、前述の変換エンジン部203が変換パラメータを参照してデータ変換(例えば、固定長形式データをXML形式データに変換)するものであって、この変換動作を図3を参照して説明する。
この変換動作処理は、図3に示す如く、データ変換定義設定システム100のパラメータ生成エンジン103が、固定長定義情報テーブル部101から固定長定義情報を読み込むと共にXML定義情報テーブル部103からXML定義情報を読み込むステップS101と、これら読み込んだ定義情報を基にデータチェックパラメータ302を出力するステップS102と、データチェックエンジン部301が、固定長形式の入力データ202及び前述のデータチェックパラメータ302を基に入力データのデータチェックを行うステップS103と、該ステップS103によるチェック結果が正常(不整合がない入力データ)であるか否かを判定するステップS105と、該ステップS105により異常ありと判定したとき、チェック結果データ303を参照し、入力データの異常(不整合)箇所を修正して前記ステップS102に戻るステップS104と、前記ステップS105において異常(不整合)なしと判定したとき、前記変換パラメータ201を変換エンジン部203に出力するステップS106と、変換エンジン部203が、前記入力した変換パラメータ201を用いて入力データ202を変換し、出力データ204として出力するステップS107とを実行することによって、入力データの整合性のチェックを行った後にデータ変換を行う様に動作することができる。
[データチェックパラメータ302出力処理]
前記ステップS102によるデータチェックパラメータを出力する処理は、図8に示す如く、パラメータ生成エンジン部104が、固定長定義情報テーブル部101から固定長定義情報を読み込むと共にXML定義情報テーブル部103からXML定義情報を読み込むステップS201と、該読み込んだ固定長定義情報及びXML定義情報を入力データチェックワークテーブル(図示しないメモリ上の一時記憶領域)に、図5に示した各情報を出現順序/必須又は任意等の階層情報として格納して反映させるステップS202と、前記入力データチェックワークテーブルに、図6に示した項目定義情報を属性/桁数/必須又は任意等の項目情報に格納して反映させるステップS203と、入力データチェックワークテーブルに格納した各データ内容をデータチェックパラメータ302として出力するステップS204とを実行することによって、データチェックパラメータ302として出力することができる。
前記ステップS201により入力データチェックワークテーブルに格納される情報は、階層名に対応した識別文字/レコード長/出現順序/必須又は任意の区分情報であり、例えば、図10(a)に示す如く、階層名「転送ヘッダ」に対して識別文字が「S」、レコード長が「##」、出現順序が「1」、区分が「必須」の如く格納され、前記ステップS202により入力データチェックワークテーブルに格納される情報は、項目名に対応した各要素情報を格納したものであり、例えば、図10(a)に示す如く、項目名「商品コードの群版」の開始位置が「6」、長さが「12」、入力属性が「9」、出力属性が「英数」、桁数が「最大10」、必須区分が「任意」の如く格納され、他の項目名に対する要素情報も図示の通りである。
[変換パラメータ201生成処理]
前記ステップS102による変換パラメータ201の生成(出力)処理は、図9に示す如く、パラメータ生成エンジン部104が、固定長定義情報テーブル部101から固定長定義情報を読み込むと共にXML定義情報テーブル部103からXML定義情報を読み込むステップS301と、該読み込んだ固定長定義情報及びXML定義情報を後述の如く紐付けた階層情報として変換定義ワークテーブル(図示しないメモリ上の一時記憶領域)に格納して反映させるステップS302と、前記変換定義ワークテーブルに、各定義情報を紐付けた要素情報を追加するステップS303と、該変換定義ワークテーブルに格納した各種情報をデータチェックパラメータ302として出力するステップS304とを実行する。
前記ステップS302により変換定義ワークテーブルに格納する階層情報は、階層名に対応した識別文字/レコード長/タグ名(XPath)から成る各階層情報であって、図11(a)に示す如く、例えば、階層名「転送ヘッダ」の識別文字が「S」、レコード長が「##」(任意の値)、タグ名(XPath)が「shStandardBussinessDocumentHeader」の如く格納され、他の項目名に対する階層情報も図示の通りである。
前記ステップS303により変換定義ワークテーブルに格納する要素情報は、項目名に対応した開始位置/長さ/タグ名(XPath)/変換情報から成る要素情報であって、図11(b)に示す如く、例えば、階層名「伝票行番号」の開始位置が「4」、長さが「3」、タグ名(XPath)が「data/list/item/lineNuber」、変換情報が「前ゼロつめ」の如く格納され、他の項目名に対する要素情報も図示の通りである。
[ステップS105による構造チェック処理]
前述の図3変換処理においてステップS105によりデータチェックエンジン部301が実行する入力データ202の構造チェック処理手順の詳細を次に図12を参照して説明する。
このチェック処理手順は、データチェックエンジン部301が、図12に示す如く、取得した1階層情報が階層チェックが初回か否かを判定するステップS401と、該ステップS401において初回でないと判定したとき、前回のチェック対象階層情報の階層出現順序(番号)と現在のチェック対象の階層出現順序(番号)とを比較するステップS402を実行する。前記階層出現順位とは、図4に示したデータの各階層の予め定められた出現する順位(順番)であって、前述のステップS402においては、今回の階層出現順位(例えば2階層目)が、前回の階層出現順位(例えば1階層目)と等しいか小さいか(≧)を判定することによって、今回階層出現順位が前回階層出現順位と同位又は下位か否かを判定する。
次いで本処理手順は、前記ステップS402において、今回の階層出現順位(例えば2階層目)が前回の階層出現順位(例えば1階層目)と等しいか小さい(≧)と判定したとき、即ち、今回の階層順位が前回階層順位以下と判定したとき、前回チェック対象階層データの前階層と今回チェック対象階層との間に、必須階層が存在しないか否かを判定し、必須階層が存在しないと判定したとき、不整合(NG)な入力データであると判定するステップS406に移行するステップS403と、前記ステップS402において、今回の階層出現順位(例えば2階層目)が前回の階層出現順位(例えば1階層目)と等しいか小くないと判定したとき、即ち、今回の階層順位が前回階層順位以上(同順位は除く)と判定したとき、下層に必須の階層が存在するか否かを判定し、存在すると判定したときには、整合(OK)データであると判定するステップS405に移行し、存在しないと判定したとき、不整合(NG)な入力データであると判定するステップS406に移行するステップS404とを実行する。
このように本実施形態によるチェック処理手順は、データチェックエンジン部301が、今回階層出現順位と前回階層出現順位を比較し、今回階層出現順位が前回階層出現順位と比較して下位か否かを判定(ステップS402)する第1工程と、該第1工程による判定により上位と判定(ステップS402においてN)したとき、今回チェック階層の下層に必須の階層が存在か否かを判定する第2工程(ステップS404)と、前記第1工程により前記今回階層出現順位が前回階層出現順位と比較して下位か否かの判定において下位でないと判定したとき、前回階層と今回階層との間に必須の階層が存在するか否かを判定する第3工程(ステップS403)とを実行し、
前記第2工程において今回チェック階層の下層に必須の階層が構造定義情報では存在しないと判定(ステップS404においてN)したとき、又は第3工程において前回階層と今回階層との間に必須の階層が構造定義情報では存在すると判定したとき(ステップS403においてY)、入力データが整合性があることをチェックし、前記第2工程において今回チェック階層の下層に必須の階層が構造定義情報では存在すると判定(ステップS404においてY)したとき、又は第3工程において前回階層と今回階層との間に必須の階層が構造定義情報では存在しないと判定したとき(ステップS403においてN)、入力データが不整合性があることをチェックすることができる。
[ステップS105による項目チェック処理]
前述の図3チェック処理においてステップS105によりデータチェックエンジン部301が実行する入力データ202のチェック処理手順の詳細を次に図13を参照して説明する。
この項目チェック処理手順は、データチェックエンジン部301が、図12に示す如く、入力データの項目が属性情報を満たすか否かを判定するステップS501と、項目が桁数条件を満たすか否かを判定するステップS502と、入力データの項目が必須条件を満たすか否かを判定するステップS503とを実行し、前記ステップS501における何れかの条件を満たさないと判定したときに入力データが不整合とチェックし、前記各ステップS501〜S503の全条件を満たすと判定したときに入力データが整合あるとチェックすることができる。
[フィールドリストチェック]
前記図2のコードリストチェックを行うステップS506の処理動作を次に図14を参照して説明する。このコードリストチェック処理は、図14に示す如く、まずステップS504にて取得した1項目情報がコード変換テーブル(図7[a]の変換定義情報)の該当項目入力値の何れかに一致するか否かを判定し、該当項目入力値の何れかに一致したときに整合性ありのステップS702に移行し、該当項目入力値の何れかに一致しない際には整合性なしとするステップS703に移行するステップS701を実行することによって、コードリストチェックを行うことができる。
100:データ変換定義設定システム、101:固定長定義情報テーブル部、102:変換定義情報テーブル部、103:XML定義情報テーブル部、104:パラメータ生成エンジン部、200:データ変換システム、201:変換パラメータ、202:入力データ、203:変換エンジン部、300:データチェックシステム、301:データチェックエンジン部、302:データチェックパラメータテーブル部、303:チェック結果データ。

Claims (4)

  1. マークアップ言語により記述されたマークアップ言語形式データとデータ種及びデータ長さを予め固定して記述された固定長形式データとの相互変換をコンピュータにより行うデータ変換システムであって、
    前記固定長形式データを構成する階層名と該階層名に対応したデータ開始位置とデータ長さとデータ属性と該階層名の出現順序と必須項目か否かを示す必須フラグとを含む固定長データ構造情報を格納した固定長定義情報テーブル部と、
    前記マークアップ言語形式データを構成する階層名と該階層名に対応したタグ名と該階層名の出現順序と必須項目か否かを示す必須フラグとを含むマークアップ言語データ構造情報を格納したマークアップ言語定義情報テーブル部と、
    前記マークアップ言語形式データの階層名と固定長形式データの階層名との階層名対応情報を格納した変換定義情報テーブル部と、
    前記固定長定義情報テーブル部に格納した固定長データ構造情報と前記マークアップ言語定義情報テーブル部に格納したマークアップ言語データ構造情報と前記変換定義情報テーブル部に格納した階層名対応情報とを読み込み、該読み込んだ固定長データ構造情報とマークアップ言語データ構造情報と階層名対応情報とを基に、固定長形式データをマークアップ言語形式データに変換又はマークアップ言語形式データを固定長形式データに変換するための変換パラメータ情報を生成すると共に、固定長形式データ及びマークアップ言語形式データが前記固定長データ構造情報及びマークアップ言語データ構造情報と整合性が有るか否かを判定するためのデータチェックパラメータ情報を生成するパラメータ生成エンジン部と、
    前記データチェックパラメータ情報を基に変換元のマークアップ言語形式データ及び固定長形式データの前記整合性を検証するためのデータチェックエンジン部とを備え、
    前記データチェックエンジン部が、前記変換元のマークアップ言語形式データ及び固定長形式データに含まれる階層名の出現順序が前記データチェックパラメータ情報に含まれる階層名の出現順序と整合するか否かを判定する第1工程と、該第1工程により前記変換元データの階層名の出現順序がデータチェックパラメータ情報に含まれる階層名の出現順序と整合しないと判定したとき、前記変換元データがエラーと通知する第2工程とを実行するデータ変換システム。
  2. 前記マークアップ言語定義情報テーブル部が、前記マークアップ言語形式データに含まれる階層名の出現順序を、最上階層名段を所定の値に設定し、該最上段から下層になるに従って前記所定の値を増加させる数値として格納し、
    前記データチェックエンジン部が、前記変換元データを1階層毎に読み込み、今回読み込んだ階層名に対応する階層出現順位値が、前回読み込んだ階層名に対応する階層出現順位値以下か否かを判定する第3工程と、該第3工程の判定により今回読み込んだ階層出現順位値が前回読み込んだ階層出現順位値以下でないと判定したとき、該今回読み込んだ階層名の下層に必須の階層名が格納されているかを前記必須フラグを参照して判定する第4工程と、前記第3工程の判定により今回読み込んだ階層出現順位値が前回読み込んだ階層出現順位値以下であると判定したとき、前回読み込んだ階層名と今回読み込んだ階層名との間に必須の階層名があるか否かを前記必須フラグにより判定する第5工程とを実行し、
    前記第4工程により下層に必須の階層名が格納されていないと判定、又は前記第5工程により前回読み込んだ階層名と今回読み込んだ階層名との間に必須の階層名がないと判定したとき、変換元データが整合ありと判定し、
    前記第4工程により下層に必須の階層名が格納されていると判定、又は前記第5工程により前回読み込んだ階層名と今回読み込んだ階層名との間に必須の階層名があると判定したとき、変換元データが整合なしと判定する請求項1記載のデータ変換システム。
  3. 固定長形式データを構成する階層名と該階層名に対応したデータ開始位置とデータ長さとデータ属性と該階層名の出現順序と必須項目か否かを示す必須フラグとを含む固定長データ構造情報を格納した固定長定義情報テーブル部と、
    マークアップ言語形式データを構成する階層名と該階層名に対応したタグ名と該階層名の出現順序と必須項目か否かを示す必須フラグとを含むマークアップ言語データ構造情報を格納したマークアップ言語定義情報テーブル部と、
    前記マークアップ言語形式データの階層名と固定長形式データの階層名との階層名対応情報を格納した変換定義情報テーブル部と、
    前記固定長定義情報テーブル部に格納した固定長データ構造情報と前記マークアップ言語定義情報テーブル部に格納したマークアップ言語データ構造情報と前記変換定義情報テーブル部に格納した階層名対応情報とを読み込み、該読み込んだ固定長データ構造情報とマークアップ言語データ構造情報と階層名対応情報とを基に、固定長形式データをマークアップ言語形式データに変換又はマークアップ言語形式データを固定長形式データに変換するための変換パラメータ情報を生成すると共に、固定長形式データ及びマークアップ言語形式データが前記固定長データ構造情報及びマークアップ言語データ構造情報と整合性が有るか否かを判定するためのデータチェックパラメータ情報を生成するパラメータ生成エンジン部と、
    前記データチェックパラメータ情報を基に変換元のマークアップ言語形式データ及び固定長形式データの前記整合性を検証するためのデータチェックエンジン部とを備え、マークアップ言語により記述されたマークアップ言語形式データとデータ種及びデータ長さを予め固定して記述された固定長形式データとの相互変換を行うデータ変換方法であって、
    前記データチェックエンジンに、
    前記変換元のマークアップ言語形式データ及び固定長形式データに含まれる階層名の出現順序が前記データチェックパラメータ情報に含まれる階層名の出現順序と整合するか否かを判定する第1工程と、該第1工程により前記変換元データの階層名の出現順序がデータチェックパラメータ情報に含まれる階層名の出現順序と整合しないと判定したとき、前記変換元データがエラーと通知する第2工程とを実行するデータ変換方法。
  4. 前記マークアップ言語定義情報テーブル部が、前記マークアップ言語形式データに含まれる階層名の出現順序を、最上階層名段を所定の値に設定し、該最上段から下層になるに従って前記所定の値を増加させる数値として格納し、
    前記データチェックエンジン部に、
    前記変換元データを1階層毎に読み込み、今回読み込んだ階層名に対応する階層出現順位値が、前回読み込んだ階層名に対応する階層出現順位値以下か否かを判定する第3工程と、該第3工程の判定により今回読み込んだ階層出現順位値が前回読み込んだ階層出現順位値以下でないと判定したとき、該今回読み込んだ階層名の下層に必須の階層名が格納されているかを前記必須フラグを参照して判定する第4工程と、前記第3工程の判定により今回読み込んだ階層出現順位値が前回読み込んだ階層出現順位値以下であると判定したとき、前回読み込んだ階層名と今回読み込んだ階層名との間に必須の階層名があるか否かを前記必須フラグにより判定する第5工程とを実行し、
    前記第4工程により下層に必須の階層名が格納されていないと判定、又は前記第5工程により前回読み込んだ階層名と今回読み込んだ階層名との間に必須の階層名がないと判定したとき、変換元データが整合ありと判定し、
    前記第4工程により下層に必須の階層名が格納されていると判定、又は前記第5工程により前回読み込んだ階層名と今回読み込んだ階層名との間に必須の階層名があると判定したとき、変換元データが整合なしと判定する請求項3記載のデータ変換方法。
JP2009218968A 2009-09-24 2009-09-24 データ変換システム及びデータ変換方法 Active JP5564226B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009218968A JP5564226B2 (ja) 2009-09-24 2009-09-24 データ変換システム及びデータ変換方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009218968A JP5564226B2 (ja) 2009-09-24 2009-09-24 データ変換システム及びデータ変換方法

Publications (2)

Publication Number Publication Date
JP2011070285A true JP2011070285A (ja) 2011-04-07
JP5564226B2 JP5564226B2 (ja) 2014-07-30

Family

ID=44015537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009218968A Active JP5564226B2 (ja) 2009-09-24 2009-09-24 データ変換システム及びデータ変換方法

Country Status (1)

Country Link
JP (1) JP5564226B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016157198A (ja) * 2015-02-23 2016-09-01 日本電信電話株式会社 送信されたヘルスデータの整合性を確認するための方法、装置、およびプログラムが記録された記録媒体

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006318371A (ja) * 2005-05-16 2006-11-24 Nippon Telegr & Teleph Corp <Ntt> データ不整合検出装置および検出方法
JP2008243193A (ja) * 2007-02-26 2008-10-09 System Produce:Kk データ管理システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006318371A (ja) * 2005-05-16 2006-11-24 Nippon Telegr & Teleph Corp <Ntt> データ不整合検出装置および検出方法
JP2008243193A (ja) * 2007-02-26 2008-10-09 System Produce:Kk データ管理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016157198A (ja) * 2015-02-23 2016-09-01 日本電信電話株式会社 送信されたヘルスデータの整合性を確認するための方法、装置、およびプログラムが記録された記録媒体

Also Published As

Publication number Publication date
JP5564226B2 (ja) 2014-07-30

Similar Documents

Publication Publication Date Title
US11301484B2 (en) Systems and methods for type coercion
US7778982B2 (en) System for processing and using electronic documents
JP6680902B2 (ja) 精算処理方法、精算処理装置、端末機器及び記憶媒体
CN103428080B (zh) 一种数据的解包及组包方法
JP5689361B2 (ja) グラフデータの一部を準同型写像の像であるデータ構造に変換する方法、プログラム、および、システム
CN101390088B (zh) 用于对edi模式建模的xml有效载荷规范
JP2011187077A (ja) 電子データ交換(edi)のためのxml仕様
US8321724B2 (en) Document error inference processing program, processing device and processing method
US20100161693A1 (en) System and method for signing an electronic document
US20140237353A1 (en) Systems, methods and articles to automatically transform documents transmitted between senders and recipients
JP2019532442A (ja) 階層データの同期
JP4452211B2 (ja) データ不整合検出装置および検出方法
WO2003067470A1 (fr) Appareil de delivrance de documents, appareil de reception de documents, procede de delivrance de documents, programme de delivrance de documents et systeme de delivrance de documents
US20090083612A1 (en) Method for processing electronic documents
JP2015531513A (ja) 自動構成評価器
JP5420317B2 (ja) 変換パラメータ生成システム及び同変換プログラム
JP5564226B2 (ja) データ変換システム及びデータ変換方法
JP5576570B2 (ja) 業務仕様からワークフローを生成する方法、プログラム及びシステム
CN106557569B (zh) 基于元模型的非结构化文档的导入方法和导入装置
US20140316830A1 (en) Synchronized Resource Planning
US11170019B1 (en) Data field transaction repair interface
US20210176068A1 (en) Apparatus, computer program and method
US9436440B1 (en) System, method, and computer program for validating web service interface design
JP4738429B2 (ja) Ediシステムのフォーマット変換方法と装置およびプログラム
JP4676136B2 (ja) 文書構造検査方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120924

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20120924

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131227

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140421

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140527

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140616

R150 Certificate of patent or registration of utility model

Ref document number: 5564226

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250