(57)【要約】【課題】  フォーマット形式が異なる複数のレコードで構成される電子データのそれぞれのレコードのフォーマットを変換する場合に、各レコードのレコード長が可変長であってもフォーマット形式を変換できる可変長マルチフォーマット変換装置及び方法並びにこれを用いたファイル転送システムを提供する。【解決手段】  フォーマット変換の法則を示すフォーマット変換定義ファイルを記憶するフォーマット変換定義ファイル格納部２と、変換対象ファイルのデータをレコード単位で読み込むファイル読み込み部１１と、読み込んだ各レコードのフォーマット形式を、フォーマット変換定義ファイルに基づいて特定するフォーマット特定部１２と、フォーマット形式を特定した各レコードに含まれる各項目の内容を、フォーマット変換定義ファイルに基づいて抽出する項目抽出部１３と、フォーマット変換定義ファイルに基づいて、変換対象ファイルのフォーマット形式を各項目ごとに変換するフォーマット変換処理部１４とを有する。【選択図】  図１
2005216251.tif 000002
【特許請求の範囲】
【請求項１】
フォーマット変換の法則を示すフォーマット変換定義情報を記憶する手段と、
変換対象ファイルのデータをレコード単位で読み込む手段と、
読み込んだ前記各レコードのフォーマット形式を、前記フォーマット変換定義情報に基づいて特定する手段と、
フォーマット形式を特定した前記各レコードに含まれる各項目の内容を、前記フォーマット変換定義情報に基づいて抽出する手段と、
前記フォーマット変換定義情報に基づいて、前記変換対象ファイルのフォーマット形式を前記各項目ごとに変換する手段とを有する可変長マルチフォーマット変換装置。
【請求項２】
フォーマット形式を変換した前記変換対象ファイルを、外部装置へ送信する手段をさらに有することを特徴とする請求項１記載の可変長マルチフォーマット変換装置。
【請求項３】
前記変換対象ファイルは、外部装置から受信したデータであることを特徴とする請求項１記載の可変長マルチフォーマット変換装置。
【請求項４】
前記フォーマット変換定義情報は、前記項目の区切りを表すコードと前記各項目のデータ型と前記各項目のサイズとをそれぞれ示す情報を変換前後のフォーマット形式について組にした情報であることを特徴とする請求項１から３のいずれか１項記載の可変長マルチフォーマット変換装置。
【請求項５】
フォーマット変換の法則を示すフォーマット変換定義情報を記憶装置に登録するステップと、
変換対象ファイルのデータをレコード単位で読み込むステップと、
読み込んだ前記各レコードのフォーマット形式を、前記フォーマット変換定義情報に基づいて特定するステップと、
フォーマット形式を特定した前記各レコードに含まれる各項目の内容を、前記フォーマット変換定義情報に基づいて抽出するステップと、
前記フォーマット変換定義情報に基づいて、前記各項目ごとに前記変換対象ファイルのフォーマット形式を変換するステップとを有する可変長マルチフォーマット変換方法。
【請求項６】
フォーマット形式を変換した前記変換対象ファイルを外部装置へ送信するステップを最後段にさらに有することを特徴とする請求項５記載の可変長マルチフォーマット変換方法。
【請求項７】
外部装置から前記変換対象ファイルを受信するステップを、前記変換対象ファイルのデータをレコード単位で読み込むステップよりも前段に有することを特徴とする請求項５記載の可変長マルチフォーマット変換方法。
【請求項８】
前記フォーマット変換定義情報は、前記項目の区切りを表すコードと前記各項目のデータ型と前記各項目のサイズとをそれぞれ示す情報を変換前後のフォーマット形式について組にした情報であることを特徴とする請求項５から７のいずれか１項記載の可変長マルチフォーマット変換方法。
【請求項９】
転送元の情報処理装置と転送先の情報処理装置とがネットワークを介して接続されたファイル転送システムであって、
前記転送元の情報処理装置は、
フォーマット変換の法則を示すフォーマット変換定義情報を記憶する手段と、
転送対象ファイルのデータをレコード単位で読み込む手段と、
読み込んだ前記各レコードのフォーマットを前記フォーマット変換定義情報に基づいて特定する手段と、
フォーマット形式を特定した前記各レコードに含まれる各項目の内容を、前記フォーマット変換定義情報に基づいて抽出する手段と、
前記フォーマット変換定義情報に基づいて前記各項目ごとに前記転送対象ファイルのフォーマット形式を変換する手段と、
各レコードのフォーマット形式を変換した前記転送対象ファイルを、前記転送先の情報処理装置へ送信する手段とを有することを特徴とするファイル転送システム。
【請求項１０】
転送元の情報処理装置と転送先の情報処理装置とがネットワークを介して接続されたファイル転送システムであって、
前記転送先の情報処理装置は、
フォーマット変換の法則を示すフォーマット変換定義情報を記憶する手段と、
前記転送元の情報処理装置から受信した転送対象ファイルのデータをレコード単位で読み込む手段と、
読み込んだ前記各レコードのフォーマットを前記フォーマット変換定義情報に基づいて特定する手段と、
フォーマット形式を特定した前記各レコードに含まれる各項目の内容を、前記フォーマット変換定義情報に基づいて抽出する手段と、
前記フォーマット変換定義情報に基づいて前記各項目ごとに前記転送対象ファイルのフォーマット形式を変換する手段とを有することを特徴とするファイル転送システム。
【請求項１１】
前記フォーマット変換定義情報は、前記項目の区切りを表すコードと前記各項目のデータ型と前記各項目のサイズとをそれぞれ示す情報を変換前後のフォーマット形式について組にした情報であることを特徴とする請求項９又は１０記載のファイル転送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フォーマット形式が異なる複数のレコードで構成される電子データのそれぞれのレコードのフォーマットを変換する方法及びこれを用いたファイル転送システムに関し、各レコードのレコード長が可変長であってもフォーマット形式を変換可能な可変長マルチフォーマット変換方法及びこれを用いたファイル転送システムに関する。
【背景技術】
【０００２】
従来、複数のレコードで構成される電子データは、各レコードのレコードサイズが固定長であれば、各レコードのフォーマット形式が異なっていても（すなわち、マルチフォーマットであっても）各レコードのフォーマット形式を変換した上で転送できた。
【０００３】
しかし、各レコードのレコードサイズが可変長である場合には、各レコードのフォーマット形式を変換した上で転送することはできなかった。
【０００４】
複数のレコードからなる電子データのフォーマット形式を変換する従来技術としては、特許文献１に開示される「フォーマット変換装置及び方法」及び特許文献２に開示される「データ変換装置」がある。
【特許文献１】特開２００１−１８４１９０号公報
【特許文献２】特開平１１−２９６５１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示される発明は、変換元データの各項目の桁数を指定することで、各レコードを特定してフォーマット形式を変換している。しかし、レコードサイズが可変長である場合には、各項目の桁数も変動してしまうため、これを桁数として指定することは容易ではない。
また、特許文献１に開示される発明は、フォーマット形式が異なるレコードが混在する電子データ（すなわちマルチフォーマットデータ）のフォーマット形式を変換することはできない。
【０００６】
また、特許文献２に開示される発明は、固定長データからなる変換元ファイルを読み込んで、レイアウトパラメータに基づいて可変長データからなるファイルに変換して出力するものである。しかし、特許文献２に記載の発明は、可変長項目を抽出する際に、項目ごとに任意の項目区切り文字を指定することはできない。また、ファイル内のレコードは単一のフォーマット形式でなければならず、異なるフォーマット形式のレコードが混在するマルチフォーマット形式のファイルを変換することはできない。
すなわち、上記特許文献２に記載の発明は、変換元のファイルが単一のフォーマット形式のレコードで構成されていなければフォーマット変換を行うことができない。すなわち変換元のファイルがマルチフォーマット形式のファイルである場合には、フォーマットを変換することはできなかった。
【０００７】
これら固定長マルチフォーマット変換のみのファイル転送システムでは、転送対象のファイルがレコードごとにフォーマット構成やレコード長が異なる場合には、ファイル内容の解析を行うプログラムが別途必要となる。そして、ファイルの数や情報量のよっては、個々のファイルごとに解析プログラムが必要となり、プログラムが複雑で大規模なものとなってしまう。これは、システムの運用や保守の面で管理者に大きな負担を強いることとなる。
【０００８】
このように、従来は、フォーマット形式が異なる複数のレコードで構成される電子データのそれぞれのレコードのフォーマットを変換する場合に、各レコードのレコード長が可変長であるとフォーマット形式を変換することはできなかった。
【０００９】
本発明はかかる問題に鑑みて為されたものであり、フォーマット形式が異なる複数のレコードで構成される電子データのそれぞれのレコードのフォーマットを変換する場合に、各レコードのレコード長が可変長であってもフォーマット形式を変換できる可変長マルチフォーマット変換装置及び方法並びにこれを用いたファイル転送システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明は、第１の態様として、フォーマット変換の法則を示すフォーマット変換定義情報を記憶する手段と、変換対象ファイルのデータをレコード単位で読み込む手段と、読み込んだ各レコードのフォーマット形式を、フォーマット変換定義情報に基づいて特定する手段と、フォーマット形式を特定した各レコードに含まれる各項目の内容を、フォーマット変換定義情報に基づいて抽出する手段と、フォーマット変換定義情報に基づいて、変換対象ファイルのフォーマット形式を各項目ごとに変換する手段とを有する可変長マルチフォーマット変換装置を提供するものである。
【００１１】
上記本発明の第１の態様においては、フォーマット形式を変換した変換対象ファイルを、外部装置へ送信する手段をさらに有することがより好ましい。または、変換対象ファイルは、外部装置から受信したデータであることが好ましい。
【００１２】
上記本発明の第１の態様のいずれの構成においても、フォーマット変換定義情報は、項目の区切りを表すコードと各項目のデータ型と各項目のサイズとをそれぞれ示す情報を変換前後のフォーマット形式について組にした情報であることが好ましい。
【００１３】
また、上記目的を達成するため、本発明は、第２の態様として、フォーマット変換の法則を示すフォーマット変換定義情報を記憶装置に登録するステップと、変換対象ファイルのデータをレコード単位で読み込むステップと、読み込んだ各レコードのフォーマット形式を、フォーマット変換定義情報に基づいて特定するステップと、フォーマット形式を特定した各レコードに含まれる各項目の内容を、フォーマット変換定義情報に基づいて抽出するステップと、フォーマット変換定義情報に基づいて、各項目ごとに変換対象ファイルのフォーマット形式を変換するステップとを有する可変長マルチフォーマット変換方法を提供するものである。
【００１４】
上記本発明の第２の態様においては、フォーマット形式を変換した変換対象ファイルを外部装置へ送信するステップを最後段にさらに有することがより好ましい。または、外部装置から変換対象ファイルを受信するステップを、変換対象ファイルのデータをレコード単位で読み込むステップよりも前段に有することがより好ましい。
【００１５】
上記本発明の第２の態様のいずれの構成においても、フォーマット変換定義情報は、項目の区切りを表すコードと各項目のデータ型と各項目のサイズとをそれぞれ示す情報を変換前後のフォーマット形式について組にした情報であることが好ましい。
【００１６】
また、上記目的を達成するため、本発明は、第３の態様として、転送元の情報処理装置と転送先の情報処理装置とがネットワークを介して接続されたファイル転送システムであって、転送元の情報処理装置は、フォーマット変換の法則を示すフォーマット変換定義情報を記憶する手段と、転送対象ファイルのデータをレコード単位で読み込む手段と、読み込んだ各レコードのフォーマットをフォーマット変換定義情報に基づいて特定する手段と、フォーマット形式を特定した各レコードに含まれる各項目の内容を、フォーマット変換定義情報に基づいて抽出する手段と、フォーマット変換定義情報に基づいて各項目ごとに転送対象ファイルのフォーマット形式を変換する手段と、各レコードのフォーマット形式を変換した転送対象ファイルを、転送先の情報処理装置へ送信する手段とを有することを特徴とするファイル転送システムを提供するものである。
【００１７】
また、上記目的を達成するため、本発明は、第４の態様として、転送元の情報処理装置と転送先の情報処理装置とがネットワークを介して接続されたファイル転送システムであって、転送先の情報処理装置は、フォーマット変換の法則を示すフォーマット変換定義情報を記憶する手段と、転送元の情報処理装置から受信した転送対象ファイルのデータをレコード単位で読み込む手段と、読み込んだ各レコードのフォーマットをフォーマット変換定義情報に基づいて特定する手段と、フォーマット形式を特定した各レコードに含まれる各項目の内容を、フォーマット変換定義情報に基づいて抽出する手段と、フォーマット変換定義情報に基づいて各項目ごとに転送対象ファイルのフォーマット形式を変換する手段とを有することを特徴とするファイル転送システムを提供するものである。
【００１８】
上記本発明の第３の態様又は第４の態様においては、フォーマット変換定義情報は、項目の区切りを表すコードと各項目のデータ型と各項目のサイズとをそれぞれ示す情報を変換前後のフォーマット形式について組にした情報であることが好ましい。
【発明の効果】
【００１９】
本発明によれば、フォーマット形式が異なる複数のレコードで構成される電子データのそれぞれのレコードのフォーマットを変換する場合に、各レコードのレコード長が可変長であってもフォーマット形式を変換できる可変長マルチフォーマット変換装置及び方法並びにこれを用いたファイル転送システムを提供できる。
【発明を実施するための最良の形態】
【００２０】
〔発明の原理〕
本発明にかかるマルチフォーマットファイル変換方法は、変換元データのフォーマット形式を定義する際に、フォーマットを構成する要素（本明細書中では項目とも表記する。）単位に区切りコードを定義する。
【００２１】
これにより、変換元データが可変長の項目を含むとしても、区切りコードで挟まれた部分（ただし、先頭は最初の区切りコードまでの部分。また、末尾は最後の区切りコードよりも後の部分。）を一つの項目として扱えるようになるため、変換元のデータが可変長のレコードを含むとしても、フォーマット形式を変換できる。すなわち、各項目の区切り位置を固定せず、区切りコードを用いて動的に定めることで、可変長のレコードを含むとしてもフォーマット形式を変換できる。
【００２２】
以下、本発明を好適に実施した実施の形態について図面を用いて説明する。
【００２３】
〔第１の実施形態〕
本発明を好適に実施した第１の実施形態について説明する。図１に、本実施形態にかかるファイル転送システムの構成を示す。このファイル転送システムは、可変長マルチフォーマット変換機能を備えたファイル転送システムであり、ファイルの送信元であるローカルホスト６とファイルを受信する側であるリモートホスト８とがネットワーク（通信回線）７を介して接続された構成である。
【００２４】
ローカルホスト６は、フォーマット変換部１、フォーマット変換定義ファイル格納部２、送信ファイル格納部３及び転送制御部５を有する。フォーマット変換部１は、後に詳細に説明する可変長マルチフォーマット変換方法によってファイルのフォーマットを変換する。フォーマット変換定義ファイル格納部２は、フォーマット変換部１がファイルのフォーマットを変換する際の法則を示す情報（フォーマット変換定義ファイル）を格納している。送信ファイル格納部３は、リモートホスト８へ転送しようとするファイルが格納されている。転送制御部５は、ネットワーク７を介してファイルをリモートホスト８へ送信する動作を制御する。
【００２５】
フォーマット変換部１は、ファイル読み込み部１１、フォーマット特定部１２、項目抽出部１３、フォーマット変換処理部１４及び転送要求部１５を備えており、これらを用いて可変長マルチフォーマット変換を実行する。
【００２６】
ファイル読み込み部１１は、送信ファイル格納部３に格納されているレコードを読み出して、フォーマット変換部１内に読み込む。フォーマット特定部１２は、ファイル読み込み部１１が送信ファイル格納部３から読み込んだレコードのフォーマット形式を、フォーマット変換定義ファイル格納部２から読み出したフォーマット抽出定義２１に従って特定する。項目抽出部１３は、フォーマット特定部１２が特定したフォーマット形式に基づいて、フォーマット変換部１内に読み込まれているレコードの項目を抽出する。フォーマット変換処理部１４は、フォーマット特定部１２が特定したフォーマット形式に応じた入力フォーマット定義２２と変換後のフォーマット形式に応じた出力フォーマット定義２３とをフォーマット変換定義ファイル格納部２から読み出し、これらに応じてレコードのフォーマット形式を変換する。転送要求部１５は、フォーマット変換処理部１４によってフォーマット形式が変換されたレコードの転送（換言すると、リモートホスト８への送信）を転送制御部５に要求する。
【００２７】
次に、可変長マルチフォーマット変換方法を行う際に用いるフォーマット変換定義ファイルについて説明する。
図２に示すように、フォーマット変換定義ファイルは、フォーマット抽出定義２１、入力フォーマット定義２２、出力フォーマット定義２３、入力項目定義２４及び出力項目定義２５をで構成される。フォーマット抽出定義２１は、フォーマットを特定するための抽出条件や変換規則を定義する情報である。入力フォーマット定義２２は、変換前のフォーマット形式を定義する情報である。出力フォーマット定義２３は、変換後のフォーマット形式を定義する情報である。入力項目定義２４は、入力レコードの要素である各項目を定義する情報である。出力項目定義２５は、出力レコードの要素である各項目を定義する情報である。
【００２８】
フォーマット抽出定義２１は、識別コードオフセット２１１、識別コードサイズ２１２、抽出条件２１３、入力フォーマット識別名２１４及び出力フォーマット識別名２１５で構成され、入力ファイルにおけるレコードの種類分複数個定義される。
【００２９】
識別コードオフセット２１１は、レコードのフォーマット形式を特定するためのコード（識別コード）が格納されているレコード先頭からのオフセット値である。識別コードサイズ２１２は、識別コードのサイズ（データ量）を示す。抽出条件２１３は、識別コードに対するレコード抽出条件である。入力フォーマット識別名２１４は、抽出条件２１３を満たした場合のレコードのフォーマット定義を示す。出力フォーマット識別名２１５は、フォーマット変換後のレコードのフォーマット定義を示す。
【００３０】
入力フォーマット定義２２は、フォーマット識別名２２１、文字コード識別名２２２及び項目識別名２２３で構成される。フォーマット識別名２２１は、入力レコードのフォーマットの種類を示す情報である。文字コード識別名２２２は、入力レコードのフォーマットの文字列項目の文字コードを示す情報である。項目識別名２２３は、入力レコードの要素である項目の名称を示す情報である。項目識別名２２３は、入力レコードの中での出現順に並べて定義される。
【００３１】
出力フォーマット定義２３は、入力フォーマット定義２２と同様の構成であり、出力レコードのフォーマットに関して、入力フォーマット定義２２と同様の情報を定義する。
【００３２】
入力項目定義２４及び出力項目定義２５は、フォーマットの要素である項目についての情報を定義するものである。
【００３３】
入力項目定義２４は、項目識別名２４１、項目データ型２４２、項目サイズ２４３及び項目区切りコード２４４で構成される。項目識別名２４１は、フォーマットの要素である項目に関する情報を定義する。項目識別名２４２は、項目の種類を示す名称を定義する。項目サイズ２４３は、固定長項目の場合の項目のサイズを示す。項目区切りコード２４４は、項目の区切りコードを示す。
【００３４】
出力項目定義２５は、入力項目定義２４と同様の構成であり、出力レコードに関して入力項目定義２４と同様の情報を定義する。
【００３５】
本実施形態にかかるファイル転送システムの動作について説明する。
ファイル送信側であるローカルホスト６は、送信元のファイルを送信ファイル格納部３からフォーマット変換部１に読み出し、可変長マルチフォーマット変換を行って出力レコードを生成する。この動作について、詳細に説明する。
【００３６】
ファイル読み込み部１１は、送信ファイル格納部３に格納されている転送対象のファイルのデータをレコード単位又はブロック単位でフォーマット変換部１内に読み込む。以下、ファイル読み込み部１１がフォーマット変換部１内に読み込んだデータを読み込みレコードという。
【００３７】
次に、フォーマット特定部１２は、読み込みレコードのフォーマットを特定する。図３に、フォーマット特定部１２が読み込みレコードのフォーマットを特定する処理の流れを示す。まず、変数ｉを０にリセットし（ステップＳ１０１）、この値を１インクリメントする（ステップＳ１０２）。そして、フォーマット特定部１２は、フォーマット変換定義ファイル格納部２からｉ番目（ここでは１番目）に格納されているフォーマット抽出定義２１読み出して取得する（ステップＳ１０３）。
【００３８】
フォーマット変換定義ファイル格納部２からフォーマット抽出定義２１を取得することができなかった場合には（ステップＳ１０４／Ｎｏ）、フォーマット特定部１２はフォーマットを特定できないと判断して（ステップＳ１０８）、処理を終了する。
【００３９】
フォーマット変換定義ファイル格納部２からフォーマット抽出定義２１を取得できた場合には（ステップＳ１０４／Ｙｅｓ）、フォーマット特定部１２は、取得したフォーマット抽出定義２１に含まれる識別コードオフセット２１１と識別コードサイズ２１２とに従って、読み込みレコードから識別コードを抽出する（ステップＳ１０５）。
【００４０】
図６に示す例においては、フォーマット変換定義ファイルのフォーマット抽出定義の識別コードオフセットが“１”で、識別コードサイズが“３”であるため、入力レコードの先頭から３バイトのデータが識別コードとなり、フォーマット変換部１２が抽出する識別コードは“００１”となる。
【００４１】
フォーマット変換部１２は、フォーマット抽出定義２１に含まれる抽出条件２１３を参照し、読み込みレコードから抽出した識別コードが抽出条件２１３を満たすか否かを判断する（ステップＳ１０６）。読み込みレコードから抽出した識別コードが抽出条件を満たす場合には（ステップＳ１０６／Ｙｅｓ）、フォーマット特定部１２は、読み込みレコードのフォーマットは、フォーマット抽出定義２１に含まれる入力フォーマット識別名２１４によって示される入力フォーマット定義２２であると判断する。
【００４２】
図６の例においては、フォーマット抽出定義２１の抽出条件２１３が“００１”であり、読み込みレコードから取得済みの識別コードが“００１”であるため、フォーマット特定部１２は、識別コードが抽出条件２１３を満たすと判断し、フォーマット抽出定義２１の入力フォーマット識別名“ＩＮＦＯＲＭ０１”が入力レコードのフォーマット形式であると判断する。
【００４３】
一方、読み込みレコードから抽出した識別コードが、フォーマット抽出定義２１に含まれる抽出条件２１３を満たさない場合には（ステップＳ１０６／Ｎｏ）、フォーマット特定部１２は、変数ｉを１インクリメントしてステップＳ１０３以降の処理を繰り返す。
フォーマット抽出定義２１は、フォーマット変換定義ファイル内に複数存在するため、フォーマット特定部１２は、抽出条件を満たすまで変数１を順次変化させながら上記の処理を実行する。
【００４４】
フォーマット抽出定義２１の全ての抽出条件２１３を参照しても、条件を満たすものが無かった場合（換言すると、変数ｉに対応するフォーマット抽出定義がフォーマット変換定義ファイル格納部２に存在しない場合）には（ステップＳ１０４／Ｎｏ、Ｓ１０８）、フォーマット形式を特定できないと判断して処理を終了する。
【００４５】
次に、項目抽出部１３は、読み込みレコードから項目を抽出する。図４に、項目抽出部１３の動作の流れを示す。
まず、項目抽出部１３は、変数ｊを０にリセットし（ステップＳ２０１）、その値を１インクリメントする（ステップＳ２０２）。そして、項目抽出部１３は、フォーマット特定部１２によって決定された入力フォーマット定義２２内に定義されているｊ番目（ここでは、１番目）の項目識別名２２３に対応する入力項目定義２４を取得する（ステップＳ２０３）。
【００４６】
図６の例においては、フォーマット識別名“ＩＮＦＯＲＭ０１”の先頭の項目識別名である“ＩＴＥＭ０１”を取得する。
【００４７】
項目抽出部１３は、入力フォーマット定義２２から入力項目定義２４を取得すると（ステップＳ２０４／Ｙｅｓ）、取得した入力項目定義２４に項目サイズ２４３が設定されているか否かを確認する（ステップＳ２０５）。
【００４８】
取得した入力項目定義２４に項目サイズ２４３が設定されていない場合（ステップＳ２０５／Ｎｏ）、項目抽出部１３は、入力項目定義２４内の項目区切りコード２４４によって定義されたコードを読み込みレコードから検索する。
この検索に成功した場合（ステップＳ２０７／Ｙｅｓ）、項目抽出部１３は、項目区切りコード２４４の直前までを一つの項目として抽出する（ステップＳ２０８）。
一方、検索に失敗した場合（ステップＳ２０７／Ｎｏ）、項目抽出部１３は、読み込みレコードから項目を抽出できないと判断し（ステップＳ２０９）、処理を終了する。
【００４９】
図６の例においては、入力項目定義“ＩＴＥＭ０２”の項目区切りコードが０ｘＦＦと定義されているため、０ｘＦＦまでのデータを項目として抽出し、“ＡＡＡＡ・・・（可変長データ）”が項目として抽出される。
【００５０】
また、取得した入力項目定義２４に項目サイズ２４３が設定されている場合（ステップＳ２０５／Ｙｅｓ）、読み込みレコードの先頭の項目を固定長の項目として項目サイズ２４３によって指定されたサイズまでを一つの項目として抽出する（ステップＳ２０６）。
【００５１】
図６の例においては、入力項目定義“ＩＴＥＭ０１”の項目サイズが“３”と定義されているため、“００１”が固定長の項目として抽出される。
【００５２】
その後、上記同様にして入力フォーマット２２内に定義されている全ての項目識別名２２３について項目の抽出を繰り返し実施する。全ての項目識別名２２３について処理を終えると（換言すると、ｊ番目の入力項目定義２４のを取得できなかった場合）（ステップＳ２０４／Ｎｏ）、処理を終了する。
【００５３】
項目抽出部１３が上記の処理を行うことにより、読み込みレコードからフォーマット形式に従って全ての項目を抽出できる。
【００５４】
次に、フォーマット変換処理部１４が読み込みレコードのフォーマット変換を実施する。図５に、フォーマット変換処理部１４の動作の流れを示す。
【００５５】
まず、フォーマット変換処理部１４は、変数ｋを０にリセットし（ステップＳ３０１）、その値を１インクリメントする（ステップＳ３０２）。そして、フォーマット変換処理部１４は、フォーマット特定部１２が特定したフォーマット抽出定義２１に含まれる出力フォーマット識別名２１５が示す出力フォーマット定義２３内に定義されているｋ番目（ここでは１番目）項目識別名２３４に対応する出力項目定義２５を取得する（ステップＳ３０３）。
【００５６】
出力項目定義２５の取得に成功すると（ステップＳ３０４／Ｙｅｓ）、フォーマット変換処理部１４は、取得した出力項目定義２５の項目識別名で、入力フォーマット定義２１内の項目識別名を検索する（ステップＳ３０５）。
【００５７】
検索に成功した場合（ステップＳ３０６／Ｙｅｓ）、フォーマット変換処理部１４は、検索によって得た項目識別名が示す入力項目定義を入力レコードの入力項目定義とし、入力レコードから入力項目を抽出する（ステップＳ３０７）。
一方、検索に失敗した場合（ステップＳ３０６／Ｎｏ）、フォーマット変換処理部１４は、変換定義不正（変換定義に誤りがある）とする（ステップＳ３０９）。
【００５８】
フォーマット変換処理部１４は、抽出した入力項目について、ステップＳ３０３において取得済みの出力項目定義に定義されている項目データ型に変換し、出力項目を生成する（ステップＳ３０８）。
【００５９】
図６の例では、出力フォーマット定義“ＯＵＴＦＯＲＭ０１”の先頭の項目が“ＩＴＥＭ０１”なので、対応する入力レコードの項目データは“００１”となる。そして、入力項目定義“ＩＴＥＭ０１”の項目データ型が“ＣＨＡＲ型”で出力項目定義“ＩＴＥＭ０１”の項目データ型“ＩＮＴ型”であるので、入力データ“００１”をＣＨＡＲ型からＩＮＴ型に型変換し、出力項目は０ｘ０００００００１となる。
また、出力フォーマット定義“ＯＵＴＦＯＲＭ０１”の２番目の項目識別名は“ＩＴＥＭ０３”であるから、対応する入力レコードの項目データは“ＢＢＢＢ・・・・（可変長データ）”となる。
さらに、入力フォーマット定義、出力フォーマット定義の項目“ＩＴＥＭ０３”はともに項目データ型がＣＨＡＲ型であり、入力フォーマット定義“ＩＮＦＯＲＯＭ０１”の文字コード種別は“ＳＪＩＳ”、出力フォーマット定義“ＯＵＴＦＯＲＭ０１”の文字コード種別は“ＪＩＰＳＥ”であるから、項目“ＩＴＥＭ０３”については、文字コードをＳＪＩＳからＪＩＰＳＥに変換して出力項目とする。
【００６０】
その後、上記同様に、出力フォーマット定義２３内に定義されている全ての項目識別名について出力項目の生成を繰り返し実行する。これにより、入力データの１レコード分のデータをフォーマット変換して出力レコードを生成できる。
【００６１】
フォーマット変換処理部１４によって出力レコードが生成されると、転送要求部１５は、生成された出力レコードのレコード単位での転送を転送制御部５に対して要求する。
【００６２】
転送要求部１５からの要求を受けた転送制御部５は、通信回線７を介して出力レコードをリモートホスト８へ送信する。リモートホスト８の転送制御部９は、通信回線７を介して受信した出力レコードを受信ファイル格納部４に書き込んで保存する。
【００６３】
転送要求部１５は、フォーマット変換処理部１４が生成する出力レコードの転送を順次転送制御部５に要求する。
【００６４】
ファイル読み出し部１１、フォーマット特定部１２、項目抽出部１３、フォーマット変換部１４及び転送要求部１５が、上記の動作を繰り返し行うことにより、図７に示すように可変長マルチフォーマットファイルのフォーマット形式を変換し、フォーマット形式を変換したファイルをリモートホスト８へ転送する。
【００６５】
このように、本実施形態にかかるファイル転送システムは、可変長マルチフォーマットファイルのフォーマット形式を変換し、フォーマット形式を変換したファイルを転送できる。
【００６６】
〔第２の実施形態〕
本発明を好適に実施した第２の実施形態について説明する。図８に、本実施形態にかかるファイル転送システムの構成を示す。このファイル転送システムは、第１の実施形態と同様にローカルホスト６とリモートホスト８とがネットワーク７を介して接続された構成である。
【００６７】
本実施形態において、ローカルホスト６は、送信ファイル格納部３、ファイル読み込み部３１、転送要求部３２及び転送制御部５を有する。
送信ファイル格納部３及び転送制御部５は、第１の実施形態のものと同様である。ファイル読み出し部３１は、送信ファイル格納部３に格納されているレコードを読み出す。転送要求部２２は、ファイル読み出し部３１によって送信ファイル格納部３から読み出されたファイルの転送（換言すると、リモートホスト８への送信）を転送制御部５に要求する。
【００６８】
また、本実施形態において、リモートホスト８は、フォーマット変換部１、フォーマット変換定義ファイル格納部２、受信ファイル格納部４及び転送制御部９をさらに有する。
【００６９】
フォーマット変換部１は、フォーマット特定部１２、項目抽出部１３及びフォーマット変換処理部１４を備えており、これらを用いて可変長マルチフォーマット変換を実行する。
【００７０】
フォーマット特定部１２は、転送制御部９から入力されたレコードのフォーマット形式を、フォーマット変換定義ファイル格納部２から読み出したフォーマット抽出定義２１に従って特定する。項目抽出部１３は、フォーマット特定部１２が特定したフォーマット形式に基づいて、フォーマット変換部１内に読み込まれているレコードの項目を抽出する。フォーマット変換処理部１４は、フォーマット特定部１２が特定したフォーマット形式に応じた入力フォーマット定義２２と変換後のフォーマット形式に応じた出力フォーマット定義２３とをフォーマット変換定義ファイル格納部２から読み出し、これらに応じてレコードのフォーマット形式を変換する。
【００７１】
フォーマット変換定義ファイル格納部２、受信ファイル格納部４及び転送制御部９は、第１の実施形態と同様である。また、可変長マルチフォーマット変換方法を行う際に用いるフォーマット変換定義ファイルについても第１の実施形態と同様である。
【００７２】
本実施形態にかかるファイル転送システムの動作について説明する。
ファイル送信側であるローカルホスト６では、送信元のファイルをファイル読み出し部３１がレコード単位で順次送信ファイル格納部３から読み出し、これを転送要求部２２に受け渡す。転送制御部５は、転送要求部２２からの要求に応じてネットワーク７を介してリモートホスト８へと送信する。
【００７３】
リモートホスト８の転送制御部９は、ローカルホスト６から送信されて来たレコードをフォーマット変換部１へと受け渡す。
【００７４】
次に、フォーマット特定部１２は、読み込みレコードのフォーマットを特定する。この動作は第１の実施形態にかかるファイル転送システムがローカルホスト側で行う処理と同様であるため、説明は省略する。
【００７５】
次に、項目抽出部１３は、読み込みレコードから項目を抽出する。この動作についても、上記第１の実施形態にかかるファイル転送システムがローカルホスト側で行う処理と同様であるため、説明は省略する。
【００７６】
次に、フォーマット変換処理部１４が読み込みレコードのフォーマット変換を実施する。この動作についても、上記第１の実施形態にかかるファイル転送システムがローカルホスト側で行う処理と同様であるため、説明は省略する。
フォーマット変換処理部１４は、フォーマット変化を終えたレコードを順次受信ファイル格納部４へと格納する。
このようにすることでも、可変長マルチフォーマットファイルのフォーマット形式を変換し、フォーマット形式を変換したファイルをリモートホスト８へ転送することが可能である。
【００７７】
なお、上記各実施形態は、本発明の好適な実施の一例であって、本発明はこれらに限定されることはない。
例えば、図示したフォーマット変換定義ファイルはあくまでも一例であり、本発明をこれに限定するものではない。
このように、本発明は様々な変形が可能である。
【図面の簡単な説明】
【００７８】
【図１】本発明を好適に実施した第１の実施形態にかかるファイル転送システムの構成を示す図である。
【図２】フォーマット変換定義ファイルの構成を示す図である。
【図３】変換対象のファイルのフォーマットを特定する処理の流れを示す図である。
【図４】変換対象ファイルの項目を抽出する処理の流れを示す図である。
【図５】変換対象ファイルのフォーマットを変換する処理の流れを示す図である。
【図６】フォーマット変換定義ファイルの構成例を示す図である。
【図７】フォーマット変換の一例を示す図である。
【図８】本発明を好適に実施した第２の実施形態にかかるファイル転送システムの構成を示す図である。
【符号の説明】
【００７９】
１    フォーマット変換部
２    フォーマット変換定義ファイル格納部
３    送信ファイル格納部
４    受信ファイル格納部
５、９    転送制御部
６    ローカルホスト
７    ネットワーク
８    リモートホスト
１１    ファイル読み込み部
１２    フォーマット特定部
１３    項目抽出部
１４    フォーマット変換処理部
１５、３２    転送要求部
３１    ファイル読み出し部
２１    フォーマット抽出定義
２２    入力フォーマット定義
２３    出力フォーマット定義
２４    入力項目定義
２５    出力項目定義
２１１    識別コードオフセット
２１２    識別コードサイズ
２１３    抽出条件
２１４    入力フォーマット識別名
２１５    出力フォーマット識別名
２２１、２３１    フォーマット識別名
２２２、２３２    文字コード種別
２２３、２３３、２４１、２５１    項目識別名
２４２、２５２    項目データ型
２４３、２５３    項目サイズ
２４４、２５４    項目区切りコード
【図１】
2005216251.tif 000003
【図２】
2005216251.tif 000004
【図３】
2005216251.tif 000005
【図４】
2005216251.tif 000006
【図５】
2005216251.tif 000007
【図６】
2005216251.tif 000008
【図７】
2005216251.tif 000009
【図８】
2005216251.tif 000010