(57)【要約】【課題】ＣＳＶデータのコンピュータシステム間のデータ連携を行うこと。【解決手段】一方のコンピュータシステムから他方のコンピュータシステムへの取込ＣＳＶデータのレイアウト及びデータ構造の変換情報を連携種別ごとにｏｕｔｐｕｔタグ及びｉｎｐｕｔタグを定義情報として定義したデータ変換定義ｘｍｌファイル１３と、該データ変換定義ｘｍｌファイル１３から変換後の取込ＣＳＶデータのレイアウト及びデータ構造の変換情報を連携対象種別ごとのｏｕｔｐｕｔタグ及びｉｎｐｕｔタグを取得し、該取得したｏｕｔｐｕｔタグ及びｉｎｐｕｔタグの定義情報に基づいて出力ＣＳＶデータを取込ＣＳＶデータに変換する出力するデータ変換プログラム１０を備えたＣＳＶデータ変換システム。【選択図】図１
2017016497.tif 000002
【特許請求の範囲】
【請求項１】
一方のコンピュータシステムから出力された変換前ＣＳＶ出力データを、他方のコンピュータシステムへ連携を行なう変換後の取込ＣＳＶデータに変換するＣＳＶデータ変換システムであって、
一方のコンピュータシステムから他方のコンピュータシステムへの取込ＣＳＶデータのレイアウト及びデータ構造の変換情報を連携種別ごとにｏｕｔｐｕｔタグ及びｉｎｐｕｔタグを定義情報として定義したデータ変換定義ｘｍｌファイルと、
該データ変換定義ｘｍｌファイルから取込ＣＳＶデータのレイアウト及びデータ構造の変換情報を連携対象種別ごとのｏｕｔｐｕｔタグ及びｉｎｐｕｔタグを取得し、該取得したｏｕｔｐｕｔタグ及びｉｎｐｕｔタグの定義情報に基づいて出力ＣＳＶデータを取込ＣＳＶデータに変換して出力するデータ変換プログラムとを備えたことを特徴とするＣＳＶデータ変換システム。
【請求項２】
前記ｏｕｔｐｕｔタグが、要素名と該要素の属性と該属性の意味の各構成情報を含み、前記ｉｎｐｕｔタグが、要素名と属性と意味の各構成情報を含むことを特徴とする請求項１記載のＣＳＶデータ変換システム。
【請求項３】
コンピュータが、一方のコンピュータシステムから他方のコンピュータシステムへの取込ＣＳＶデータのレイアウト及びデータ構造の変換情報を連携種別ごとにｏｕｔｐｕｔタグ及びｉｎｐｕｔタグを定義情報として定義したデータ変換定義ｘｍｌファイルを参照し、一方のコンピュータシステムから出力された変換前のＣＳＶ出力データを、他方のコンピュータシステムへ連携を行なう変換後の取込ＣＳＶデータに変換するＣＳＶデータ変換プログラムであって、
前記コンピュータに、
前記データ変換定義ｘｍｌファイルから変換後の取込ＣＳＶデータのレイアウト及びデータ構造の変換情報を連携対象種別ごとのｏｕｔｐｕｔタグ及びｉｎｐｕｔタグを取得する機能と、該工程により取得したｏｕｔｐｕｔタグ及びｉｎｐｕｔタグの定義情報に基づいて出力ＣＳＶデータを取込ＣＳＶデータに変換して出力する機能を実現させることを特徴とするＣＳＶデータ変換プログラム。
【請求項４】
前記ｏｕｔｐｕｔタグが、要素名と該要素の属性と該属性の意味の各構成情報を含み、前記ｉｎｐｕｔタグが、要素名と属性と意味の各構成情報を含むことを特徴とする請求項３記載のＣＳＶデータ変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム間の連携が複数存在する場合に容易にシステム間のデータ連携を行うことができるＣＳＶデータ変換システム及びＣＳＶデータ変換プログラムに関する。
【背景技術】
【０００２】
一般に、自社と他社間のコンピュータシステムにおけるＣＳＶデータによるシステム間連携を行なう場合、他社が出力したＣＳＶファイルレイアウトと自社が標準で実装しているＣＳＶデータ取込機能のＣＳＶファイルレイアウトが相違するため、他社のＣＳＶファイルレイアウトに従って自社のＣＳＶデータ取込機能の改修を行う必要がある。
【０００３】
このシステム間の連携を行なうデータ変換技術が記載された文献としては、下記の特許文献が挙げられる。この特許文献には、「（１）複数のｘｌｓファイルが格納されている格納元フォルダとｃｓｖファイルを格納するための格納先フォルダとを指定させ、（２）指定された格納元フォルダから、ｘｌｓファイルを順に読み取り、読み取ったｘｌｓファイルを構成しているシートから、ｘｍｌファイルに記述されている各々のセルＩＤで特定されるセルのデータを取得し、（３）取得したデータとｘｍｌファイルに記述されている区切り文字とをｃｓｖファイルに出力することで、当該データを含むｃｓｖファイルを生成」という記載がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２４８６１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前述の特許文献１に記載された技術は、複数のｘｌｓファイルから、各々のｘｌｓファイルを構成しているシート上の１つ又は複数の特定のセルのデータを含むｃｓｖファイルを出力することができる効果に留まる。
【０００６】
そこで、本発明では、連携種別ごとにＣＳＶファイルのレイアウトの違いを意識したデータ変換プログラムを用意することなく、システム間のデータ連携を行うことができるＣＳＶデータ変換システム及びＣＳＶデータ変換プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
前記目的を達成するため本発明は、一方のコンピュータシステムから出力された変換前ＣＳＶ出力データを、他方のコンピュータシステムへ連携を行なう変換後の取込ＣＳＶデータに変換するＣＳＶデータ変換システムであって、
一方のコンピュータシステムから他方のコンピュータシステムへの取込ＣＳＶデータのレイアウト及びデータ構造の変換情報を連携種別ごとにｏｕｔｐｕｔタグ及びｉｎｐｕｔタグを定義情報として定義したデータ変換定義ｘｍｌファイルと、
該データ変換定義ｘｍｌファイルから取込ＣＳＶデータのレイアウト及びデータ構造の変換情報を連携対象種別ごとのｏｕｔｐｕｔタグ及びｉｎｐｕｔタグを取得し、該取得したｏｕｔｐｕｔタグ及びｉｎｐｕｔタグの定義情報に基づいて出力ＣＳＶデータを取込ＣＳＶデータに変換して出力するデータ変換プログラムとを備えたことを特徴とする。
【０００８】
また、本発明は、コンピュータが、一方のコンピュータシステムから他方のコンピュータシステムへの取込ＣＳＶデータのレイアウト及びデータ構造の変換情報を連携種別ごとにｏｕｔｐｕｔタグ及びｉｎｐｕｔタグを定義情報として定義したデータ変換定義ｘｍｌファイルを参照し、一方のコンピュータシステムから出力された変換前のＣＳＶ出力データを、他方のコンピュータシステムへ連携を行なう変換後の取込ＣＳＶデータに変換するＣＳＶデータ変換プログラムであって、
前記コンピュータに、
前記データ変換定義ｘｍｌファイルから変換後の取込ＣＳＶデータのレイアウト及びデータ構造の変換情報を連携対象種別ごとのｏｕｔｐｕｔタグ及びｉｎｐｕｔタグを取得する機能と、該工程により取得したｏｕｔｐｕｔタグ及びｉｎｐｕｔタグの定義情報に基づいて出力ＣＳＶデータを取込ＣＳＶデータに変換して出力する機能を実現させることを特徴とする。
【発明の効果】
【０００９】
本発明によるＣＳＶデータ変換システム及びＣＳＶデータ変換プログラムは、連携種別ごとにＣＳＶファイルのレイアウトの違いを意識したデータ変換プログラムを用意することなく、システム間のデータ連携を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態によるＣＳＶデータ変換システムの基本的構成を示す図。
【図２】本実施形態によるＣＳＶデータ変換処理フローを示す図。
【図３】本実施形態による変換後ＣＳＶデータのタイトル行の出力処理フローを示す図。
【図４】本実施形態による変換後ＣＳＶデータのデータ行の出力処理フローを示す図。
【図５】本実施形態による変換後ＣＳＶデータのファイル名出力処理フローを示す図。
【図６】本実施形態による変換前ＣＳＶデータの内容を示す図。
【図７】本実施形態による変換後ＣＳＶデータの内容を示す図。
【図８】本実施形態によるデータ変換定義ｘｍｌファイルの内容を示す図。
【図９】本実施形態によるデータ変換定義ｘｍｌファイルの構成要素を示す図。
【発明を実施するための形態】
【００１１】
以下、本発明による実施例を説明する。
【実施例１】
【００１２】
［構成］
本実施例によるＣＳＶ（Ｃｏｍｍａ−Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅｓ）データ変換プログラムを採用したＣＳＶデータ変換システムは、図１に示す如く、自社コンピュータシステムへ連携を行なうＡ社コンピュータシステム及びＢ社コンピュータシステムから出力されたＣＳＶファイルである変換前の出力ＣＳＶデータ１１を、自社コンピュータシステムへ連携を行なうＣＳＶファイルである変換後の取込ＣＳＶデータ１２に変換するものであって、次の要素により構成される。
【００１３】
（１）Ａ社コンピュータシステム及びＢ社コンピュータシステムへ変換後の取込ＣＳＶデータ１２のレイアウト及びデータ構造の変換情報を連携種別ごとに定義するデータ変換定義ｘｍｌ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイル１３。
【００１４】
（２）該データ変換定義ｘｍｌファイル１３から取込ＣＳＶデータのレイアウト及びデータ構造の変換情報を連携対象種別ごとに取得し、該取得した定義情報に基づいて変換前の出力ＣＳＶデータ１１を取込ＣＳＶデータ１２に変換して出力するデータ変換プログラム１０。
【００１５】
本実施形態によるデータ変換定義ｘｍｌファイル１３は、図８に示す如き多数のタグによって構成され、このタグの構成要素は、図９に示す如きｏｕｔｐｕｔタグ及びｉｎｐｕｔタグから成る。
【００１６】
前記ｏｕｔｐｕｔタグは、要素名と該要素の属性と該属性の意味の各構成情報から構成され、例としては、要素名が「ｕｏｔｐｕｔＦｉｌｅ」、属性が「ｎａｍｅ」「ｉｔｅｒｍＣｏｕｎｔ」、意味が「変換後出力ＣＳＶファイルの名称」「変換後取込ＣＳＶファイル（データ）のデータベース項目数」が挙げられる。
【００１７】
前記ｉｎｐｕｔタグは、要素名と属性と意味の各構成情報から構成される。要素名としては、例えばｉｎｐｕｔＦｉｌｅ、ｉｔｅｍ、ｖａｌｕｅ、ｉｎｄｅｘ、ｍｅｔｈｅｄが挙げられ、属性としては、例えば、ｎａｍｅ、ｔｙｐｅ、ｃｏｍｍｅｎｔ、ｉｎＮｏ、ｏｕｔＮｏ、ｐａｒａｍｅｔｅｒが挙げられ、意味は図示の通りである。
【００１８】
［動作］
このように構成されたＣＳＶデータ変換システムは、データ変換プログラム１０が次に述べる各ステップを実行することによって、例えば、図６に示す変換前の出力ＣＳＶデータ１１を図７に示す変換後の取込ＣＳＶデータ１２に変換することができる。
【００１９】
［全体動作］
ステップＳ２０１：連携用データ変換定義ｘｍｌファイルを開くステップ。
ステップＳ２０３：該ステップ２０１により開いた「ｉｎｐｕｔタグ−ｉｎｐｕｔＦｉｌｅ要素−ｎａｍｅ属性」が同一の「他社出力ＣＳＶファイル（データ）名称」を検索するステップ。
【００２０】
ステップＳ２０５：該ステップＳ２０３において該当するファイル名称が存在するか否かを判定し、存在しないと判定したとき、処理を終了するステップ。
ステップＳ２０７：該ステップＳ２０３において該当するファイル名称が存在すると判定したとき、変換後の取込ＣＳＶデータの１行目にタイトル（項目名）として出力するステップ（ＣＳＶ項目名ヘッダー出力処理）。
【００２１】
ステップＳ２０９：ＣＳＶデータの変換処理を行い、取込ＣＳＶデータの２行目以降として出力するステップ（ＣＳＶデータ変換処理）。
ステップＳ２１１：変換後の取込ＣＳＶファイル（データ）のファイル名を設定するステップ（ＣＳＶファイル名称出力処理）。
【００２２】
［ＣＳＶ項目名ヘッダー出力処理］
項目名を取込ＣＳＶデータの１行目に出力するＣＳＶ項目名ヘッダー出力処理（ステップＳ２０７）の詳細は、図３に示す次の各ステップを実行する。
【００２３】
ステップＳ３０１：変数ｎの初期値に１を設定し、メモリｔｉｔｌｅ＿ｗｋに「””」を代入するステップ。
ステップＳ３０３：「ｉｎｐｕｔタグ−ｉｎｄｅｘ要素−ｏｕｔＮｏ属性」＝ｎのデータを検索するステップ。
【００２４】
ステップＳ３０５：前記ステップＳ３０３での検索の結果、該当データが存在するか否かを判定するステップ。
ステップＳ３０７：該ステップＳ３０５において該当データが存在すると判定したとき、該当ｏｕｔＮｏ値の「ｉｎｐｕｔタグ−ｉｔｅｍ要素−ｔｉｔｌｅ属性」の値をメモリから取得するステップ。
【００２５】
ステップＳ３０９：メモリから取得したｔｉｔｌｅ＿ｗｋの値に、「”，”」文字とステップＳ３０７で取得したｔｉｔｌｅ属性値を連結し、メモリｔｉｔｌｅ＿ｗｋにセットするステップ。
ステップＳ３１１：変数ｎに１を加算して、変数ｎにセットし、前記ステップＳ３０３に戻るステップ。
【００２６】
ステップＳ３１３：前記ステップＳ３０５において該当データが存在しないと判定したとき、メモリに格納したｔｉｔｌｅ＿ｗｋの先頭の文字列「”，”」を除去するステップ。
ステップＳ３１５：メモリに格納したｔｉｔｌｅ＿ｗｋの値を取込ＣＳＶデータの１行目に出力するステップ。
【００２７】
［ＣＳＶデータ変換処理］
前記変換後の取込ＣＳＶデータの２行目以降に出力するステップＳ２０９の詳細は、図４に示す次の各ステップを実行する。
【００２８】
ステップＳ４０１：変数ｎの初期値に１を、変数ｍの初期値に２を設定し、メモリｄａｔａ＿ｗｋに「””」を代入するステップ。
ステップＳ４０３：変換前ＣＳＶ出力ファイル内にｍ行目のデータが存在するか否かを判定し、ｍ行目のデータが存在しないと判定したとき、同処理を終了するステップ。
【００２９】
ステップＳ４０５：該ステップＳ４０３においてｍ行目のデータが存在すると判定したとき、「ｉｎｐｕｔタグ−ｉｎｄｅｘ要素−ｏｕｔＮｏ属性」＝ｎのデータを検索するステップ。
ステップＳ４０７：該ステップＳ４０５において検索した結果、該当データが存在するか否かを判定し、該当データが存在しないと判定したとき、後述するステップＳ４３３に移行するステップ。
【００３０】
ステップＳ４０９：該ステップＳ４０５において検索した結果、該当データが存在すると判定したとき、該当ｏｕｔＮｏ値の「ｉｎｐｕｔタグ−ｉｔｅｍ要素−ｔｙｐｅ属性」の値を取得するステップ。
ステップＳ４１１：該ステップＳ４０９で取得したｔｙｐｅ属性値が”ｃｏｎｓｔａｎｔ”か否かを判定するステップ。
【００３１】
ステップＳ４１３：該ステップＳ４１１において取得したｔｙｐｅ属性値が”ｃｏｎｓｔａｎｔ”である判定したとき、メモリから取得したｄａｔａ＿ｗｋの値に、「”，”」文字と該当ｏｕｔＮｏ値の「ｉｎｐｕｔタグ−ｖａｌｕｅ要素」の値を連結し、メモリｄａｔａ＿ｗｋにセットするステップ。
【００３２】
ステップＳ４１５：前記ステップＳ４１１において取得したｔｙｐｅ属性値が”ｃｏｎｓｔａｎｔ”でないと判定したとき、ｔｙｐｅ属性値が”ｎｏｎｅ”か否かを判定するステップ。
【００３３】
ステップＳ４１７：該ステップＳ４１５においてｔｙｐｅ属性値が”ｎｏｎｅ”である（一致する）と判定したとき、メモリから取得したｄａｔａ＿ｗｋの値に、「”，，”」文字を連結し、メモリｄａｔａ＿ｗｋにセットするステップ。
【００３４】
ステップＳ４１９：該ステップＳ４１７に続き、変換前ＣＳＶ出力ファイル内ｍ行目の「ｉｎｐｕｔタグ−ｉｎｄｅｘ要素−ｉｎＮｏ属性」番目の値を取得するステップ。
ステップＳ４２１：該ステップＳ４１９に続き、ステップＳ４０９で取得したｔｙｐｅ属性値が”ｍｅｔｈｏｄ”か否かを判定するステップ。
【００３５】
ステップＳ４２３：該ステップＳ４２１において取得したｔｙｐｅ属性値が”ｍｅｔｈｏｄ”である（一致する）と判定したとき、該当ｏｕｔＮｏ値の「ｉｎｐｕｔタグ−ｍｅｔｈｏｄ要素」に定義したメソッドに、ステップＳ４１９で取得した値「ｉｎｐｕｔタグ−ｍｅｔｈｏｄ要素−ｐａｒａｍｅｔｅｒ属性」の値を引数として渡し、戻り値を取得するステップ。
【００３６】
ステップＳ４２５：該ステップＳ４２３に続き、メモリから取得したｄａｔａ＿ｗｋの値に、「”，”」文字とステップＳ４２３で取得したメソッドの戻り値を連結し、メモリｄａｔａ＿ｗｋにセットするステップ。
【００３７】
ステップＳ４２７：前記ステップＳ４２１において取得したｔｙｐｅ属性値が”ｍｅｔｈｏｄ”でない（一致しない）と判定したとき、ステップＳ４０９で取得したｔｙｐｅ属性値が”ｍａｐｐｉｎｇ”か否かを判定するステップ。
【００３８】
ステップＳ４２９：該ステップＳ４２７において取得したｔｙｐｅ属性値が”ｍａｐｐｉｎｇ”であると判定したとき、メモリから取得したｄａｔａ＿ｗｋの値に「”，”」文字とステップＳ４１９で取得した値を連結し、メモリｄａｔａ＿ｗｋにセットするステップ。
【００３９】
ステップＳ４３１：前記ステップＳ４２７において取得したｔｙｐｅ属性値が”ｍａｐｐｉｎｇ”でないと判定したとき及び該ステップＳ４１９に続き、変数ｎに１を加算して、変数ｎにセットし、前記ステップＳ４０５に戻るステップ。
【００４０】
ステップＳ４３３：前記ステップＳ４０７において検索により該当データが存在すると判定したとき、メモリｄａｔａ＿ｗｋの先頭の文字列「”，”」を除去するステップ。
ステップＳ４３５：該ステップＳ４３３においてメモリｄａｔａ＿ｗｋの値を変換後の取込ＣＳＶデータのｍ行目に出力するステップ。
【００４１】
ステップＳ４３７：該ステップＳ４３５において変数ｍに１を加算して、変数ｍにセットし、前記ステップＳ４３１に移行するステップ。
【００４２】
［ＣＳＶファイル名称出力処理］
前記変換後の取込ＣＳＶデータのファイル名を設定するステップＳ２１１の詳細は、図５に示す次の各ステップを実行する。
【００４３】
ステップＳ５０１：「ｏｕｔｐｕｔタグ−ｏｕｔｐｕｔＦｉｌｅ要素−ｎａｍｅ属性」の値を取得するステップ。
ステップＳ５０３：該ステップＳ５０１で取得したｎａｍｅ属性の値を変換後の取込ＣＳＶデータの名称として出力し、処理を終了するステップ。
【００４４】
このように本実施例によるＣＳＶデータ変換システムは、「ｉｎｐｕｔタグ−ｉｎｐｕｔＦｉｌｅ要素−ｎａｍｅ属性」と一致する「他社出力ＣＳＶファイル名称」が存在するとき、取込ＣＳＶデータの１行目に出力するＣＳＶ項目名ヘッダー出力処理を実行する工程と、該取込ＣＳＶデータの２行目以降に出力するＣＳＶデータ変換処理を実行する工程と、変換後の取込ＣＳＶデータのファイル名を設定するＣＳＶファイル名称出力処理を実行する工程を実行することによって、そのシステム間連携が複数存在する場合、連携種別ごとにＣＳＶファイルのレイアウトの違いを意識したデータ変換プログラムを用意することなく、ＣＳＶファイルのレイアウト及びデータ構造の変換情報を定義したデータ変換定義ｘｍｌファイルを連携種別ごとに用いてシステム間のデータ連携を容易に行うことができる。
【符号の説明】
【００４５】
１０  データ変換プログラム、１１  出力ＣＳＶデータ、
１２  取込ＣＳＶデータ、１３  連携用データ変換定義ｘｍｌファイル
【図１】
2017016497.tif 000003
【図２】
2017016497.tif 000004
【図３】
2017016497.tif 000005
【図４】
2017016497.tif 000006
【図５】
2017016497.tif 000007
【図６】
2017016497.tif 000008
【図７】
2017016497.tif 000009
【図８】
2017016497.tif 000010
【図９】
2017016497.tif 000011