変換エラーレコードリカバリプログラム
【課題】 データ変換処理を中断することなく、また、エラーとなったレコードを検索することもなく、容易にエラーデータのリカバリ処理を行うことができるコード変換エラーリカバリプログラムを提供する。
【解決手段】 入力ファイル10をコード変換テーブルにしたがってコード変換するコード変換ステップと、前記コード変換テーブルに該当しないエラーレコード情報を、エラーロギングファイル30に出力するエラーレコード出力ステップと、エラーロギングファイル30を読み込み、修正されたコード変換テーブルにしたがってコード変換するエラーデータコード変換ステップと、を備えることにより、コード変換処理を中断することなく、エラーロギングファイル30によって、容易にエラーデータのリカバリ処理を行うことができる。
【解決手段】 入力ファイル10をコード変換テーブルにしたがってコード変換するコード変換ステップと、前記コード変換テーブルに該当しないエラーレコード情報を、エラーロギングファイル30に出力するエラーレコード出力ステップと、エラーロギングファイル30を読み込み、修正されたコード変換テーブルにしたがってコード変換するエラーデータコード変換ステップと、を備えることにより、コード変換処理を中断することなく、エラーロギングファイル30によって、容易にエラーデータのリカバリ処理を行うことができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータシステム間などにおける異なるデータのコード体系を持つデータの流通およびデータ属性の変更に関し、特に、変換エラーに対するリカバリ処理を行うコード変換エラーレコードリカバリプログラムに関するものである。
【背景技術】
【0002】
従来、コード変換処理を行う場合、例えば、入力ファイルに格納されたシフトJISコードのデータを、EUCコードのデータにコード変換し、出力ファイルに格納するには、シフトJISコードからEUCコードへの変換テーブルを用いて、入力ファイルの各レコードをコード変換し、コード変換ができないレコードがあった場合には、コード変換を行った利用者にエラーメッセージを出力して、通知する。その後、利用者は、コード変換エラーのメッセージによりエラーとなったレコードを特定し、コード変換処理の入力ファイルから該当レコードを取り出し、コード変換エラーの原因を取り除いたコード変換処理の環境のもとで、そのレコードのコード変換処理を再実行することで、コード変換エラーのリカバリを行っていた。
【0003】
また、データ属性の変更の場合も、例えば、文字属性のデータ(□□100、□:ブランクを示す)を数値属性のデータ(00100)に変更する際、ブランク(□□)は数値でないために不当データエラーとなる。不当データエラーのリカバリもコード変換エラーの対応と同様にエラーメッセージをもとに入力ファイルからエラーとなったレコードを特定し、そのレコードのエラー箇所を変更(ブランクを数値に変更など)後、そのレコードのリカバリを行っていた。
【0004】
ここで、他のシステムで作成された既存のデータを、自システムで利用できる形にフォーマット変換を行う従来のフォーマット変換装置(データ変換装置)のブロック図を図13に、処理フローチャートを図14に示し、説明する。
【0005】
図13に示すように、従来のフォーマット変換装置は、フォーマット変換処理部105およびこのフォーマット変換処理部105に接続された変換元データ101、変換方法パラメータファイル102、変換先データ103、アラームログファイル104および複数の外部変換処理モジュール106より構成される。
【0006】
ここで、変換元データ101は、他のシステムで作成されたデータである。変換方法パラメータファイル102は、変換方法などを記述した変換方法のパラメータファイルである。変換先データ103は、自システムで使用するデータである。アラームログファイル104は、変換元データ101に不正なデータを発見した場合に、その結果を保存するファイルである。フォーマット変換処理部105は、変換元データ101のフォーマット変換を行うフォーマット変換処理部である。また、外部変換処理モジュール106は、フォーマット変換部105の内部で処理できない変換処理を行う場合に呼び出す外部変換処理モジュール群である。
【0007】
また、図14に示すように、従来のフォーマット変換装置は、まず、ステップ201において、フォーマット変換処理部105が、変換方法パラメータファイル102を読み込み内部に保存する。ステップ202で、変換元データ101のデータ件数分ループを開始する。次に、ステップ203において、変換元データ101の1件分を読み込み、ステップ204で変換方法パラメータファイル102に指示されている変換方法の件数分ループを開始する。ステップ205で、変換元データ入力順位で指定されたデータが、データ形式および桁数に指定された通りのデータであるかチェックする。ステップ206で、そのチェック結果を判断し、不正なデータであると判断した場合には、ステップ207で、エラー処理としてアラームログファイル104へアラームデータの書き込みを行う。このとき、変換元データ入力順位、データ形式および桁数が指定されていない場合には、チェックを行わず正常なデータであると判断して処理を継続する。
【0008】
以下、ステップ206で正常なデータであると判断した場合には、ステップ208に進み、フォーマット変換方法から変換処理が内部処理で行えるのかまたは外部変換処理モジュール群106を呼び出す必要があるのかを判断する。内部処理により変換処理が行えると判断した場合には、内部処理によりフォーマット変換を行い、外部変換処理モジュール106を呼び出す必要があると判断した場合には、フォーマット変換方法から呼び出すべき外部変換処理モジュール106を判断し、適切な外部変換処理モジュール106を呼び出して、フォーマット変換処理を行う。
【0009】
その後、ステップ204からステップ212のフォーマット変換処理を、指示されている変換方法の件数分繰り返して、変換先データ1件分を作成し、ステップ215で、変換先データ103として出力する。さらに、変換元データ101の件数分繰り返したら処理を終了する(例えば、特許文献1参照)。
【特許文献1】特開2001−184190号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかしながら、このような従来のデータ変換処理装置においては、エラーデータをアラームログファイルに書き込んでいるだけで、そのリカバリ処理を行うことができない。したがって、データ変換処理を行うことができないデータのリカバリ処理については、コード変換エラーのレコードをコード変換処理の入力ファイルから検索し、特定した後、コード変換環境を修正し、再度、そのレコードのコード変換を実行しなくてはならないため、リカバリ方法として、時間がかかってしまうという問題があった。また、不当データエラーのリカバリ処理についても、同様の問題があった。
【0011】
また、データ変換処理の最中に、変換不能なパターンが現れた場合、その場で常に代替え処理を入力させようとすると、データ変換処理が一旦停止してしまい、処理効率が悪くなるとともに、オペレータが常に対応しなければならず、その変換方法についても熟知していなければ処理を行うことができなくなってしまうという問題がある。
【0012】
そこで、本発明は、このような従来の問題を解決するためになされたもので、データ変換処理を中断することなく、また、エラーとなったレコードを検索することもなく、容易にエラーデータのリカバリ処理を行うことができるコード変換エラーリカバリプログラムを提供するものである。
【課題を解決するための手段】
【0013】
本発明の変換エラーレコードリカバリプログラムは、コンピュータを、データレコードをコード変換テーブルにしたがってコード変換するコード変換手段、前記データレコードが前記コード変換テーブルに該当せずにコード変換エラーとなるとき、前記データレコードを含むエラーレコード情報を、エラーロギングファイルに出力するエラーレコード出力手段、修正されたコード変換テーブルにしたがって、前記エラーロギングファイルからエラーレコード情報に含まれるコード変換エラーを起こしたデータレコードを取り出して、コード変換するエラーコード変換手段、前記コード変換されたデータレコードを出力する変換レコード出力手段、として機能させることを特徴としている。
【0014】
この構成により、入力ファイルとは別ファイルにエラーデータの抽出を行うので、コード変換処理と別にデータリカバリ処理を行うことができ、コード変換処理を中断することなく、また、エラーとなったデータを改めて検索することもなく、容易にコード変換処理のリカバリ処理を行うことができる。
【0015】
また、本発明の変換エラーレコードリカバリプログラムは、前記エラーコード変換手段においてコード変換に失敗したときには、前記エラーレコード情報を更新する手段として更に機能させることを特徴としている。
【0016】
この構成により、リカバリ処理ができなかったデータについては、エラーロギングファイルの更新レコードにより再度リカバリ処理を行うことができる。
【0017】
また、本発明の変換エラーレコードリカバリプログラムは、コンピュータを、データレコードをデータ属性テーブルにしたがって該データレコードの属性を変換する属性変換手段、前記データレコードが前記データ属性テーブルに該当せずに属性変換エラーとなるとき、前記データレコードを含むエラーレコード情報を、エラーロギングファイルに出力するエラーレコード出力手段、属性変換エラー発生時の処置を含むエラー修復形態にしたがって、前記エラーロギングファイルからエラーレコード情報に含まれる属性変換エラーを起こしたデータレコードを取り出して、該データレコードを修復するエラーデータ修復手段、修復されたデータレコードを出力する修復レコード出力手段、として機能させることを特徴としている。
【0018】
この構成により、データ属性変換エラーとなったデータに対して、エラー修復形態を設定しリカバリ処理を行うので、同様のデータ属性変換エラーのデータもこのエラー修復形態によってリカバリすることができる。
【0019】
さらに、本発明の変換エラーレコードリカバリプログラムは、前記エラーコード修復手段において、前記データレコードの修復に失敗したときには、前記エラーレコード情報を更新する手段として更に機能させることを特徴としている。
【0020】
この構成により、リカバリ処理で不当データエラーを解消できなかったデータについては、エラーロギングファイルの更新レコードにより再度リカバリ処理を行うことができる。
【0021】
さらに、本発明の変換エラーレコードリカバリプログラムは、前記属性変換手段において前記データレコードが前記データ属性テーブルに該当せずに属性変換エラーとなるとき、かつ、前記エラー修復形態があるとき、前記エラー修復形態にしたがって、該データレコードの属性を変換する手段として更に機能させることを特徴としている。
【0022】
この構成により、データ属性変更時にエラー修復形態があればこのエラー修復形態にしたがってエラーを修復する。
【発明の効果】
【0023】
本発明は、データレコードをコード変換テーブルにしたがってコード変換し、前記データレコードが前記コード変換テーブルに該当せずにコード変換エラーとなるとき、前記データレコードを含むエラーレコード情報をエラーロギングファイルに出力して、修正されたコード変換テーブルにしたがって、前記エラーロギングファイルからエラーレコード情報に含まれるコード変換エラーを起こしたデータレコードを取り出してコード変換することにより、入力ファイルとは別ファイルにエラーデータの抽出を行うので、コード変換処理と別にデータリカバリ処理を行うことができ、コード変換処理を中断することなく、また、エラーとなったデータを改めて検索することもなく、容易にコード変換処理のリカバリ処理を行うことができるという効果を有するコード変換エラーレコードリカバリプログラムを提供することができるものである。
【0024】
また、本発明は、前記エラーコード変換においてコード変換に失敗したときには、前記エラーレコード情報を更新することにより、リカバリ処理ができなかったデータについては、エラーロギングファイルの更新レコードにより再度リカバリ処理を行うことができる。
【0025】
また、本発明は、データレコードをデータ属性テーブルにしたがって該データレコードの属性を変換し、前記データレコードが前記データ属性テーブルに該当せずに属性変換エラーとなるとき、前記データレコードを含むエラーレコード情報を、エラーロギングファイルに出力し、属性変換エラー発生時の処置を含むエラー修復形態にしたがって、前記エラーロギングファイルからエラーレコード情報に含まれる属性変換エラーを起こしたデータレコードを取り出して、該データレコードを修復することにより、データ属性変換エラーとなったデータに対して、エラー修復形態を設定しリカバリ処理を行うので、同様のデータ属性変換エラーのデータもこのエラー修復形態によってリカバリすることができる。
【0026】
さらに、本発明は、前記エラーコード修復において、前記データレコードの修復に失敗したときには、前記エラーレコード情報を更新することにより、リカバリ処理で不当データエラーを解消できなかったデータについては、エラーロギングファイルの更新レコードにより再度リカバリ処理を行うことができる。
【0027】
さらに、本発明は、前記属性変換において前記データレコードが前記データ属性テーブルに該当せずに属性変換エラーとなるとき、かつ、前記エラー修復形態があるとき、前記エラー修復形態にしたがって、該データレコードの属性を変換することにより、データ属性変更時にエラー修復形態があればこのエラー修復形態にしたがってエラーを修復するので、すでに対応済みのデータ属性変更エラーのデータを不当データとせずにデータ変換することができ、不当データエラーを過去のデータで解消することができる。
【発明を実施するための最良の形態】
【0028】
以下、本発明の実施の形態におけるコード変換エラーリカバリプログラムの概略説明図を図1に示し、説明する。
【0029】
図1に示すように、本発明のコード変換エラーリカバリプログラムは、入力ファイル10からデータレコードを入力し、コード変換処理、データ属性変更処理を行って、出力ファイル20を作成する際に、コード変換エラー、または、不当データエラーが発生したら、新たに用意したエラーロギングファイル30へエラーレコード情報を出力して、このエラーロギングファイル30を入力とし、リカバリ処理を行う。
【0030】
(第1の実施の形態)
まず、図2にコード変換処理、エラーロギングファイル30とリカバリ処理の関係を示し、説明する。ここで、図2に示す処理の前に付けた番号1から10は、全体の処理順序を示し、コード変換処理でコード変換エラーが発生するときのエラーロギングファイル30へのエラー情報出力とコード変換エラーの環境を修復した後のリカバリ処理を示す。
【0031】
コード変換エラーリカバリ処理は、コード変換処理、エラー環境修復処理およびリカバリ処理の3つに大別される。
【0032】
図3に、コード変換処理のフローチャートを、図4に、リカバリ処理のフローチャートを示す。
【0033】
以下、図2、図3、図4を参照して、コード変換エラーリカバリ処理を説明する。
【0034】
まず、コード変換処理では、コード変換対象の入力ファイル10を入力し(s11)、上記入力ファイル10のコード変換対象レコードを読み込む(s12)。上記入力ファイル10の全てのレコードが変換対象であれば、1件目のレコードから読み込む。続いて、読み込んだレコードの先頭のデータから、コード変換テーブルにしたがってコード変換を行う(s13)。
【0035】
ここで、図5に、コード変換について具体例を挙げて説明する。図5に示すコード変換テーブルは、JISコードのコード表にEUCの対応コードを付加したものである。したがって、このコード変換テーブルによってJISコードとEUCコードとの相互変換を行うことができる。
【0036】
図5に示すように、例えば、JISコード体系で作成された入力ファイル10のレコードの"あ"という文字は、JISコードで"2422"(16進表記)とあらわされている。したがって、入力ファイル10上では、X"2422"(Xは16進表記であることを示す)というコードでデータを持っている。これをEUCコード体系であらわされる環境で正しく認識、表示できるように、コード変換テーブルでコード体系を変換する。"あ"は、EUCコード体系では、X"A4A2"であるので、コード変換時に、このコード変換テーブルにしたがって、X"2422"がX"A4A2"に変換される。
【0037】
同様にして、入力レコードの"A"という文字であれば、JISコードのX"2341"からEUCコードのX"A3C1"に変換される。このようにして、JISコード体系で持っていたデータを、EUCコード体系のデータに変換する。
【0038】
コード変換エラーリカバリ処理説明に戻り、上記コード変換処理(s13)において、正しくコード変換が行われたか否かを判定し(s14)、正しくコード変換が行われれば、出力ファイル20に変換されたレコードを出力する(s21)。
【0039】
コード変換処理(s13)時に、対応コードが無くコード変換が行えずにエラーとなった場合には、エラーメッセージを出力し(s15)、エラーロギングファイル30にエラーのあったレコードの情報を出力する(s16)。このエラー情報とは、エラー発生の日時、エラーメッセージコード/内容、エラー発生項目、入力レコード等である。
【0040】
続いて、入力ファイル10の次のコード変換対象レコードがあるか否かを判別し(s17)、対象レコードがある場合には、そのレコードを読み出して、上記処理(s12〜s17)を繰り返し、コード変換対象レコードが無くなったら、コード変換処理を終了する。
【0041】
全てのレコードのコード変換処理の終了のいかんにかかわらず、コード変換エラー発生以後、エラーメッセージ等からエラーのあったデータが正しく変換されるように、オペレータがエラー環境の修復を行う。このエラー環境の修復では、コード変換できなかったものが、正しく変換されるように、オペレータがコード変換テーブルの修正を行う。
【0042】
例えば、汎用コンピュータGSシリーズのコンピュータからUNIX(登録商標)コンピュータへデータを流通させる場合、GSシリーズで使用しているJEFコードの拡張漢字は、UNIX(登録商標)のEUCコードでは扱っていないため、単純にコード変換を行うとエラーとなる。具体的には、JEF拡張漢字が該当する。図6に、JEF拡張漢字の一部を示す。
【0043】
変換エラーとなった場合、図7に示すように、エラー環境修復として、GSシリーズの拡張漢字をUNIX(登録商標)で扱うために、拡張漢字をそれぞれ、JEFコードの利用者定義文字と、EUCコードの外字領域に定義が必要となる。
【0044】
エラー環境が修復できたら、リカバリ処理を行う。リカバリ処理では、コード変換処理ができなかった入力レコード情報の入ったエラーロギングファイル30を入力し(s41)、上記エラーロギングファイル30のリカバリ対象レコードを読み込む(s42)。上記エラーロギングファイル30の全てのレコードがリカバリ対象であれば、1件目のレコードから読み込む。
【0045】
また、ここで、コード変換テーブルの修正日時以前のレコードのみをリカバリ対象レコードとすることにより、余分なコード変換処理を行わずに、効率よくリカバリ処理を行うことができる。さらに、エラーコードなどにより、コード変換テーブルを修正したものと対応がとれれば、ピンポイントで対象レコードを指定でき、リカバリ処理の効率を上げることができる。
【0046】
続いて、読み込んだレコードの先頭のデータから、修正されたコード変換テーブルにしたがってコード変換を行う(s43)。
【0047】
上記コード変換処理(s43)において、正しくコード変換が行われたか否かを判定し(s44)、正しくコード変換が行われれば、出力ファイル20に変換されたレコードを出力する(s51)。そして、この正しくコード変換できたレコードを、エラーロギングファイル30から削除する(s52)。
【0048】
上記コード変換処理(s43)時に、エラーがあった場合には、エラーメッセージを出力し(s45)、このエラー情報で、エラーロギングファイル30の該当データレコードを更新する(s46)。
【0049】
続いて、エラーロギングファイル30の次のリカバリ対象レコードがあるか否かを判別し(s47)、対象レコードがある場合には、そのレコードを読み出して、上記処理(s42〜s47)を繰り返し、リカバリ対象レコードの全てに処理を行ったら、リカバリ処理を終了する。
【0050】
また、上記コード変換処理のリカバリ処理においては、エラーロギングファイル30からのコード変換時(s43)に、コード変換ができたとき該当するレコードを削除し(s52)、コード変換エラーがあったときエラーレコード情報を更新する(s46)ようにしたが、コード変換ができたときにレコード削除を行わず、コード変換エラーがあったとき、新たなエラーロギングファイルにエラーレコード情報を出力するようにしても良い。この場合、新たなエラーロギングファイルを使用してエラーリカバリ中に新たなエラーリカバリ処理を行うことができ、エラー環境を修復するごとに次々とリカバリ処理を行うことができ、コード変換定義のできたものから順にデータ変換していくことができる。
【0051】
以上の処理により、コード変換処理を中断することなく、また、エラーとなったレコードを改めて検索することもなく、容易にコード変換処理のリカバリ処理を行うことができる。
【0052】
(第2の実施の形態)
次に、データ属性変更処理を例に、データ属性変更処理、エラーロギングファイル30とリカバリ処理の関係を、図8に示す。ここで、図8に示す処理の前に付けた番号1から10は、上記コード変換処理の説明図と同様に全体の処理順序を示し、データ属性変更処理で不当データエラーが発生するときのエラーロギングファイル30へのエラー情報出力とデータ属性変更エラーの環境を修復した後のリカバリ処理を示す。
【0053】
データ属性変更のリカバリ処理は、データ属性変更処理、エラー環境修復処理およびリカバリ処理の3つに大別される。
【0054】
図9に、データ属性変更処理のフローチャートを、図10に、データ属性変更処理のエラーリカバリ処理のフローチャートを示す。ここで、データ属性変更処理では、出力先のデータ属性は決まっているので、この出力先のデータ属性を定義しているものを、出力データ属性定義ファイルとする。
【0055】
以下、図8、図9、図10を参照して、データ属性変更のエラーリカバリ処理を説明する。
【0056】
まず、データ属性変更処理では、データ属性変更対象の入力ファイル10を入力し(s61)、上記入力ファイル10のデータ属性変更対象レコードを読み込む(s62)。続いて、読み込んだレコードを、出力データ属性定義ファイルの定義にしたがってデータ属性変更を行う(s63)。
【0057】
次に、上記データ属性変更処理(s63)において、正しくデータ属性変更が行われたか否かを判定し(s64)、正しくデータ属性変更が行われれば、出力ファイル20に変換されたレコードを出力する(s71)。
【0058】
データ属性変更処理(s63)時に、不当データエラーがあった場合には、エラーメッセージを出力し(s65)、エラーロギングファイル30に不当データエラーのあったレコードの情報を出力する(s66)。このエラー情報とは、コード変換時と同様に、エラー発生の日時、エラーメッセージコード/内容、エラー発生項目、入力レコード等である。
【0059】
続いて、入力ファイル10の次のデータ属性変更対象レコードがあるか否かを判別し(s67)、対象レコードがある場合には、そのレコードを読み出して、上記処理(s62〜s67)を繰り返し、データ属性変更対象レコードが無くなったら、データ属性変更処理を終了する。
【0060】
全てのレコードのデータ属性変更処理の終了のいかんにかかわらず、データ属性変更エラー発生以後、エラーメッセージ等から不当データエラーのあったデータが正しく変換されるように、エラー環境の修復をオペレータが行う。このエラー環境の修復では、不当データエラーになってしまったもののエラー修復ができるように、オペレータがエラー修復形態を作成し、ファイルに設定する。
【0061】
ここで、図11に、データ属性変更エラー例とエラー修復形態の作成例を示し、説明する。
【0062】
例えば、入力ファイル10の入力レコードMのm項目が「□□100」(□はブランクを示す)であって、これを出力ファイル20では、数値属性の項目と設定されていたとする。この場合、□は数値項目ではないため、データ属性変更処理において、データ属性エラーとなる。
【0063】
そこで、エラー修復として、エラーとなったレコードの□の扱いを、「数値属性に項目設定するデータで、数値桁以上の□は0に置き換える(つまり100の上位桁の□は0に変更)」とエラー修復形態を定義することで、同様なデータ属性のエラーが入力レコードMのx項目、あるいは、入力レコードNのある項目で発生しても、上記エラー修復形態によってリカバリすることができる。
【0064】
他の例として、文字項目からパック形式の数値変換(□123→X"0123C"(パック形式):Cは数値が正であることを表す符号である)、数値項目から文字項目への0サプレス(00123→□□123)等が考えられる。
【0065】
次に、エラー環境修復後のデータ属性変更エラーリカバリ処理を説明する。データ属性変更エラーのリカバリ処理では、データ属性変更処理ができなかった入力レコード情報の入ったエラーロギングファイル30を入力し(s91)、上記エラーロギングファイル30のデータ属性変更リカバリ対象レコードを読み込む(s92)。上記エラーロギングファイル30の全てのレコードがデータ属性変更リカバリ対象であれば、1件目のレコードから読み込む。続いて、読み込んだレコードを、エラー修復形態にしたがって修復する(s93)。
【0066】
次に、上記エラー修復処理(s93)において、正しくデータ属性の変更が行われ、エラー修復が行われたか否かを判定し(s94)、正しくデータ属性変更が行われれば、出力ファイル20にデータ属性変更されたレコードを出力する(s101)。そして、この正しくデータ属性変更できたレコードを、エラーロギングファイル30から削除する(s102)。
【0067】
上記エラー修復処理(s93)時に、再びエラーがあった場合には、エラーメッセージを出力し(s95)、このエラー情報で、エラーロギングファイル30の該当データレコードを更新する(s96)。
【0068】
続いて、エラーロギングファイル30の次のリカバリ対象レコードがあるか否かを判別し(s97)、対象レコードがある場合には、そのレコードを読み出して、上記処理(s92〜s97)を繰り返し、リカバリ対象レコードの全てに処理を行ったら、リカバリ処理を終了する。
【0069】
また、上記コード変換処理と同様に、データ属性変更リカバリ処理において、データ属性変更ができたときにレコード削除を行わず、データ属性変更エラーがあったとき、新たなエラーロギングファイルにエラーレコード情報を出力するようにしても良い。
【0070】
さらに、データ属性変更処理において、自動的にエラー修復を行う自動修復処理について、図12に示し、説明する。
【0071】
図12に示すように、自動修復処理においては、過去に作成されたエラー修復形態を使用して、自動修復処理を行う。すなわち、データ属性変更処理において、不当データを検出した際(s64で判断)、エラー修復形態があるか否かを判定し(s111)、過去に同様のデータ属性エラーが発生していれば(エラー種別が同じであれば)、エラー修復形態のエラー発生時の処置にしたがってエラーデータを修復し(s112)、出力ファイル20に変換レコードを出力する(s71)。
【0072】
この自動修復処理により、過去にデータ属性変更において同様の不当データとなったデータに対しては、過去の修復方法を参照して、自動的に不当データエラーを解消することができる。
【0073】
以上のように、本発明によれば、入力ファイルとは別ファイルにコード変換エラー・データ属性変換エラーのデータ情報を抽出するので、コード変換テーブル・エラー修復形態を設定後に、コード変換・データ属性変更とは別にデータリカバリ処理を行うことができ、コード変換処理・データ属性変更処理を中断することなく、また、エラーとなったレコードを改めて検索することもなく、容易にコード変換処理・データ属性変更処理のリカバリ処理を行うことができる。
【0074】
さらに、本発明に関して以下を付記する。
【0075】
(付記1) コンピュータを、
入力ファイルからデータレコードを読み込む読み込み手段、
読み込んだデータレコードをコード変換テーブルにしたがってコード変換するコード変換手段、
前記コード変換手段において前記データレコードが前記コード変換テーブルに該当せずにコード変換エラーとなるとき、前記データレコードを含むエラーレコード情報を、エラーロギングファイルに出力するエラーレコード出力手段、
コード変換エラーが起こらないように修正されたコード変換テーブルにしたがって、前記エラーロギングファイルからエラーレコード情報に含まれるコード変換エラーを起こしたデータレコードを取り出して、コード変換するエラーコード変換手段、
前記エラーコード変換手段においてコード変換されたデータレコードを出力する変換レコード出力手段、
として機能させるための変換エラーレコードリカバリプログラム。
【0076】
(付記2) 前記エラーコード変換手段においてコード変換に失敗したときには、前記エラーレコード情報を更新する手段として更に機能させるための請求項1記載の変換エラーレコードリカバリプログラム。
【0077】
(付記3) コンピュータを、
入力ファイルからデータレコードを読み込む読み込み手段、
読み込んだデータレコードをデータ属性テーブルにしたがって該データレコードの属性を変換する属性変換手段、
前記属性変換手段において前記データレコードが前記データ属性テーブルに該当せずに属性変換エラーとなるとき、前記データレコードを含むエラーレコード情報を、エラーロギングファイルに出力するエラーレコード出力手段、
属性変換エラー発生時の処置を含むエラー修復形態にしたがって、前記エラーロギングファイルからエラーレコード情報に含まれる属性変換エラーを起こしたデータレコードを取り出して、該データレコードを修復するエラーデータ修復手段、
修復されたデータレコードを出力する修復レコード出力手段、
として機能させるための変換エラーレコードリカバリプログラム。
【0078】
(付記4) 前記エラーコード修復手段において、前記データレコードの修復に失敗したときには、前記エラーレコード情報を更新する手段として更に機能させるための付記3記載の変換エラーレコードリカバリプログラム。
【0079】
(付記5) 前記属性変換手段において前記データレコードが前記データ属性テーブルに該当せずに属性変換エラーとなるとき、かつ、前記エラー修復形態があるとき、前記エラー修復形態にしたがって、該データレコードの属性を変換する手段として更に機能させるための付記3または付記4記載の変換エラーレコードリカバリプログラム。
【産業上の利用可能性】
【0080】
以上のように、本発明にかかるコード変換エラーレコードリカバリプログラムは、コード変換処理を中断することなく、エラーロギングファイルによって、容易にエラーデータのリカバリ処理を行うことができるという効果を有し、コンピュータシステム間などにおける異なるデータのコード体系を持つデータの流通およびデータ属性の変更に関し、特に、変換エラーに対するリカバリ処理を行うコード変換エラーレコードリカバリプログラム等として有用である。
【図面の簡単な説明】
【0081】
【図1】本発明のコード変換エラーリカバリプログラムの概略説明図である。
【図2】本発明のコード変換処理、エラーロギングファイルとリカバリ処理の関係を示す図である。
【図3】コード変換処理を示すフローチャートである。
【図4】リカバリ処理を示すフローチャートである。
【図5】JIS、EUCコード変換テーブルの一例を示す図である。
【図6】JEF拡張漢字の一覧表(一部)を示す図である。
【図7】JEF拡張漢字のコード変換エラーにおけるエラー環境修復処理例を示す図である。
【図8】本発明のデータ属性変更処理、エラーロギングファイルとリカバリ処理の関係を示す図である。
【図9】データ属性変更処理を示すフローチャートである。
【図10】データ属性変更処理のリカバリ処理を示すフローチャートである。
【図11】データ属性変更エラー例とエラー修復形態の作成例を示す図である。
【図12】自動エラー修復を行うデータ属性変更処理を示すフローチャートである。
【図13】従来のフォーマット変換装置を示すブロック図である。
【図14】従来のフォーマット変換装置の処理動作を示すフローチャートである。
【符号の説明】
【0082】
10 入力ファイル
20 出力ファイル
30 エラーロギングファイル
101 変換元データ
102 変換方法パラメータファイル
103 変換先データ
104 アラームログファイル
105 フォーマット変換処理部
106 外部変換処理モジュール
【技術分野】
【0001】
本発明は、コンピュータシステム間などにおける異なるデータのコード体系を持つデータの流通およびデータ属性の変更に関し、特に、変換エラーに対するリカバリ処理を行うコード変換エラーレコードリカバリプログラムに関するものである。
【背景技術】
【0002】
従来、コード変換処理を行う場合、例えば、入力ファイルに格納されたシフトJISコードのデータを、EUCコードのデータにコード変換し、出力ファイルに格納するには、シフトJISコードからEUCコードへの変換テーブルを用いて、入力ファイルの各レコードをコード変換し、コード変換ができないレコードがあった場合には、コード変換を行った利用者にエラーメッセージを出力して、通知する。その後、利用者は、コード変換エラーのメッセージによりエラーとなったレコードを特定し、コード変換処理の入力ファイルから該当レコードを取り出し、コード変換エラーの原因を取り除いたコード変換処理の環境のもとで、そのレコードのコード変換処理を再実行することで、コード変換エラーのリカバリを行っていた。
【0003】
また、データ属性の変更の場合も、例えば、文字属性のデータ(□□100、□:ブランクを示す)を数値属性のデータ(00100)に変更する際、ブランク(□□)は数値でないために不当データエラーとなる。不当データエラーのリカバリもコード変換エラーの対応と同様にエラーメッセージをもとに入力ファイルからエラーとなったレコードを特定し、そのレコードのエラー箇所を変更(ブランクを数値に変更など)後、そのレコードのリカバリを行っていた。
【0004】
ここで、他のシステムで作成された既存のデータを、自システムで利用できる形にフォーマット変換を行う従来のフォーマット変換装置(データ変換装置)のブロック図を図13に、処理フローチャートを図14に示し、説明する。
【0005】
図13に示すように、従来のフォーマット変換装置は、フォーマット変換処理部105およびこのフォーマット変換処理部105に接続された変換元データ101、変換方法パラメータファイル102、変換先データ103、アラームログファイル104および複数の外部変換処理モジュール106より構成される。
【0006】
ここで、変換元データ101は、他のシステムで作成されたデータである。変換方法パラメータファイル102は、変換方法などを記述した変換方法のパラメータファイルである。変換先データ103は、自システムで使用するデータである。アラームログファイル104は、変換元データ101に不正なデータを発見した場合に、その結果を保存するファイルである。フォーマット変換処理部105は、変換元データ101のフォーマット変換を行うフォーマット変換処理部である。また、外部変換処理モジュール106は、フォーマット変換部105の内部で処理できない変換処理を行う場合に呼び出す外部変換処理モジュール群である。
【0007】
また、図14に示すように、従来のフォーマット変換装置は、まず、ステップ201において、フォーマット変換処理部105が、変換方法パラメータファイル102を読み込み内部に保存する。ステップ202で、変換元データ101のデータ件数分ループを開始する。次に、ステップ203において、変換元データ101の1件分を読み込み、ステップ204で変換方法パラメータファイル102に指示されている変換方法の件数分ループを開始する。ステップ205で、変換元データ入力順位で指定されたデータが、データ形式および桁数に指定された通りのデータであるかチェックする。ステップ206で、そのチェック結果を判断し、不正なデータであると判断した場合には、ステップ207で、エラー処理としてアラームログファイル104へアラームデータの書き込みを行う。このとき、変換元データ入力順位、データ形式および桁数が指定されていない場合には、チェックを行わず正常なデータであると判断して処理を継続する。
【0008】
以下、ステップ206で正常なデータであると判断した場合には、ステップ208に進み、フォーマット変換方法から変換処理が内部処理で行えるのかまたは外部変換処理モジュール群106を呼び出す必要があるのかを判断する。内部処理により変換処理が行えると判断した場合には、内部処理によりフォーマット変換を行い、外部変換処理モジュール106を呼び出す必要があると判断した場合には、フォーマット変換方法から呼び出すべき外部変換処理モジュール106を判断し、適切な外部変換処理モジュール106を呼び出して、フォーマット変換処理を行う。
【0009】
その後、ステップ204からステップ212のフォーマット変換処理を、指示されている変換方法の件数分繰り返して、変換先データ1件分を作成し、ステップ215で、変換先データ103として出力する。さらに、変換元データ101の件数分繰り返したら処理を終了する(例えば、特許文献1参照)。
【特許文献1】特開2001−184190号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかしながら、このような従来のデータ変換処理装置においては、エラーデータをアラームログファイルに書き込んでいるだけで、そのリカバリ処理を行うことができない。したがって、データ変換処理を行うことができないデータのリカバリ処理については、コード変換エラーのレコードをコード変換処理の入力ファイルから検索し、特定した後、コード変換環境を修正し、再度、そのレコードのコード変換を実行しなくてはならないため、リカバリ方法として、時間がかかってしまうという問題があった。また、不当データエラーのリカバリ処理についても、同様の問題があった。
【0011】
また、データ変換処理の最中に、変換不能なパターンが現れた場合、その場で常に代替え処理を入力させようとすると、データ変換処理が一旦停止してしまい、処理効率が悪くなるとともに、オペレータが常に対応しなければならず、その変換方法についても熟知していなければ処理を行うことができなくなってしまうという問題がある。
【0012】
そこで、本発明は、このような従来の問題を解決するためになされたもので、データ変換処理を中断することなく、また、エラーとなったレコードを検索することもなく、容易にエラーデータのリカバリ処理を行うことができるコード変換エラーリカバリプログラムを提供するものである。
【課題を解決するための手段】
【0013】
本発明の変換エラーレコードリカバリプログラムは、コンピュータを、データレコードをコード変換テーブルにしたがってコード変換するコード変換手段、前記データレコードが前記コード変換テーブルに該当せずにコード変換エラーとなるとき、前記データレコードを含むエラーレコード情報を、エラーロギングファイルに出力するエラーレコード出力手段、修正されたコード変換テーブルにしたがって、前記エラーロギングファイルからエラーレコード情報に含まれるコード変換エラーを起こしたデータレコードを取り出して、コード変換するエラーコード変換手段、前記コード変換されたデータレコードを出力する変換レコード出力手段、として機能させることを特徴としている。
【0014】
この構成により、入力ファイルとは別ファイルにエラーデータの抽出を行うので、コード変換処理と別にデータリカバリ処理を行うことができ、コード変換処理を中断することなく、また、エラーとなったデータを改めて検索することもなく、容易にコード変換処理のリカバリ処理を行うことができる。
【0015】
また、本発明の変換エラーレコードリカバリプログラムは、前記エラーコード変換手段においてコード変換に失敗したときには、前記エラーレコード情報を更新する手段として更に機能させることを特徴としている。
【0016】
この構成により、リカバリ処理ができなかったデータについては、エラーロギングファイルの更新レコードにより再度リカバリ処理を行うことができる。
【0017】
また、本発明の変換エラーレコードリカバリプログラムは、コンピュータを、データレコードをデータ属性テーブルにしたがって該データレコードの属性を変換する属性変換手段、前記データレコードが前記データ属性テーブルに該当せずに属性変換エラーとなるとき、前記データレコードを含むエラーレコード情報を、エラーロギングファイルに出力するエラーレコード出力手段、属性変換エラー発生時の処置を含むエラー修復形態にしたがって、前記エラーロギングファイルからエラーレコード情報に含まれる属性変換エラーを起こしたデータレコードを取り出して、該データレコードを修復するエラーデータ修復手段、修復されたデータレコードを出力する修復レコード出力手段、として機能させることを特徴としている。
【0018】
この構成により、データ属性変換エラーとなったデータに対して、エラー修復形態を設定しリカバリ処理を行うので、同様のデータ属性変換エラーのデータもこのエラー修復形態によってリカバリすることができる。
【0019】
さらに、本発明の変換エラーレコードリカバリプログラムは、前記エラーコード修復手段において、前記データレコードの修復に失敗したときには、前記エラーレコード情報を更新する手段として更に機能させることを特徴としている。
【0020】
この構成により、リカバリ処理で不当データエラーを解消できなかったデータについては、エラーロギングファイルの更新レコードにより再度リカバリ処理を行うことができる。
【0021】
さらに、本発明の変換エラーレコードリカバリプログラムは、前記属性変換手段において前記データレコードが前記データ属性テーブルに該当せずに属性変換エラーとなるとき、かつ、前記エラー修復形態があるとき、前記エラー修復形態にしたがって、該データレコードの属性を変換する手段として更に機能させることを特徴としている。
【0022】
この構成により、データ属性変更時にエラー修復形態があればこのエラー修復形態にしたがってエラーを修復する。
【発明の効果】
【0023】
本発明は、データレコードをコード変換テーブルにしたがってコード変換し、前記データレコードが前記コード変換テーブルに該当せずにコード変換エラーとなるとき、前記データレコードを含むエラーレコード情報をエラーロギングファイルに出力して、修正されたコード変換テーブルにしたがって、前記エラーロギングファイルからエラーレコード情報に含まれるコード変換エラーを起こしたデータレコードを取り出してコード変換することにより、入力ファイルとは別ファイルにエラーデータの抽出を行うので、コード変換処理と別にデータリカバリ処理を行うことができ、コード変換処理を中断することなく、また、エラーとなったデータを改めて検索することもなく、容易にコード変換処理のリカバリ処理を行うことができるという効果を有するコード変換エラーレコードリカバリプログラムを提供することができるものである。
【0024】
また、本発明は、前記エラーコード変換においてコード変換に失敗したときには、前記エラーレコード情報を更新することにより、リカバリ処理ができなかったデータについては、エラーロギングファイルの更新レコードにより再度リカバリ処理を行うことができる。
【0025】
また、本発明は、データレコードをデータ属性テーブルにしたがって該データレコードの属性を変換し、前記データレコードが前記データ属性テーブルに該当せずに属性変換エラーとなるとき、前記データレコードを含むエラーレコード情報を、エラーロギングファイルに出力し、属性変換エラー発生時の処置を含むエラー修復形態にしたがって、前記エラーロギングファイルからエラーレコード情報に含まれる属性変換エラーを起こしたデータレコードを取り出して、該データレコードを修復することにより、データ属性変換エラーとなったデータに対して、エラー修復形態を設定しリカバリ処理を行うので、同様のデータ属性変換エラーのデータもこのエラー修復形態によってリカバリすることができる。
【0026】
さらに、本発明は、前記エラーコード修復において、前記データレコードの修復に失敗したときには、前記エラーレコード情報を更新することにより、リカバリ処理で不当データエラーを解消できなかったデータについては、エラーロギングファイルの更新レコードにより再度リカバリ処理を行うことができる。
【0027】
さらに、本発明は、前記属性変換において前記データレコードが前記データ属性テーブルに該当せずに属性変換エラーとなるとき、かつ、前記エラー修復形態があるとき、前記エラー修復形態にしたがって、該データレコードの属性を変換することにより、データ属性変更時にエラー修復形態があればこのエラー修復形態にしたがってエラーを修復するので、すでに対応済みのデータ属性変更エラーのデータを不当データとせずにデータ変換することができ、不当データエラーを過去のデータで解消することができる。
【発明を実施するための最良の形態】
【0028】
以下、本発明の実施の形態におけるコード変換エラーリカバリプログラムの概略説明図を図1に示し、説明する。
【0029】
図1に示すように、本発明のコード変換エラーリカバリプログラムは、入力ファイル10からデータレコードを入力し、コード変換処理、データ属性変更処理を行って、出力ファイル20を作成する際に、コード変換エラー、または、不当データエラーが発生したら、新たに用意したエラーロギングファイル30へエラーレコード情報を出力して、このエラーロギングファイル30を入力とし、リカバリ処理を行う。
【0030】
(第1の実施の形態)
まず、図2にコード変換処理、エラーロギングファイル30とリカバリ処理の関係を示し、説明する。ここで、図2に示す処理の前に付けた番号1から10は、全体の処理順序を示し、コード変換処理でコード変換エラーが発生するときのエラーロギングファイル30へのエラー情報出力とコード変換エラーの環境を修復した後のリカバリ処理を示す。
【0031】
コード変換エラーリカバリ処理は、コード変換処理、エラー環境修復処理およびリカバリ処理の3つに大別される。
【0032】
図3に、コード変換処理のフローチャートを、図4に、リカバリ処理のフローチャートを示す。
【0033】
以下、図2、図3、図4を参照して、コード変換エラーリカバリ処理を説明する。
【0034】
まず、コード変換処理では、コード変換対象の入力ファイル10を入力し(s11)、上記入力ファイル10のコード変換対象レコードを読み込む(s12)。上記入力ファイル10の全てのレコードが変換対象であれば、1件目のレコードから読み込む。続いて、読み込んだレコードの先頭のデータから、コード変換テーブルにしたがってコード変換を行う(s13)。
【0035】
ここで、図5に、コード変換について具体例を挙げて説明する。図5に示すコード変換テーブルは、JISコードのコード表にEUCの対応コードを付加したものである。したがって、このコード変換テーブルによってJISコードとEUCコードとの相互変換を行うことができる。
【0036】
図5に示すように、例えば、JISコード体系で作成された入力ファイル10のレコードの"あ"という文字は、JISコードで"2422"(16進表記)とあらわされている。したがって、入力ファイル10上では、X"2422"(Xは16進表記であることを示す)というコードでデータを持っている。これをEUCコード体系であらわされる環境で正しく認識、表示できるように、コード変換テーブルでコード体系を変換する。"あ"は、EUCコード体系では、X"A4A2"であるので、コード変換時に、このコード変換テーブルにしたがって、X"2422"がX"A4A2"に変換される。
【0037】
同様にして、入力レコードの"A"という文字であれば、JISコードのX"2341"からEUCコードのX"A3C1"に変換される。このようにして、JISコード体系で持っていたデータを、EUCコード体系のデータに変換する。
【0038】
コード変換エラーリカバリ処理説明に戻り、上記コード変換処理(s13)において、正しくコード変換が行われたか否かを判定し(s14)、正しくコード変換が行われれば、出力ファイル20に変換されたレコードを出力する(s21)。
【0039】
コード変換処理(s13)時に、対応コードが無くコード変換が行えずにエラーとなった場合には、エラーメッセージを出力し(s15)、エラーロギングファイル30にエラーのあったレコードの情報を出力する(s16)。このエラー情報とは、エラー発生の日時、エラーメッセージコード/内容、エラー発生項目、入力レコード等である。
【0040】
続いて、入力ファイル10の次のコード変換対象レコードがあるか否かを判別し(s17)、対象レコードがある場合には、そのレコードを読み出して、上記処理(s12〜s17)を繰り返し、コード変換対象レコードが無くなったら、コード変換処理を終了する。
【0041】
全てのレコードのコード変換処理の終了のいかんにかかわらず、コード変換エラー発生以後、エラーメッセージ等からエラーのあったデータが正しく変換されるように、オペレータがエラー環境の修復を行う。このエラー環境の修復では、コード変換できなかったものが、正しく変換されるように、オペレータがコード変換テーブルの修正を行う。
【0042】
例えば、汎用コンピュータGSシリーズのコンピュータからUNIX(登録商標)コンピュータへデータを流通させる場合、GSシリーズで使用しているJEFコードの拡張漢字は、UNIX(登録商標)のEUCコードでは扱っていないため、単純にコード変換を行うとエラーとなる。具体的には、JEF拡張漢字が該当する。図6に、JEF拡張漢字の一部を示す。
【0043】
変換エラーとなった場合、図7に示すように、エラー環境修復として、GSシリーズの拡張漢字をUNIX(登録商標)で扱うために、拡張漢字をそれぞれ、JEFコードの利用者定義文字と、EUCコードの外字領域に定義が必要となる。
【0044】
エラー環境が修復できたら、リカバリ処理を行う。リカバリ処理では、コード変換処理ができなかった入力レコード情報の入ったエラーロギングファイル30を入力し(s41)、上記エラーロギングファイル30のリカバリ対象レコードを読み込む(s42)。上記エラーロギングファイル30の全てのレコードがリカバリ対象であれば、1件目のレコードから読み込む。
【0045】
また、ここで、コード変換テーブルの修正日時以前のレコードのみをリカバリ対象レコードとすることにより、余分なコード変換処理を行わずに、効率よくリカバリ処理を行うことができる。さらに、エラーコードなどにより、コード変換テーブルを修正したものと対応がとれれば、ピンポイントで対象レコードを指定でき、リカバリ処理の効率を上げることができる。
【0046】
続いて、読み込んだレコードの先頭のデータから、修正されたコード変換テーブルにしたがってコード変換を行う(s43)。
【0047】
上記コード変換処理(s43)において、正しくコード変換が行われたか否かを判定し(s44)、正しくコード変換が行われれば、出力ファイル20に変換されたレコードを出力する(s51)。そして、この正しくコード変換できたレコードを、エラーロギングファイル30から削除する(s52)。
【0048】
上記コード変換処理(s43)時に、エラーがあった場合には、エラーメッセージを出力し(s45)、このエラー情報で、エラーロギングファイル30の該当データレコードを更新する(s46)。
【0049】
続いて、エラーロギングファイル30の次のリカバリ対象レコードがあるか否かを判別し(s47)、対象レコードがある場合には、そのレコードを読み出して、上記処理(s42〜s47)を繰り返し、リカバリ対象レコードの全てに処理を行ったら、リカバリ処理を終了する。
【0050】
また、上記コード変換処理のリカバリ処理においては、エラーロギングファイル30からのコード変換時(s43)に、コード変換ができたとき該当するレコードを削除し(s52)、コード変換エラーがあったときエラーレコード情報を更新する(s46)ようにしたが、コード変換ができたときにレコード削除を行わず、コード変換エラーがあったとき、新たなエラーロギングファイルにエラーレコード情報を出力するようにしても良い。この場合、新たなエラーロギングファイルを使用してエラーリカバリ中に新たなエラーリカバリ処理を行うことができ、エラー環境を修復するごとに次々とリカバリ処理を行うことができ、コード変換定義のできたものから順にデータ変換していくことができる。
【0051】
以上の処理により、コード変換処理を中断することなく、また、エラーとなったレコードを改めて検索することもなく、容易にコード変換処理のリカバリ処理を行うことができる。
【0052】
(第2の実施の形態)
次に、データ属性変更処理を例に、データ属性変更処理、エラーロギングファイル30とリカバリ処理の関係を、図8に示す。ここで、図8に示す処理の前に付けた番号1から10は、上記コード変換処理の説明図と同様に全体の処理順序を示し、データ属性変更処理で不当データエラーが発生するときのエラーロギングファイル30へのエラー情報出力とデータ属性変更エラーの環境を修復した後のリカバリ処理を示す。
【0053】
データ属性変更のリカバリ処理は、データ属性変更処理、エラー環境修復処理およびリカバリ処理の3つに大別される。
【0054】
図9に、データ属性変更処理のフローチャートを、図10に、データ属性変更処理のエラーリカバリ処理のフローチャートを示す。ここで、データ属性変更処理では、出力先のデータ属性は決まっているので、この出力先のデータ属性を定義しているものを、出力データ属性定義ファイルとする。
【0055】
以下、図8、図9、図10を参照して、データ属性変更のエラーリカバリ処理を説明する。
【0056】
まず、データ属性変更処理では、データ属性変更対象の入力ファイル10を入力し(s61)、上記入力ファイル10のデータ属性変更対象レコードを読み込む(s62)。続いて、読み込んだレコードを、出力データ属性定義ファイルの定義にしたがってデータ属性変更を行う(s63)。
【0057】
次に、上記データ属性変更処理(s63)において、正しくデータ属性変更が行われたか否かを判定し(s64)、正しくデータ属性変更が行われれば、出力ファイル20に変換されたレコードを出力する(s71)。
【0058】
データ属性変更処理(s63)時に、不当データエラーがあった場合には、エラーメッセージを出力し(s65)、エラーロギングファイル30に不当データエラーのあったレコードの情報を出力する(s66)。このエラー情報とは、コード変換時と同様に、エラー発生の日時、エラーメッセージコード/内容、エラー発生項目、入力レコード等である。
【0059】
続いて、入力ファイル10の次のデータ属性変更対象レコードがあるか否かを判別し(s67)、対象レコードがある場合には、そのレコードを読み出して、上記処理(s62〜s67)を繰り返し、データ属性変更対象レコードが無くなったら、データ属性変更処理を終了する。
【0060】
全てのレコードのデータ属性変更処理の終了のいかんにかかわらず、データ属性変更エラー発生以後、エラーメッセージ等から不当データエラーのあったデータが正しく変換されるように、エラー環境の修復をオペレータが行う。このエラー環境の修復では、不当データエラーになってしまったもののエラー修復ができるように、オペレータがエラー修復形態を作成し、ファイルに設定する。
【0061】
ここで、図11に、データ属性変更エラー例とエラー修復形態の作成例を示し、説明する。
【0062】
例えば、入力ファイル10の入力レコードMのm項目が「□□100」(□はブランクを示す)であって、これを出力ファイル20では、数値属性の項目と設定されていたとする。この場合、□は数値項目ではないため、データ属性変更処理において、データ属性エラーとなる。
【0063】
そこで、エラー修復として、エラーとなったレコードの□の扱いを、「数値属性に項目設定するデータで、数値桁以上の□は0に置き換える(つまり100の上位桁の□は0に変更)」とエラー修復形態を定義することで、同様なデータ属性のエラーが入力レコードMのx項目、あるいは、入力レコードNのある項目で発生しても、上記エラー修復形態によってリカバリすることができる。
【0064】
他の例として、文字項目からパック形式の数値変換(□123→X"0123C"(パック形式):Cは数値が正であることを表す符号である)、数値項目から文字項目への0サプレス(00123→□□123)等が考えられる。
【0065】
次に、エラー環境修復後のデータ属性変更エラーリカバリ処理を説明する。データ属性変更エラーのリカバリ処理では、データ属性変更処理ができなかった入力レコード情報の入ったエラーロギングファイル30を入力し(s91)、上記エラーロギングファイル30のデータ属性変更リカバリ対象レコードを読み込む(s92)。上記エラーロギングファイル30の全てのレコードがデータ属性変更リカバリ対象であれば、1件目のレコードから読み込む。続いて、読み込んだレコードを、エラー修復形態にしたがって修復する(s93)。
【0066】
次に、上記エラー修復処理(s93)において、正しくデータ属性の変更が行われ、エラー修復が行われたか否かを判定し(s94)、正しくデータ属性変更が行われれば、出力ファイル20にデータ属性変更されたレコードを出力する(s101)。そして、この正しくデータ属性変更できたレコードを、エラーロギングファイル30から削除する(s102)。
【0067】
上記エラー修復処理(s93)時に、再びエラーがあった場合には、エラーメッセージを出力し(s95)、このエラー情報で、エラーロギングファイル30の該当データレコードを更新する(s96)。
【0068】
続いて、エラーロギングファイル30の次のリカバリ対象レコードがあるか否かを判別し(s97)、対象レコードがある場合には、そのレコードを読み出して、上記処理(s92〜s97)を繰り返し、リカバリ対象レコードの全てに処理を行ったら、リカバリ処理を終了する。
【0069】
また、上記コード変換処理と同様に、データ属性変更リカバリ処理において、データ属性変更ができたときにレコード削除を行わず、データ属性変更エラーがあったとき、新たなエラーロギングファイルにエラーレコード情報を出力するようにしても良い。
【0070】
さらに、データ属性変更処理において、自動的にエラー修復を行う自動修復処理について、図12に示し、説明する。
【0071】
図12に示すように、自動修復処理においては、過去に作成されたエラー修復形態を使用して、自動修復処理を行う。すなわち、データ属性変更処理において、不当データを検出した際(s64で判断)、エラー修復形態があるか否かを判定し(s111)、過去に同様のデータ属性エラーが発生していれば(エラー種別が同じであれば)、エラー修復形態のエラー発生時の処置にしたがってエラーデータを修復し(s112)、出力ファイル20に変換レコードを出力する(s71)。
【0072】
この自動修復処理により、過去にデータ属性変更において同様の不当データとなったデータに対しては、過去の修復方法を参照して、自動的に不当データエラーを解消することができる。
【0073】
以上のように、本発明によれば、入力ファイルとは別ファイルにコード変換エラー・データ属性変換エラーのデータ情報を抽出するので、コード変換テーブル・エラー修復形態を設定後に、コード変換・データ属性変更とは別にデータリカバリ処理を行うことができ、コード変換処理・データ属性変更処理を中断することなく、また、エラーとなったレコードを改めて検索することもなく、容易にコード変換処理・データ属性変更処理のリカバリ処理を行うことができる。
【0074】
さらに、本発明に関して以下を付記する。
【0075】
(付記1) コンピュータを、
入力ファイルからデータレコードを読み込む読み込み手段、
読み込んだデータレコードをコード変換テーブルにしたがってコード変換するコード変換手段、
前記コード変換手段において前記データレコードが前記コード変換テーブルに該当せずにコード変換エラーとなるとき、前記データレコードを含むエラーレコード情報を、エラーロギングファイルに出力するエラーレコード出力手段、
コード変換エラーが起こらないように修正されたコード変換テーブルにしたがって、前記エラーロギングファイルからエラーレコード情報に含まれるコード変換エラーを起こしたデータレコードを取り出して、コード変換するエラーコード変換手段、
前記エラーコード変換手段においてコード変換されたデータレコードを出力する変換レコード出力手段、
として機能させるための変換エラーレコードリカバリプログラム。
【0076】
(付記2) 前記エラーコード変換手段においてコード変換に失敗したときには、前記エラーレコード情報を更新する手段として更に機能させるための請求項1記載の変換エラーレコードリカバリプログラム。
【0077】
(付記3) コンピュータを、
入力ファイルからデータレコードを読み込む読み込み手段、
読み込んだデータレコードをデータ属性テーブルにしたがって該データレコードの属性を変換する属性変換手段、
前記属性変換手段において前記データレコードが前記データ属性テーブルに該当せずに属性変換エラーとなるとき、前記データレコードを含むエラーレコード情報を、エラーロギングファイルに出力するエラーレコード出力手段、
属性変換エラー発生時の処置を含むエラー修復形態にしたがって、前記エラーロギングファイルからエラーレコード情報に含まれる属性変換エラーを起こしたデータレコードを取り出して、該データレコードを修復するエラーデータ修復手段、
修復されたデータレコードを出力する修復レコード出力手段、
として機能させるための変換エラーレコードリカバリプログラム。
【0078】
(付記4) 前記エラーコード修復手段において、前記データレコードの修復に失敗したときには、前記エラーレコード情報を更新する手段として更に機能させるための付記3記載の変換エラーレコードリカバリプログラム。
【0079】
(付記5) 前記属性変換手段において前記データレコードが前記データ属性テーブルに該当せずに属性変換エラーとなるとき、かつ、前記エラー修復形態があるとき、前記エラー修復形態にしたがって、該データレコードの属性を変換する手段として更に機能させるための付記3または付記4記載の変換エラーレコードリカバリプログラム。
【産業上の利用可能性】
【0080】
以上のように、本発明にかかるコード変換エラーレコードリカバリプログラムは、コード変換処理を中断することなく、エラーロギングファイルによって、容易にエラーデータのリカバリ処理を行うことができるという効果を有し、コンピュータシステム間などにおける異なるデータのコード体系を持つデータの流通およびデータ属性の変更に関し、特に、変換エラーに対するリカバリ処理を行うコード変換エラーレコードリカバリプログラム等として有用である。
【図面の簡単な説明】
【0081】
【図1】本発明のコード変換エラーリカバリプログラムの概略説明図である。
【図2】本発明のコード変換処理、エラーロギングファイルとリカバリ処理の関係を示す図である。
【図3】コード変換処理を示すフローチャートである。
【図4】リカバリ処理を示すフローチャートである。
【図5】JIS、EUCコード変換テーブルの一例を示す図である。
【図6】JEF拡張漢字の一覧表(一部)を示す図である。
【図7】JEF拡張漢字のコード変換エラーにおけるエラー環境修復処理例を示す図である。
【図8】本発明のデータ属性変更処理、エラーロギングファイルとリカバリ処理の関係を示す図である。
【図9】データ属性変更処理を示すフローチャートである。
【図10】データ属性変更処理のリカバリ処理を示すフローチャートである。
【図11】データ属性変更エラー例とエラー修復形態の作成例を示す図である。
【図12】自動エラー修復を行うデータ属性変更処理を示すフローチャートである。
【図13】従来のフォーマット変換装置を示すブロック図である。
【図14】従来のフォーマット変換装置の処理動作を示すフローチャートである。
【符号の説明】
【0082】
10 入力ファイル
20 出力ファイル
30 エラーロギングファイル
101 変換元データ
102 変換方法パラメータファイル
103 変換先データ
104 アラームログファイル
105 フォーマット変換処理部
106 外部変換処理モジュール
【特許請求の範囲】
【請求項1】
コンピュータを、
入力ファイルからデータレコードを読み込む読み込み手段、
読み込んだデータレコードをコード変換テーブルにしたがってコード変換するコード変換手段、
前記コード変換手段において前記データレコードが前記コード変換テーブルに該当せずにコード変換エラーとなるとき、前記データレコードを含むエラーレコード情報を、エラーロギングファイルに出力するエラーレコード出力手段、
コード変換エラーが起こらないように修正されたコード変換テーブルにしたがって、前記エラーロギングファイルからエラーレコード情報に含まれるコード変換エラーを起こしたデータレコードを取り出して、コード変換するエラーコード変換手段、
前記エラーコード変換手段においてコード変換されたデータレコードを出力する変換レコード出力手段、
として機能させるための変換エラーレコードリカバリプログラム。
【請求項2】
コンピュータを、
入力ファイルからデータレコードを読み込む読み込み手段、
読み込んだデータレコードをデータ属性テーブルにしたがって該データレコードの属性を変換する属性変換手段、
前記属性変換手段において前記データレコードが前記データ属性テーブルに該当せずに属性変換エラーとなるとき、前記データレコードを含むエラーレコード情報を、エラーロギングファイルに出力するエラーレコード出力手段、
属性変換エラー発生時の処置を含むエラー修復形態にしたがって、前記エラーロギングファイルからエラーレコード情報に含まれる属性変換エラーを起こしたデータレコードを取り出して、該データレコードを修復するエラーデータ修復手段、
修復されたデータレコードを出力する修復レコード出力手段、
として機能させるための変換エラーレコードリカバリプログラム。
【請求項3】
前記属性変換手段において前記データレコードが前記データ属性テーブルに該当せずに属性変換エラーとなるとき、かつ、前記エラー修復形態があるとき、前記エラー修復形態にしたがって、該データレコードの属性を変換する手段として更に機能させるための請求項2記載の変換エラーレコードリカバリプログラム。
【請求項1】
コンピュータを、
入力ファイルからデータレコードを読み込む読み込み手段、
読み込んだデータレコードをコード変換テーブルにしたがってコード変換するコード変換手段、
前記コード変換手段において前記データレコードが前記コード変換テーブルに該当せずにコード変換エラーとなるとき、前記データレコードを含むエラーレコード情報を、エラーロギングファイルに出力するエラーレコード出力手段、
コード変換エラーが起こらないように修正されたコード変換テーブルにしたがって、前記エラーロギングファイルからエラーレコード情報に含まれるコード変換エラーを起こしたデータレコードを取り出して、コード変換するエラーコード変換手段、
前記エラーコード変換手段においてコード変換されたデータレコードを出力する変換レコード出力手段、
として機能させるための変換エラーレコードリカバリプログラム。
【請求項2】
コンピュータを、
入力ファイルからデータレコードを読み込む読み込み手段、
読み込んだデータレコードをデータ属性テーブルにしたがって該データレコードの属性を変換する属性変換手段、
前記属性変換手段において前記データレコードが前記データ属性テーブルに該当せずに属性変換エラーとなるとき、前記データレコードを含むエラーレコード情報を、エラーロギングファイルに出力するエラーレコード出力手段、
属性変換エラー発生時の処置を含むエラー修復形態にしたがって、前記エラーロギングファイルからエラーレコード情報に含まれる属性変換エラーを起こしたデータレコードを取り出して、該データレコードを修復するエラーデータ修復手段、
修復されたデータレコードを出力する修復レコード出力手段、
として機能させるための変換エラーレコードリカバリプログラム。
【請求項3】
前記属性変換手段において前記データレコードが前記データ属性テーブルに該当せずに属性変換エラーとなるとき、かつ、前記エラー修復形態があるとき、前記エラー修復形態にしたがって、該データレコードの属性を変換する手段として更に機能させるための請求項2記載の変換エラーレコードリカバリプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2006−3978(P2006−3978A)
【公開日】平成18年1月5日(2006.1.5)
【国際特許分類】
【出願番号】特願2004−177075(P2004−177075)
【出願日】平成16年6月15日(2004.6.15)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成18年1月5日(2006.1.5)
【国際特許分類】
【出願日】平成16年6月15日(2004.6.15)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]