JP2001060240A - フォーマット修正方法およびデータ変換方法 - Google Patents

フォーマット修正方法およびデータ変換方法

Info

Publication number
JP2001060240A
JP2001060240A JP23686699A JP23686699A JP2001060240A JP 2001060240 A JP2001060240 A JP 2001060240A JP 23686699 A JP23686699 A JP 23686699A JP 23686699 A JP23686699 A JP 23686699A JP 2001060240 A JP2001060240 A JP 2001060240A
Authority
JP
Japan
Prior art keywords
format
data
item
input
intermediate information
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.)
Pending
Application number
JP23686699A
Other languages
English (en)
Inventor
Kiyoaki Tamura
清朗 田村
Katsuya Akafuji
勝也 赤藤
Hiroto Nakajima
啓人 中嶋
Senichiro Sakanishi
宣一郎 坂西
Atsushi Numanoi
淳 沼野井
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 Ltd
Original Assignee
Hitachi 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 Ltd filed Critical Hitachi Ltd
Priority to JP23686699A priority Critical patent/JP2001060240A/ja
Publication of JP2001060240A publication Critical patent/JP2001060240A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 電子データ交換システムにおけるフォーマッ
ト修正方法及び修正フォーマットによるデータ変換の再
実行のためのデータ変換方法の提供にある。 【解決手段】 最初に、データ入力制御部1510の制御の
下に入力フォーマット1503からフォーマットの各項目を
取り出し、項目に対応する入力データ1504をデータ切り
出し部1512で切り出し、書式、値の検証をし、エラーが
あれば上記制御部に通知し、中間情報作成部1513で中間
情報1517を作成し、エラーがなければ全中間情報をデー
タマッピング部1518に出力する。エラーが発生すれば、
全中間情報をファイル1509に格納し、フォーマットを修
正し、修正した項目に修正有りのフラグを設定し、修正
フォーマットと旧中間情報と入力データにより中間情報
の作成をするが、フラグの設定の無い項目の中間データ
は対応する旧中間情報を再利用し、設定の有る項目の中
間データは入力データを切り出して新たに作成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、電子データ交換シ
ステムに係り、入力フォーマット、出力フォーマット等
のフォーマットのフォーマット修正方法、および入力フ
ォーマットにより入力データの変換を行った後に該入力
フォーマットを修正した修正入力フォーマットによりデ
ータ変換する場合のデータ変換方法に関する。
【0002】
【従来の技術】計算機で扱う電子データ(以下、単にデ
ータと記述)のデータフォーマット(以下、単にフォー
マットと記述)は、その計算機およびデータの作成者、
利用者の環境を考慮して構成されているため、たとえば
企業の受発注伝票のような特定のカテゴリに属するデー
タのフォーマットであっても企業が異なれば複数個存在
する。たとえば企業Aと企業Bが伝票内容を表す電子デ
ータをネットワークを介して交換する場合、両者のフォ
ーマットが異なればデータ交換を行うことはできない。
このため、自社のデータを相手企業のフォーマットに変
換したり、あるいは企業間で定めた標準フォーマットに
変換してからデータ交換を行う必要がある。
【0003】近年、日本国内標準あるいは世界標準のフ
ォーマットを介することで、企業が業種、国家、計算機
環境の相違を意識することなくデータを交換するいわゆ
るEDI(電子データ交換)による電子商取引が発展しつつ
ある。EDIによる電子商取引の概要を図1に示す。図1
において、企業Aは独自フォーマットのデータ101をデ
ータ変換装置102を用いてEDI標準フォーマットのデータ
103に変換し、それをネットワークを介して企業Bに送
信する。企業Bは受信したEDI標準フォーマットのデー
タ103を、データ変換装置102を用いて企業Bの独自フォ
ーマットのデータ104に変換する。このように、EDIを実
現するためにはフォーマット変換技術が必須となってい
る。
【0004】一般的なデータ変換装置の構成を図2に示
す。入力データ201をトランスレータ202に与えるとフォ
ーマット変換が行われ、その結果が出力データ203とし
て得られる。入力フォーマット204とは入力データのフ
ォーマットを規定した情報であり、出力フォーマット20
5とは出力データのフォーマットを規定した情報であ
る。入力フォーマット204、出力フォーマット205はフォ
ーマットエディタで作成する。マッピング206とは出力
データ203を構成する各データ項目の源泉を規定したも
のである。源泉として、入力データ201の特定のデータ
項目を指定できる。マッピング206はマッピングエディ
タで作成する。
【0005】図3に一般的なフォーマット、マッピング
の作成方法を示す。電子データ交換システムの利用者30
1は、フォーマットエディタ302を用いて入力フォーマッ
ト303および出力フォーマット304を作成する。利用者30
1はまた、マッピングエディタ305を利用してマッピング
306を作成する。
【0006】次に、汎用的なデータマッピングを行う一
般的なトランスレータのデータ入力処理の概要を、図4
に示すトランスレータの構成を用いて説明する。トラン
スレータ401は大きく分けて3つのパート、すなわちデー
タ入力部402、データマッピング部403、データ出力部40
4に分けられる。データ入力部402は、入力フォーマット
405に従って入力データ406を切り出し、メモリ上に読み
込む(407)パートである。入力データ406の中から1つの
データ項目を切り出すとき、切り出したデータがそのデ
ータ項目に定義された属性に合致しているかどうかの検
証が行われる。たとえば、あるデータ項目の属性定義が
浮動小数点数のとき、(1)切り出したデータが数字、正
負符号、指数文字、小数点からなる正しい浮動小数点数
の書式に合致していることを検証し、(2)必要があれば
値の範囲の検証(負の値にならないことの検証など)を
行う。データマッピング部403は、メモリ上の入力デー
タ407をもとにマッピング408に従って出力データ409を
作成するパートである。ただし、出力データ409はまだ
出力フォーマット410で指定されている形式になってい
ない中間的な出力データである。データ出力部404は、
出力フォーマット410に合致するように整形前の出力デ
ータ409を整形して、整形後出力データ411を出力するパ
ートである。
【0007】トランスレータを用いて正しくデータ変換
を行うにためには、フォーマットが正しいことが前提に
なる。しかし、EDIにおけるデータ変換のためにトラン
スレータを用いる場合、次のような状況が発生すること
がある。すなわち、EDI標準フォーマットを表すフォー
マットはトランスレータのベンダによって供給されるの
で誤りはないが、企業独自フォーマットを表すフォーマ
ットは企業のシステム設計者が図3のフォーマットエデ
ィタ302を用いて作成するため、作成過程で、例えばあ
るデータ項目の属性が正しくは数字4桁であるところを
誤って英数字4桁としてしまう、などのミスが入り込む
ことである。企業独自フォーマットに誤りがあると、企
業独自データをEDI標準フォーマットに変換した結果が
不正なものになってしまう。
【0008】トランスレータを実行した結果、入力フォ
ーマットの誤りが判明した場合、システム利用者はフォ
ーマットエディタを用いて入力フォーマットを修正し、
再びトランスレータを実行する。一般に、入力フォーマ
ットの修正とトランスレータの実行から成るデバッグ作
業は繰り返し行われる。EDIのように大容量のデータ変
換を行うケースでは、トランスレータが入力データを解
析する時間が無視できないほど大きくなる。図4を用い
て説明したように、トランスレータ401のデータ入力部4
02は、(1)書式の検証、(2)値の検証などの処理を含むた
め、一般的に時間がかかる処理になる。一般的にトラン
スレータは、入力データ、入力フォーマット等、変換に
必要な情報を変換のたびに参照して動作する(特開平10
-307881参照)。入力フォーマットのデバッグ過程にお
いても、トランスレータを実行するたびにデータ入力処
理が最初から行われていた。
【0009】
【発明が解決しようとする課題】上記従来技術は、多大
な時間を要するトランスレータの実行を繰り返す場合に
デバッグ作業の効率が低下するという点が配慮されてお
らず、入力フォーマットの修正とトランスレータの実行
から成るデバッグ作業における、トランスレータの多大
な実行時間に問題があった。本発明の目的は、電子デー
タ交換システムにおける入力および出力となる電子デー
タのフォーマットのフォーマット修正方法を提供するこ
とにある。本発明の他の目的は、データ変換の実行を行
った後、入力フォーマットに誤りがあり、入力フォーマ
ットを修正してデータ変換の再実行を行う場合に、デー
タ変換の再実行に要する時間の短縮を図り、データ変換
の再実行作業の効率の向上を図ることにある。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、電子データ交換システムにおける入力お
よび出力となる電子データのフォーマットのフォーマッ
ト修正方法であり、フォーマット上の基本項目及び集団
項目に対して削除・挿入・更新などの変更の入力に応じ
てフォーマットの修正を行ったとき、該変更の入力に応
じて該変更を示す変更情報を修正後のフォーマットの各
項目にフラグとして設定し、該フラグを修正後のフォー
マットの内部に保存するようにしている。また、電子デ
ータ交換システムにおける入力および出力となる電子デ
ータのフォーマットのフォーマット修正方法であり、フ
ォーマット上の基本項目に対して削除・挿入・更新など
の変更の入力に応じてフォーマットの修正を行ったと
き、該変更の入力に応じて該変更を示す変更情報を修正
後のフォーマットの各基本項目にフラグとして設定する
と共に該基本項目の上位の項目である集団項目に対して
もフラグを設定し、これらのフラグを修正後のフォーマ
ットの内部に保存するようにしている。また、電子デー
タ交換システムにおけるデータ変換方法であり、全ての
入力データを予め用意された入力フォーマットに従って
入力データ処理をし、該入力データ処理の結果が正常な
場合は、さらにデータマッピング処理およびデータ出力
処理を行いデータ変換を終了し、前記入力データ処理の
結果が正常でない場合は、入力データ処理の結果を中間
情報として記憶装置に保存し、前記入力データ及び前記
保存しておいた中間情報(旧中間情報と呼ぶ)を入力と
して、前記入力フォーマットを前記請求項1または請求
項2記載のフォーマット修正方法により修正した修正フ
ォーマットに従って第2の入力データ処理をし、該第2
の入力データ処理の結果が正常な場合は、さらにデータ
マッピング処理およびデータ出力処理を行いデータ変換
を終了し、該第2の入力データ処理は、前記修正フォー
マットに設定されたフラグを参照してフラグ内容からそ
のフラグが属する項目が変更されているか否か判定し、
変更されていない場合には、前記旧中間情報の中からそ
の項目に相当する部分を取り出して、新たに中間情報を
作成する代わりにそれを再利用し、変更されている場合
には、前記入力データを前記修正フォーマットに従って
処理して新たな中間情報を作成することにより入力デー
タ処理の結果を出力するようにしている。さらに、前記
修正フォーマットの集団項目に設定されたフラグが、該
集団項目が修正されていないことを示している場合、該
集団項目の子孫に相当する項目(子孫項目)も修正され
ていないことを利用して、該集団項目およびその子孫項
目に対応する前記判定を、該子孫項目の項目数だけ繰り
返し行うことなく一度だけ行うようにしている。
【0011】
【発明の実施の形態】本発明を説明する前提として、ま
ず、一般的なフォーマットとマッピングの構成例を図
5、図6、図7を用いて説明する。はじめに、フォーマ
ットの構成例を図5に示す。フォーマットは、階層構造
を持つデータ構造をツリー状に表したものである。フォ
ーマットを構成する単位は項目である。項目は項目名を
持つ。例えば、項目501は項目名「取引」を持つ項目で
あり、項目505は項目名「商品コード」を持つ項目であ
る。項目は基本項目と集団項目の2種類に分けられる。
基本項目は項目505のようにデータ中の基本要素を定義
するものであり、例えば数字4桁等の属性を持つ。集団
項目は項目501のように1個以上の下位項目を含む項目
である。集団項目に含まれる下位項目の定義順序は、実
際のデータ中における出現順序を規定している。例え
ば、項目名「注文」を持つ項目502の下位項目503,504,5
05は、その順序でデータ上に現れる。また、各項目には
繰り返し回数が定義される。項目名の後の[数字]がその
項目に定義された繰り返し回数を表している。例えば、
項目501は1回だけ出現し、項目502は0回以上出現する
ことを意味している。なお、繰り返し回数が[数字:]と
定義されている項目は、その項目が最低でも"数字"で指
定された回数だけ出現することを意味している。
【0012】図6に、図5のフォーマットに合致するデ
ータの例を示す。601に示す「取引[1].注文[1].取引種
別[1]」などの記法は、入出力データの特定の項目を指
し示すために用いられるパス名と呼ばれる記法である。
パス名は、項目名および繰り返しにおける出現順を、最
上位項目から対象とする項目まで書き連ねる。パス名60
1は入力データ"ORDER△"を、パス名602は入力データ"00
12"を、パス名603は入力データ"1001"をそれぞれ指し示
している。また、パス名604のように集団項目を指し示
すパスは、その集団項目に含まれるすべての基本項目に
対応するデータ(この場合は"ORDER△00121001")を指
し示している。パス名はマッピングの定義に用いられ
る。
【0013】マッピングの例を図7に示す。マッピング
は、入力フォーマットと出力フォーマットを対応づける
マップ式と呼ばれる式の集合である。マッピング701が
含むマップ式708は、入力フォーマット702の基本項目70
4を出力フォーマット703の基本項目706に代入すること
を規定している。また、マップ式709は、入力フォーマ
ット702の基本項目705を出力フォーマット703の基本項
目707に代入することを規定している。
【0014】次に、本発明の目的である入力フォーマッ
ト修正後のデータ変換、すなわちデバッグ作業の効率向
上を実現するために考案した、修正フォーマットのデー
タ構造、デバッグ手順、デバッグ手順における旧中間情
報(後述)の再利用判定手段を説明する。はじめに、本
発明を構成する要件の1つであるフォーマットのデータ
構造について説明する。このデータ構造は、フォーマッ
トの基本項目に自身の変更の有無を示すフラグを設定
し、フォーマットの集団項目に自身あるいは子孫に相当
する項目(子孫項目と呼ぶ)の変更の有無を示すフラグ
を設定することを特徴とする。このデータ構造を持つフ
ォーマットを作成するために、既存のフォーマットエデ
ィタに対して、前述の修正の有無をフォーマット自身に
記録する手段を付加する。図9に、このような変更フラ
グ設定機能を持つフォーマットエディタを用いて修正し
た入力フォーマットを示す。以下、修正前の入力フォー
マット901に対し、基本項目A(903)の属性が間違ってい
たのでこれを修正して修正後の入力フォーマット902を
作成する場合を例にして説明する。フォーマットエディ
タを用いて項目903の属性を修正するとき、フォーマッ
トエディタは項目903に付属する変更フラグ904をONにす
る。さらに、その変更を項目903の上位項目である集団
項目X(905)に伝播させて、項目905に付属する変更フラ
グ906もONにする。修正されていない他の項目の変更フ
ラグはOFFのままにする。
【0015】次に、本発明におけるデータ変換作業およ
び入力フォーマット修正後のデータ変換作業(デバッグ
作業)の基本的な流れを図8の流れ図を用いて説明す
る。はじめに、システム利用者がフォーマットエディタ
を用いて入力フォーマットを作成する(801)。次に、ト
ランスレータを起動して入力データの入力処理を行う(8
02)。なお、このときデータ入力部は中間情報を作成す
る。中間情報とは、入力データ中の全データ項目をメモ
リ上に読み込み、データマッピング部がその中間情報の
中から任意のデータ項目を効率よく取り出せるようなデ
ータ構造に変形したものである。トランスレータは一回
のデータ変換ですべての入力処理中のエラーを検出しよ
うとするために、たとえエラーが発生しても途中でデー
タ変換を終了せずにすべての入力データを処理する。デ
ータ入力処理の結果、エラーが発生した場合(803)、ト
ランスレータは中間情報をディスクのような記憶装置に
保存する(804)。なお、以下では記憶装置としてディス
クを例にして説明する。次に、システム利用者はフォー
マットエディタを利用して入力フォーマットを修正する
(805)。このとき、前述したように入力フォーマット上
の各項目に変更フラグを設定する(806)。次に、ディス
クに保存しておいた中間情報(旧中間情報と呼ぶ)と修
正後の入力フォーマットを与えて再びトランスレータを
起動し、後述する手段によって高速に入力データの入力
処理を行い(807)、ステップ803に戻し(808)、入力処理
が正常に終了するまでステップ804〜808を繰り返す。入
力処理が正常に終了したら、データマッピング処理(80
9)、データ出力処理(810)を行い、デバッグ作業を終了
する。
【0016】ここで図10を用いて中間情報を定義す
る。中間情報とは大まかに言うと、入力フォーマットを
雛形として作成された表である。表中の各エントリに
は、基本項目に対応する入力データ(実データと呼ぶ)
が切り出されて次々に入れられる。最初に入力フォーマ
ットの最上位項目に対するただ1つのエントリから成る
表を作成する。そして、そのエントリを下位項目ごとに
中分類する。これを、下位項目が基本項目になるまで繰
り返す。表の各エントリは入力フォーマット上の1項目
の1出現に対応しており、(1)入力フォーマット上の項
目へのポインタ、(2)実データの読み込み位置(=入力
データ上に占める実データの位置)、(3)その項目が含
んでいる下位項目のエントリ(集団項目の場合)、を保
持することで、入力フォーマット上の項目と実データと
の対応関係を表している。例えば基本項目A(1002)の1
番目の出現(パス名で表すとX[1].A[1])に対応するエ
ントリ1006には、入力フォーマット上の項目1002へのポ
インタと、実データ"a"(1005)の読み込み位置が入って
いる。なお、分かり易さのため、各エントリの左側にそ
のエントリのパス名を記す。
【0017】集団項目の1出現に対応するエントリが保
持する「実データの読み込み位置」(図中の*印の部
分)は、そのエントリが含む最初の基本項目エントリが
保持する実データの読み込み位置と同じとする。例えば
集団項目X(1001)の1番目の出現に対応するエントリ10
04が保持する実データの読み込み位置は、エントリ1004
が含む最初の基本項目エントリ1006と同じく実データ10
05の読み込み位置になる。基本項目B(1003)のように複
数回出現する項目に対しては、エントリ1007,1008のよ
うに出現回数分のエントリが作成される。また、それら
はアクセス効率のために配列化される。
【0018】もう少し複雑な中間情報の例を図11を用
いて説明する。入力フォーマット1101と入力データ1103
がトランスレータに与えられると、中間情報1102が作成
される。なお、基本項目に対応するエントリは図の簡略
化のために横一列に並べており、それらのエントリを表
すパス名および実データの読み込み位置は省略してい
る。例えばエントリ1104のパス名は「取引[1].注文[1].
取引種別[1]」であり、実データ1105の読み込み位置を
保持している。ここで、図8の807において高速に入力
データを入力処理する方法を示す。なお、本発明を構成
する要件の1つである旧中間情報の再利用判定手段につ
いても例を用いて説明するが、後で動作を定義した流れ
図(図21)を用いて詳細に説明する。このデータ入力処
理方法の概要は、入力フォーマット上の項目の1出現に
対応する中間情報内のエントリを作成する際に、その項
目およびその子孫項目に対して一切修正が加えられてい
なければそれらの項目に対応する前回のデータ変換時の
中間情報(すなわち旧中間情報)の中のエントリを再利
用し、修正が加えられていれば各下位項目に対してさら
に修正の有無のチェックを繰り返す、というものであ
る。
【0019】図12,13に旧中間情報を再利用して中
間情報を作成する過程を示す。なお、図12の入力フォ
ーマットは図9のものと同じである。はじめに、修正前
の入力フォーマット1201と入力データ1203をトランスレ
ータに与えて作成した中間情報1202(これを後で旧中間
情報として再利用する)を保存しておく。次にフォーマ
ットエディタでフォーマット上の基本項目A(1208)の修
正を行うと、フォーマット上の各項目に変更フラグが設
定されて1204のようになる。次に、修正後のフォーマッ
ト1204及び旧中間情報1202を用いて2回目のデータ変換
を開始する。トランスレータは入力フォーマット1204の
上位項目から下位項目に向かって、その項目に対応する
エントリの作成を行い、中間情報を完成させる。
【0020】はじめに最上位項目X(1205)に対応するエ
ントリを作成する。入力フォーマット1204の集団項目X
(1205)の変更フラグ1207はONなので、旧中間情報1202の
集団項目X(1205)に対応するエントリ1206は再利用でき
ないことが判断できる。よって、集団項目X(1205)に対
応するエントリ1301(図13)を新規に作成する。次に
集団項目X(1205)の下位項目である基本項目A(1208)に
ついて、変更フラグ1209を調べる。フラグはONなので、
旧中間情報1202の基本項目A(1208)に対応するエントリ
1210は再利用できないため、新規にエントリ1302(図1
3)を作成する。
【0021】次に集団項目X(1205)の下位項目である集
団項目Y(1211)について、変更フラグ1212を調べる。フ
ラグはOFFなので、旧中間情報1202の集団項目Y(1211)
に対応するエントリ1213が再利用できることがわかる。
そこで、集団項目Y(1211)に対応するエントリ1303の枠
(図13)のみを作成して、中身にはエントリ1213への
ポインタを記述する。エントリ1213は集団項目Y(1211)
の下位項目B,Cのエントリも含んでおり、項目B,Cに
は修正が加えられていないため、B,Cのエントリは新
たに作成せず旧中間情報内のものを再利用する。こうし
て、集団項目に対応する旧中間情報内のエントリを再利
用すれば、その集団項目の下位項目に対応するエントリ
についても全く判定を必要とせずに旧中間情報内のエン
トリを再利用することができる。基本項目D(1214)につ
いてもエントリ1304の枠だけを作成して、中身にエント
リ1215へのポインタを記述する。
【0022】以上のように、従来のトランスレータによ
るデータ変換では、データ入力処理をその都度最初から
行う必要があったが、本発明を用いれば保存しておいた
旧中間情報内のエントリの一部を、入力フォーマットの
変更フラグを用いて再利用可能か判断した上で再利用す
ることで、データ入力処理の一部をスキップすることが
できる。再利用の判定は、判定の対象となる項目のフラ
グがOFFになっていることをチェックするだけでよく、
下位項目については調べる必要はない。また、実際のエ
ントリの再利用手順は、エントリの枠だけを作成して、
再利用対象となるエントリへのポインタをその枠の中身
に記述するだけでよい。このため、再利用判定に要する
時間は新規にエントリを作成する時間、すなわち実デー
タを切り出して、その実データに対して(1)書式の検
証、(2)値の検証などを行ってからエントリを作成する
時間よりも短縮され、その結果入力フォーマット修正後
のトランスレータの実行効率が向上し、結果として入力
フォーマットのデバッグ作業の効率が向上する。なお、
フォーマット修正後のデータ変換時にトランスレータが
旧中間情報をメモリ上読み込むときは、既存のバッファ
リング技術を用いて必要な部分だけをメモリ上に読み込
む。
【0023】本発明を適用した電子データ変換システム
の構成図を図14,図15に示す。図14において、本
システムの利用者1401はフォーマットエディタ1402を用
いて入力フォーマット、および出力フォーマットを新規
作成する。システム利用者1401はフォーマット修正部14
03によりフォーマットを修正する。すなわち、フォーマ
ット修正部1403は修正前フォーマット1409をフォーマッ
トロード部1404でロードし、修正を行い、変更フラグ設
定部1406により変更フラグを設定し、修正したフォーマ
ットをフォーマット保存部1405により修正後フォーマッ
ト1410として保存する。
【0024】図15においてシステム利用者1520はま
た、入力フォーマット1503、出力フォーマット1507、マ
ッピング1505および入力データ1504をトランスレータ15
01に与えてデータ変換を実行する。トランスレータ1501
は、データ入力部1502が入力フォーマット1503にしたが
って入力データ1504を切り出し、それを中間情報1517に
追加する。生成した中間情報1517にエラーがない場合に
は、この中間情報1517をデータマッピング部1518に出力
する。その後、データマッピング部1518が整形されてい
ない出力データ1506を作成し、データ出力部1519が出力
フォーマット1507に合致するように出力データ1506を整
形して出力データ1508を出力する。データ入力部1502に
ついてさらに詳細を説明する。データ入力部1502はデー
タ入力制御部1510、データ切り出し部1512、中間情報作
成部1513、旧中間情報保存・復元部1515の4つのパート
から成る。
【0025】データ入力制御部1510はデータ入力部1502
の全体を制御するパートである。まず、入力フォーマッ
ト1503の最上位項目を起点として、その下位項目を1つ
取り出す。取り出した項目が基本項目ならば、データ切
り出し部1512を呼び出して入力データ1504の一部を実デ
ータ1514として切り出し、入力データ1504の読み込み位
置を更新し、中間情報作成部1513を呼び出して切り出し
た実データ1514を中間情報1517に追加する。取り出した
項目が集団項目ならば、そのすべての下位項目に対して
最上位項目と同様な処理を行う。この過程をすべての下
位項目に対して繰り返す。データ切り出し部1512は、デ
ータ入力制御部1510から渡された基本項目の属性をもと
に入力データ1504から実データ1514を切り出し、書式の
検証、値の検証を行うパートである。検証の結果、エラ
ーが発生した場合には、エラーの発生をデータ入力制御
部1510に通知する。中間情報作成部1513は、実データ15
14に対応する基本項目のエントリ、また集団項目のエン
トリを作成して中間情報1517に追加するパートである。
なお、旧中間情報保存・復元部1515については後述す
る。
【0026】本発明を適用したデータ変換システムの目
的は、図8で示した入力フォーマットのデバッグ作業に
かかる時間を短縮することである。この目的を達成する
ため、以下の三つの機能を従来のフォーマットエディ
タ、トランスレータに付加している。一つ目は、フォー
マットを修正する際、フォーマットの各項目の修正前後
の変更内容を変更フラグとしてフォーマット自身に記録
するための変更フラグ設定部1406をフォーマットエディ
タ1402に備えた点である。具体的には、(1)項目が削除
された場合、(2)項目が更新または挿入された場合、
(3)集団項目の子孫項目が変更された場合に、変更フラ
グ設定部1406がその修正情報を項目に付属する変更フラ
グ1408に記録する。このようなフォーマットエディタを
用いて、本発明を構成する1つの要件であるデータ構造
を持つフォーマットを作成する。詳細については後述す
る。
【0027】二つ目は、トランスレータ1501が生成し
た、入力データ1504に関する中間情報1517をディスクに
保存、またはディスクから復元するための旧中間情報保
存・復元部1515をデータ入力部1502に備えた点である。
この機能を用いてディスクに保存された旧中間情報1509
は、次回のトランスレータの実行時に、次に述べる旧中
間情報再利用判定部1511で用いられる。
【0028】三つ目は、トランスレータ1501が入力デー
タ1504をもとに中間情報1517を作成する代わりに、前回
のデータ変換時に作成した中間情報(すなわち旧中間情
報1516)を使えるかどうかを判定する旧中間情報再利用
判定部1511をトランスレータ1501に備えた点である。
【0029】ここで、前述したフォーマット上の各項目
に設定する変更フラグの詳細について図16から図19
を用いて説明する。図16に、フォーマット上のある項
目を更新した例を示す。フォーマットエディタを用いて
図16の左側のフォーマットの項目1601の属性を更新す
ると、フォーマットエディタは項目1601の更新/挿入フ
ラグ1602をONにして、この項目が更新または挿入された
ことをフォーマット上に記録する。図17に、ある項目
をフォーマットに挿入した例を示す。フォーマットエデ
ィタを用いて図17の左側のフォーマットに対して項目
1701を挿入すると、フォーマットエディタは項目1701の
更新/挿入フラグ1702をONにして、この項目が更新/挿
入されたことをフォーマット上に記録する。図18に、
フォーマット上のある項目を削除した例を示す。フォー
マットエディタを用いて図18の左側のフォーマットの
項目1801を削除すると、フォーマットエディタは項目18
01の削除フラグ1802をONにして、この項目が削除された
ことをフォーマット上に記録する。図19は、集団項目
の下位項目に変更が加えられた例である。フォーマット
エディタ上である項目に対して何らかの変更を行うと、
フォーマットエディタはその項目の上位の集団項目の子
孫項目変更フラグをONにする。図19において、項目19
01,1902に対して各種の変更(削除、更新/挿入)が行
われたとすると、まずそれらのすぐ上の項目1903の子孫
項目変更フラグ1905をONにして、次いで項目1903のすぐ
上の項目1904の子孫項目変更フラグ1906をONにする。図
16、図17、図18の例の場合、それぞれ集団項目の
下位項目に変更が加えられているので、図16、図1
7、図18の例では記載が省略されているが、下位項目
の変更フラグはそれぞれ上位の集団項目に伝播し、この
各例において、各集団項目である注文[0:]および取
引[1]の子孫項目変更フラグはそれぞれ‘ON’とな
る。このようにして、ある項目に対して変更を行うと、
フォーマットエディタはその上位の集団項目の子孫項目
変更フラグを順次ONにして、子孫項目に対して何らかの
変更があったことをフォーマット上に記録する。
【0030】次に、1回目のトランスレータ実行時と、
2回目のトランスレータ実行時のデータ入力部1502の概
略の動作について説明する。1回目のトランスレータ実
行時には、入力フォーマット1503にはフラグは設定され
ていない。データ入力制御部1510、データ切り出し部15
12、中間情報作成部1513は、入力フォーマット1503と入
力データ1504を用いて中間情報1517を作成する。この場
合、データ入力制御部1510の旧中間情報再利用判定部15
11は使用されない。データ切り出し部1512でエラーを検
出した場合は、データ入力制御部1510に通知し、中間情
報にもエラー情報を記入する。エラーが検出されなかっ
た場合には、中間情報1517はデータマッピング部1518に
出力される。エラーが検出された場合には、中間情報15
17は旧中間情報保存・復元部1515を介して旧中間情報フ
ァイル1509に格納される。
【0031】2回目のトランスレータ実行時には、予め
入力フォーマット1503は修正され、フラグが設定されて
いる。旧中間情報ファイル1509に格納されている旧中間
情報は旧中間情報保存・復元部1515により復元される。
データ入力制御部1510、データ切り出し部1512、中間情
報作成部1513は、入力フォーマット1503と入力データ15
04を用いて中間情報1517を作成するが、フラグがOFFに
なっているフォーマットの項目については、旧中間情報
がそのまま利用できるか旧中間情報再利用判定部1511で
判定し、利用できる場合には、改めて入力データの切り
出しをすることなく、旧中間情報を使用し、利用できな
い場合のみ入力データの切り出しを行う。フラグがONに
なっているフォーマットの項目については、旧中間情報
を使用することはできないので、改めて入力データの切
り出しを行い中間情報を作成する。中間情報の作成が終
了した場合には、中間情報1517はデータマッピング部15
18に出力される。
【0032】図20,図21に旧中間情報再利用判定部
を含んだデータ入力制御部の処理の流れを示す。最初
に、入力フォーマットの最上位項目を現在の処理対象項
目(以下、対象項目と記す)として(2001)、対象項目処
理ルーチンを呼び出す(2002)。対象項目処理ルーチン(2
101)ははじめに、対象項目の削除フラグを調べる(210
2)。削除フラグがONであればすでにその項目は存在しな
いため、入力データの切り出しを行わずに処理を終了す
る(2103)。削除フラグがONでなければ、対象項目の繰り
返し回数だけ以下の処理を実行する(2104)。
【0033】(1)対象項目が基本項目のときは(2105)、
対象項目の更新/挿入フラグを調べる。更新/挿入フラ
グがOFFならば、対象項目には何も変更が加えられてい
ないので、対象項目に対応する旧中間情報内のエントリ
(これをCとする)の再利用可能性を次のようにして判
定する(2106)。すなわち、入力データの現在の読み込み
位置とCが保持する実データの読み込み位置が一致した
とき、Cを再利用可能と判定する。なぜなら、前回のト
ランスレータ実行時と等しい読み込み位置から実データ
を切り出しても、Cと同じ内容のエントリが作成される
からである。Cが再利用可能なとき、対象項目に対応す
るエントリの枠だけを作成して、エントリの中には単に
Cへのポインタを入れておく(2107)。それ以外のときは
(2108)、Cが再利用できないと判定されたとき、または
更新/挿入フラグがONのときは、従来どおり、データ切
り出し、入力データの読み込み位置の更新、中間情報作
成を行う(2109)。
【0034】(2)対象項目が集団項目のときは(2110)、
子孫項目変更フラグおよび更新/挿入フラグを調べる。
両方のフラグがOFFならば、対象項目に対応する旧中間
情報内のエントリ(これをふたたびCとする)の再利用
可能性を次のようにして調べる(2111)。すなわち、(1)
と同様に入力データの現在の読み込み位置とCが保持す
る実データの読み込み位置が一致したとき、Cを再利用
可能とする(2112)。ここで本発明を構成する要件の1つ
である旧中間情報の再利用手段を用いる。すなわち、対
象項目の子孫項目に修正が加えられていないことを利用
し、Cの下位項目部に含まれるエントリも再利用するの
である。こうして、対象項目の子孫項目に対応するエン
トリの再利用判定および新規作成処理を省略することが
できる。トランスレータの実際の動作としては、対象項
目に対応するエントリの枠のみを作成して、中にはCへ
のポインタを入れるだけになる。それ以外のときは(211
3)、Cが再利用できないと判定されたとき、または更新
/挿入フラグがONのときは、従来どおり、データ切り出
し、入力データの読み込み位置の更新、中間情報作成を
行う(2114)。
【0035】次に、本実施形態によりデバッグ作業の効
率が向上する例を具体的に示す。以下に示すデバッグ手
順は、本発明を構成する1つの要件であるデバッグ手順
に沿ったものである。図22は本実施形態におけるトラ
ンスレータの入力となる入力フォーマット2201と入力デ
ータ2202、およびトランスレータが生成した入力データ
2202に関する中間情報2203を図示したものである。以
下、入力フォーマット2201が次の2つの誤りを含んでい
るという前提のもとで説明を行う。誤りの1つは項目220
4(項目名「注文番号」)の属性である。正しい属性は数
字4桁であるが、誤って英数字4桁になっている。もう1
つの誤りは不要な項目2205(項目名「商品コード」) が
定義されていることである。
【0036】図23は、図22の入力フォーマット2201
に修正を加えた入力フォーマット2301と、前回と同じ入
力データ2302と、入力フォーマット2301で再びトランス
レータを実行したときに生成される入力データ2302に関
する中間情報2303を図示したものである。図22の入力
フォーマット2201に従ってトランスレータがデータ変換
を行う過程で、パス名「取引[1].注文[1].商品コード
[1]」に相当する実データを切り出そうとすると、入力
データ2202から切り出した実データ2206("ORDER
△...")と項目2205に定義された属性(数字4桁)が一
致しないのでエラーになる。「取引[1].注文[1].商品コ
ード[1]」に対応するエントリの作成途中でこのエラー
が発生するので、このエントリ2212、2213にはエラーを
示す値2207を入れておく。また、トランスレータは一回
のデータ変換で入力処理におけるすべてのエラーを検出
させるために、たとえエラーが発生しても途中でデータ
変換を終了せずにデータ入力処理を続行する。こうして
すべての入力データを処理して作成されたのが中間情報
2203である。データ入力処理は正常終了していないが、
次回のトランスレータ実行のために今回作成した中間情
報2203をディスクに保存しておく。
【0037】次に、利用者は図22の入力フォーマット
2201を修正して、図23の入力フォーマット2301に変更
したものとする。トランスレータはディスクに保存して
おいた図22の中間情報2203を旧中間情報として読み込
み、入力フォーマット2301に従って入力データ2302の読
み込みを開始する。入力フォーマット2301の最上位項目
2304の子孫項目変更フラグ2305がONなので、旧中間情報
(図22の2203)の中の対応するエントリ2208は再利用
できない。その下位項目2306についても同様である。し
かし、項目2306の下位項目2307の変更フラグはONではな
く、しかも項目2307の1回目の出現に対応するエントリ
(図22の2209)の実データの読み込み位置が入力デー
タの現在読み込み位置(すなわち1バイト目)と一致す
るので、このエントリ(図22の2209)を再利用してエ
ントリ2308を作成する。具体的には、エントリ2308の枠
のみを作成して、その中にエントリ2209(図22)への
ポインタを代入する。同様にして中間情報2302の中のエ
ントリ2309,2310はすべて旧中間情報2203(図22)のエ
ントリを再利用して作成することができる。しかし、下
位項目2311の変更フラグはONであるので、旧中間情報
(図22の2203)の中の対応するエントリ2212、2213は
再利用できず、新たに実データを切り出し、エントリ23
12、2313に実データの読み込み位置を格納する必要があ
る。このあと、データマッピング処理およびデータ出力
処理を行い、デバッグを終了する。
【0038】以上のことから本例では、入力フォーマッ
トの修正後にトランスレータを実行する際、中間情報の
エントリ作成の一部をスキップすることが可能となる。
その結果トランスレータの実行時間が短縮され、入力フ
ォーマット修正とトランスレータ実行の繰り返しから成
るデバッグ作業の効率が向上する。
【0039】
【発明の効果】以上で説明したように、本発明によれ
ば、フォーマット作成装置を用いて既存の入力フォーマ
ットを修正するときに修正の有無を入力フォーマットの
各項目のフラグに設定し、データ変換プログラムにその
変更フラグおよび前回のデータ変換時に生成した中間情
報を与えることにより、新たに作成すべき中間情報を削
減し、それによって入力データの中間情報作成に要する
時間を短縮することができる。このことにより、入力フ
ォーマットの修正とデータ変換の実行の繰り返しから成
る入力フォーマットのデバッグ作業の効率が向上する。
【図面の簡単な説明】
【図1】EDIによる電子商取引の概要を示す図である。
【図2】一般的なデータ変換装置の構成例を示す図であ
る。
【図3】一般的なフォーマット、マッピングの作成方法
の例を示す図である。
【図4】一般的なトランスレータの構成を示す図であ
る。
【図5】一般的なフォーマットの構成例を示す図であ
る。
【図6】図5のフォーマットに合致するデータの例を示
す図である。
【図7】マッピングの例を示す図である。
【図8】本発明における入力フォーマットの修正とトラ
ンスレータによる実行の基本的な流れを示す図である。
【図9】変更フラグ設定機能を有するフォーマットエデ
ィタを用いて修正した入力フォーマットの例を示す図で
ある。
【図10】中間情報の定義の例を示す図である。
【図11】複雑な入力フォーマットにおける中間情報の
作成例を示す図である。
【図12】旧中間情報を再利用して中間情報を作成する
過程を示す図である。
【図13】旧中間情報を再利用して中間情報を作成する
過程を示す図である。
【図14】フォーマットエディタによるフォーマットの
作成を説明するための図である。
【図15】本発明を適用したトランスレータの概略構成
を示す図である。
【図16】フォーマットの項目の更新例を示す図であ
る。
【図17】フォーマットの項目の挿入例を示す図であ
る。
【図18】フォーマットの項目の削除例を示す図であ
る。
【図19】フォーマットの集団項目の下位項目の修正例
を示す図である。
【図20】旧中間情報再利用判定部を含んだデータ入力
制御部の処理の流れを示す図である。
【図21】旧中間情報再利用判定部を含んだデータ入力
制御部の処理の流れを示す図である。
【図22】修正前のフォーマットにおける中間情報の作
成例を示す図である。
【図23】修正後のフォーマットにおける中間情報の作
成例を示す図である。
【符号の説明】
1401 システム利用者 1402 フォーマットエディタ 1403 フォーマット修正部 1404 フォーマットロード部 1405 フォーマット保存部 1406 変更フラグ設定部 1407 修正中フォーマット 1408 変更フラグ 1409 修正前フォーマット 1410 修正後フォーマット 1501 トランスレータ 1502 データ入力部 1503 入力フォーマット 1504 入力データ 1505 マッピング 1506 出力データ(整形前) 1507 出力フォーマット 1508 出力データ(整形後) 1509 旧中間情報(ディスク上) 1510 データ入力制御部 1511 旧中間情報再利用判定部 1512 データ切り出し部 1513 中間情報作成部 1514 実データ 1515 旧中間情報保存・復元部 1516 旧中間情報(メモリ上) 1517 中間情報 1518 データマッピング部 1519 データ出力部 1520 システム利用者
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中嶋 啓人 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 (72)発明者 坂西 宣一郎 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 (72)発明者 沼野井 淳 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 Fターム(参考) 5B049 CC05 GG02

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 電子データ交換システムにおける入力お
    よび出力となる電子データのフォーマットのフォーマッ
    ト修正方法であって、 フォーマット上の基本項目及び集団項目に対して削除・
    挿入・更新などの変更の入力に応じてフォーマットの修
    正を行ったとき、該変更の入力に応じて該変更を示す変
    更情報を修正後のフォーマットの各項目にフラグとして
    設定し、該フラグを修正後のフォーマットの内部に保存
    することを特徴とするフォーマット修正方法。
  2. 【請求項2】 電子データ交換システムにおける入力お
    よび出力となる電子データのフォーマットのフォーマッ
    ト修正方法であって、 フォーマット上の基本項目に対して削除・挿入・更新な
    どの変更の入力に応じてフォーマットの修正を行ったと
    き、該変更の入力に応じて該変更を示す変更情報を修正
    後のフォーマットの各基本項目にフラグとして設定する
    と共に該基本項目の上位の項目である集団項目に対して
    もフラグを設定し、これらのフラグを修正後のフォーマ
    ットの内部に保存することを特徴とするフォーマット修
    正方法。
  3. 【請求項3】 電子データ交換システムにおけるデータ
    変換方法であって、全ての入力データを予め用意された
    入力フォーマットに従って入力データ処理をし、 該入力データ処理の結果が正常な場合は、さらにデータ
    マッピング処理およびデータ出力処理を行いデータ変換
    を終了し、 前記入力データ処理の結果が正常でない場合は、入力デ
    ータ処理の結果を中間情報として記憶装置に保存し、 前記入力データ及び前記保存しておいた中間情報(旧中
    間情報と呼ぶ)を入力として、前記入力フォーマットを
    前記請求項1または請求項2記載のフォーマット修正方
    法により修正した修正フォーマットに従って第2の入力
    データ処理をし、 該第2の入力データ処理の結果が正常な場合は、さらに
    データマッピング処理およびデータ出力処理を行いデー
    タ変換を終了し、 該第2の入力データ処理は、前記修正フォーマットに設
    定されたフラグを参照してフラグ内容からそのフラグが
    属する項目が変更されているか否か判定し、変更されて
    いない場合には、前記旧中間情報の中からその項目に相
    当する部分を取り出して、新たに中間情報を作成する代
    わりにそれを再利用し、変更されている場合には、前記
    入力データを前記修正フォーマットに従って処理して新
    たな中間情報を作成することにより入力データ処理の結
    果を出力することを特徴とするデータ変換方法。
  4. 【請求項4】 請求項3記載のデータ変換方法におい
    て、 前記修正フォーマットの集団項目に設定されたフラグ
    が、該集団項目が修正されていないことを示している場
    合、該集団項目の子孫に相当する項目(子孫項目)も修
    正されていないことを利用して、該集団項目およびその
    子孫項目に対応する前記判定を、該子孫項目の項目数だ
    け繰り返し行うことなく一度だけ行うことを特徴とする
    データ変換方法。
JP23686699A 1999-08-24 1999-08-24 フォーマット修正方法およびデータ変換方法 Pending JP2001060240A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23686699A JP2001060240A (ja) 1999-08-24 1999-08-24 フォーマット修正方法およびデータ変換方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23686699A JP2001060240A (ja) 1999-08-24 1999-08-24 フォーマット修正方法およびデータ変換方法

Publications (1)

Publication Number Publication Date
JP2001060240A true JP2001060240A (ja) 2001-03-06

Family

ID=17006969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23686699A Pending JP2001060240A (ja) 1999-08-24 1999-08-24 フォーマット修正方法およびデータ変換方法

Country Status (1)

Country Link
JP (1) JP2001060240A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004185520A (ja) * 2002-12-06 2004-07-02 Hitachi Ltd データ変換システム
JP2007133476A (ja) * 2005-11-08 2007-05-31 Hitachi Software Eng Co Ltd 遺伝子解析のためのデータ入力支援システム
JP2009217763A (ja) * 2008-03-13 2009-09-24 Hitachi Information Systems Ltd Ediシステムのフォーマット変換方法と装置およびプログラム
JP2009223907A (ja) * 2009-05-25 2009-10-01 Fujitsu Ltd 画面に表示されたデータを介して異なるアプリケーションで連携を行うプログラム
JP2018106285A (ja) * 2016-12-22 2018-07-05 株式会社インテリジェントドッグス 情報処理装置、テンプレート管理方法、及びプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004185520A (ja) * 2002-12-06 2004-07-02 Hitachi Ltd データ変換システム
JP2007133476A (ja) * 2005-11-08 2007-05-31 Hitachi Software Eng Co Ltd 遺伝子解析のためのデータ入力支援システム
JP2009217763A (ja) * 2008-03-13 2009-09-24 Hitachi Information Systems Ltd Ediシステムのフォーマット変換方法と装置およびプログラム
JP4738429B2 (ja) * 2008-03-13 2011-08-03 株式会社日立情報システムズ Ediシステムのフォーマット変換方法と装置およびプログラム
JP2009223907A (ja) * 2009-05-25 2009-10-01 Fujitsu Ltd 画面に表示されたデータを介して異なるアプリケーションで連携を行うプログラム
JP2018106285A (ja) * 2016-12-22 2018-07-05 株式会社インテリジェントドッグス 情報処理装置、テンプレート管理方法、及びプログラム

Similar Documents

Publication Publication Date Title
US7827484B2 (en) Text correction for PDF converters
AU648253B2 (en) Document generation apparatus and methods
US5740408A (en) Method for automated software application testing
US9250864B2 (en) Relationship management for data modeling in an integrated development environment
JPH02109127A (ja) 仕様処理方法
JPS6375835A (ja) 目的コ−ド、プログラム・リスト及び設計文書を生成する装置
JP5005510B2 (ja) ソフトウェアの設計支援方法、設計支援装置及び設計支援プログラム
CN109947711B (zh) 一种对ios项目开发过程中的多语言文件自动化管理方法
JP2001060240A (ja) フォーマット修正方法およびデータ変換方法
US8136094B2 (en) Relationship management for data modeling in an integrated development environment
JP3724878B2 (ja) キーワード抽出ルール生成方法
CN112733199A (zh) 数据处理方法、装置、电子设备及可读存储介质
CN112733517A (zh) 需求模板符合性检查的方法、电子设备及存储介质
JPH07225761A (ja) 文書データの一致検証方式
JP3105782B2 (ja) 電子回路の論理生成方法
JP2007323371A (ja) データマッピング方法、および、データマッピング装置
US7882487B2 (en) Method of generating C code on the basis of UML specifications
JP2003099284A (ja) ディグレードチェックシステム
JP2604066B2 (ja) テキストファイル修正格納方法
JPH042961B2 (ja)
JP3830579B2 (ja) 情報解析・編集システム
JP2007066204A (ja) ソフトウエア開発支援システム
JPH09101959A (ja) 構造化文書生成装置
JPH1185536A (ja) 原始プログラムのエラー自動修正装置及び方法
JP2003006559A (ja) プリントパラメタ帳票出力システム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040317