(57)【要約】      （修正有）【課題】柔軟性に優れた汎用的な処理を前提としながらも、高速なデータ変換処理を実現する。【解決手段】入力データ記憶部38から所定件数分のレコードを抽出し、変換ルールに従い第１のメモリファイル46に格納された該当データ項目の各データに対し必要な処理を同時に実行し、第２のメモリファイル48に格納する処理、変換ルールにおいてデータベースから関連データを取得することが規定されている場合に、変換ルールを編集して各参照元データに対応した結果データの一括送信を要求するSQL文を自動生成する処理、第１のメモリファイル46に格納された必要データを所定件数分抽出して一括SQL発行テーブル50に参照元データとして書き出す処理、編集後SQL文をデータベースサーバ52に送信し各結果データと各参照元データとを比較して整合化させるデータ変換システム30。【選択図】        図２
2006277642.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力データが格納された記憶手段から予め設定された件数分のレコードを抽出し、第１のメモリファイルに格納する手段と、
入力データに対する変換ルールを出力データのデータ項目単位で格納しておく変換ルール記憶手段と、
この変換ルールに従い、第１のメモリファイルに格納された該当データ項目の各データに対し必要な処理を同時に実行し、第２のメモリファイルの該当箇所に一括して格納する手段と、
上記変換ルールにおいて特定のデータ項目のデータに基づいてデータベースから関連データを取得することが規定されている場合に、当該変換ルールを編集し、一括SQL発行テーブルに格納された各参照元データに対応した結果データの一括送信を要求するSQL文を自動生成する手段と、
第１のメモリファイルに格納された該当データ項目に係る全データを抽出し、参照元データとして一括SQL発行テーブルに書き出す手段と、
上記の編集後SQL文を該当のデータベースに送信し、対応する結果データの送信を要求する手段と、
データベースから送信された各結果データと各参照元データとを比較し、参照元データと結果データとが一対一で対応する場合には当該結果データを第２のメモリファイルの該当箇所に格納し、参照元データに対する結果データが複数存在する場合には所定のルールに従って選択された一の結果データのみを第２のメモリファイルの該当箇所に格納し、参照元データに対する結果データが存在しない場合にはデータの欠落を示すコードを第２のメモリファイルの該当箇所に記述する手段と、
第２のメモリファイルに必要なデータが揃った時点で、各データを出力データ記憶手段に移動させる手段とを備えたことを特徴とするデータ変換システム。
【請求項２】
コンピュータを、
複数の入力データが格納された記憶手段から予め設定された件数分のレコードを抽出し、第１のメモリファイルに格納する手段、
入力データに対する変換ルールを出力データのデータ項目単位で格納しておく変換ルール記憶手段、
この変換ルールに従い、第１のメモリファイルに格納された該当データ項目の各データに対し必要な処理を同時に実行し、第２のメモリファイルの該当箇所に一括して格納する手段、
上記変換ルールにおいて特定のデータ項目のデータに基づいてデータベースから関連データを取得することが規定されている場合に、当該変換ルールを編集し、一括SQL発行テーブルに格納された各参照元データに対応した結果データの一括送信を要求するSQL文を自動生成する手段、
第１のメモリファイルに格納された該当データ項目に係る全データを抽出し、参照元データとして一括SQL発行テーブルに書き出す手段、
上記の編集後SQL文を該当のデータベースに送信し、対応する結果データの送信を要求する手段、
データベースから送信された各結果データと各参照元データとを比較し、参照元データと結果データとが一対一で対応する場合には当該結果データを第２のメモリファイルの該当箇所に格納し、参照元データに対する結果データが複数存在する場合には所定のルールに従って選択された一の結果データのみを第２のメモリファイルの該当箇所に格納し、参照元データに対する結果データが存在しない場合にはデータの欠落を示すコードを第２のメモリファイルの該当箇所に記述する手段、
第２のメモリファイルに必要なデータが揃った時点で、各データを出力データ記憶手段に移動させる手段として機能させることを特徴とするデータ変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はデータ変換システム及びデータ変換プログラムに係り、特に、本来的な情報処理の前処理として、対象となるデータの構成を必要な形式に変換する技術に関する。
【背景技術】
【０００２】
情報処理の分野においては、データの加工や照合、登録といった本来的な処理の前段階において、対象となるデータに対してデータ項目の並び替えや補充、削除、結合等の変換処理を施し、後続処理の効率化を図ることが行われる。
例えば、下記の特許文献１には、入金予定情報と入金情報との照合処理の前処理として、顧客名称や通貨の統一、あるいは欠落項目の補充等を実行することにより、データ照合処理の自動化を実現する自動照合装置が開示されている。
【特許文献１】特開２０００−２８５１８８
【０００３】
図１０は、このようなデータ変換処理を実現するための、従来の一般的なシステム構成を示すブロック図である。
この場合、通信ネットワーク等を介して所定のデータ項目を備えた入力データ60をシステム62が受信すると、データ変換処理部64が変換ルール記憶部66からデータ項目毎に規定された変換ルールを読み出し、これに従ってデータベースサーバ68から必要なデータを取得し、あるいはデータ項目の結合や削除等の加工を施し、出力データ70として後続のシステムに送信する。
【０００４】
図１１は、この従来のデータ変換システム62を用いてデータ項目の補充等の変換処理を行う際の要領を示す模式図であり、銘柄コード、ファンドコード、証券会社コード等のデータ項目を有する入力データに対し、銘柄名称、ファンド名称、証券会社名称等のデータ項目を補充して出力データを生成する様子が描かれている。
この場合、データ変換処理部64は、入力データの銘柄コードや証券会社コード等を参照元データとしてデータベースサーバ68に送信し、各コードに関連づけられた名称を取得した後、これを出力データの該当項目に埋め込んでいる。
この図が示すように、データ変換システム62は入力データから出力データを生成するに当たり、補充すべきデータ項目毎にデータベースサーバ68への参照を繰り返しており、１件の入力データを処理するために５回もデータベースへの問合せを行っている。
一般に、情報処理において最も時間を要するのはデータベースへの問合せに伴う待ち時間であるため、補充すべきデータ項目の数及び対象となる入力データのレコード件数が増加するにつれて、変換処理に膨大な時間が必要となる。
【０００５】
もちろん、特定のデータ形式及びハードウェア構成に的を絞った専用システムを用いるのであれば、ソースコードレベルで様々な効率化手法を講じることにより、全体的な処理の高速化を図ることが可能となる。
例えば、参照元となるデータを所定件分まとめてデータベースサーバに送信し、補充が必要なデータを一度に取得することで、データベースサーバへのアクセス回数を減らし、全体の処理時間を短縮化することも可能である。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、専用システムの場合には上記のような処理の高速化の利点が得られる反面、その運用において柔軟性に欠けるという問題がある。
すなわち、上記のようにシステムの動作がプログラムレベルで規定されることとなると、データ項目の構成に変更が生じたり、参照先のデータベースに変更が生じた場合にはソースコードの記述を修正して実行ファイルを生成し直す必要があり、現場の要求に応じてその動作を即座に改変できないという事態が生じる。
【０００７】
この発明は、データ変換処理に係る従来の上記問題を解決するために案出されたものであり、柔軟性に優れた汎用的な処理を前提としながらも、高速なデータ変換処理を可能とする技術の実現を目的としている。
【課題を解決するための手段】
【０００８】
上記の目的を達成するため、請求項１に記載したデータ変換システムは、複数の入力データが格納された記憶手段から予め設定された件数分のレコードを抽出し、第１のメモリファイルに格納する手段と、入力データに対する変換ルールを出力データのデータ項目単位で格納しておく変換ルール記憶手段と、この変換ルールに従い、第１のメモリファイルに格納された該当データ項目の各データに対し必要な処理を同時に実行し、第２のメモリファイルの該当箇所に一括して格納する手段と、上記変換ルールにおいて特定のデータ項目のデータに基づいてデータベースから関連データを取得することが規定されている場合に、当該変換ルールを編集し、一括SQL発行テーブルに格納された各参照元データに対応した結果データの一括送信を要求するSQL文を自動生成する手段と、第１のメモリファイルに格納された該当データ項目に係る全データを抽出し、参照元データとして一括SQL発行テーブルに書き出す手段と、上記の編集後SQL文を該当のデータベースに送信し、対応する結果データの送信を要求する手段と、データベースから送信された各結果データと各参照元データとを比較し、参照元データと結果データとが一対一で対応する場合には当該結果データを第２のメモリファイルの該当箇所に格納し、参照元データに対する結果データが複数存在する場合には所定のルールに従って選択された一の結果データのみを第２のメモリファイルの該当箇所に格納し、参照元データに対する結果データが存在しない場合にはデータの欠落を示すコードを第２のメモリファイルの該当箇所に記述する手段と、第２のメモリファイルに必要なデータが揃った時点で、各データを出力データ記憶手段に移動させる手段とを備えたことを特徴としている。
【０００９】
また、請求項２に記載したデータ変換プログラムは、コンピュータを、複数の入力データが格納された記憶手段から予め設定された件数分のレコードを抽出し、第１のメモリファイルに格納する手段、入力データに対する変換ルールを出力データのデータ項目単位で格納しておく変換ルール記憶手段、この変換ルールに従い、第１のメモリファイルに格納された該当データ項目の各データに対し必要な処理を同時に実行し、第２のメモリファイルの該当箇所に一括して格納する手段、上記変換ルールにおいて特定のデータ項目のデータに基づいてデータベースから関連データを取得することが規定されている場合に、当該変換ルールを編集し、一括SQL発行テーブルに格納された各参照元データに対応した結果データの一括送信を要求するSQL文を自動生成する手段、第１のメモリファイルに格納された該当データ項目に係る全データを抽出し、参照元データとして一括SQL発行テーブルに書き出す手段、上記の編集後SQL文を該当のデータベースに送信し、対応する結果データの送信を要求する手段、データベースから送信された各結果データと各参照元データとを比較し、参照元データと結果データとが一対一で対応する場合には当該結果データを第２のメモリファイルの該当箇所に格納し、参照元データに対する結果データが複数存在する場合には所定のルールに従って選択された一の結果データのみを第２のメモリファイルの該当箇所に格納し、参照元データに対する結果データが存在しない場合にはデータの欠落を示すコードを第２のメモリファイルの該当箇所に記述する手段、第２のメモリファイルに必要なデータが揃った時点で、各データを出力データ記憶手段に移動させる手段として機能させることを特徴としている。
【発明の効果】
【００１０】
請求項１のデータ変換システム及び請求項２のデータ変換プログラムにあっては、入力データに対し１件単位で変換処理を行うのではなく、ある程度まとまった件数単位で処理がなされ、データベースへの照会も同件数単位で実行されるため問合わせの回数を大幅に低減することができ、変換処理全体の高速化を実現することができる。
また、データベースから送信された複数件数分の結果データをそのまま出力データとして採用するのではなく、参照元データと突き合わせて整合化させる機能を備えているため、誤ったデータ列が形成されることを未然に防止することができる。
さらに、各データ項目に係る変換ルールが外部データの形で供給されるため、これらの記述を変更することによって柔軟に変換処理の対象や動作を変更することが可能となる。
しかも、データベースに問合せを行う際には複数のデータを一括して取得するためのSQL文が自動生成されるため、現場のオペレータは従来の逐次処理の場合と同様の手軽さで変換ルールを定義することが可能となる。
【発明を実施するための最良の形態】
【００１１】
図１は、この発明に係るデータ変換システムが組み込まれた約定管理システムの全体構成を示すブロック図であり、銀行等の金融機関内に配置された約定管理システム10は、受信データ変換システム12と、データ照合システム14と、送信データ変換システム16とを備えている。
【００１２】
この約定管理システム10は、銀行内ネットワーク18やSWIFTネット19、各種データ交換サービスネット20等の通信網を介して銀行内資産運用部署、海外証券会社、海外機関投資家、国内証券会社、国内機関投資家等の取引サーバ22から送信された取引報告書データ及び運用指図書データ間の照合を行い、約定成立が確認できたデータ（照合済み約定データ）を銀行内ネットワーク23を介して銀行内勘定系システム24に受け渡す役割を果たすものである。
【００１３】
取引報告書データと運用指図書データとの照合処理自体はデータ照合システム14において実行されるのであるが、その前処理として、受信データ変換システム12において各取引サーバ22から送信されたデータを標準フォーマットのデータ形式に変換する処理が実行される。
すなわち、各取引サーバ22から送信される取引報告書データや運用指図書データはそれぞれ独自のフォーマットを備えており、そのままでは相互に照合不可能であったり、後続の処理に繋げられない事態が生じるため、受信データ変換システム12において事前に汎用的な標準フォーマットに一旦統一される。
具体的には、以下の変換処理が実行される。
(1) 各受信データのデータ項目の並びを標準の並びに変換する。
(2) 各受信データのデータコードを標準的なデータコードに変換する（例えば、銘柄コードを外部コードから社内コードに変換する）。
(3) 各受信データに存在しないデータ項目が標準フォーマットにおいて要求されている場合に、不足しているデータ項目を外部のデータベース等から補充する。
【００１４】
このように、受信データ変換システム12において各受信データが標準フォーマットに予め統一されるため、データ照合システム14における照合処理は極めて効率的に実行可能となる。
データ照合システム14における照合が完了した取引データ（運用指図書データ及び取引報告書データの組合せ）は、上記のように銀行内勘定系システム24に送信され、そこにおいて様々な処理に利用されるのであるが、その前に送信データ変換システム16において、標準フォーマットから銀行内勘定系システム24が要求する独自フォーマットに再度変換される。
【００１５】
この発明に係るデータ変換システムは、このような約定管理システム10における受信データ変換システム12及び送信データ変換システム16として好適に利用できる。
図２に示すように、このデータ変換システム30は、対象データ取込部32と、変換処理部34と、変換データ登録部36と、入力データ記憶部38と、基本設定記憶部40と、変換ルール記憶部42と、出力データ記憶部44と、第１のメモリファイル46と、第２のメモリファイル48と、一括SQL発行テーブル50とを備えている。
【００１６】
上記対象データ取込部32、変換処理部34及び変換データ登録部36は、システム30を構成するコンピュータのCPUが、OS及び専用のアプリケーションプログラムに従って必要な処理を実行することによって実現される。
また、入力データ記憶部38、基本設定記憶部40、変換ルール記憶部42及び出力データ記憶部44は、同コンピュータのハードディスク内に設けられており、第１のメモリファイル46、第２のメモリファイル48及び一括SQL発行テーブル50は、同コンピュータの内部メモリ内に設定される。
【００１７】
上記入力データ記憶部38内の所定のディレクトリには、外部の取引サーバ22から送信された取引データ等が入力データとして蓄積されている。
また、基本設定記憶部40には、一括処理をすべき入力データのレコード数が予め設定されている。
さらに、変換ルール記憶部42には、入力データに対する変換処理の内容が出力データのデータ項目単位で規定されている。
【００１８】
つぎに、図３のフローチャートに従い、このデータ変換システム30における処理手順を説明する。
まず、対象データ取込部32が起動し、基本設定記憶部40を参照して一度に取り込むべきレコードの件数を取得する（Ｓ10）。
例えば、基本設定記憶部40に一括処理の単位として「300件」が設定されていた場合、対象データ取込部32は入力データ記憶部38の特定ディレクトリから300件のレコードをまとめて抽出し、第１のメモリファイル46に格納する（Ｓ12）。
図４はこの場合のイメージを示すものであり、第１のメモリファイル46に項目１〜項目ｎを備えたREC 1〜REC 300のレコードがセットされた状態が描かれている。
【００１９】
つぎに変換処理部34が起動し、変換ルール記憶部42に格納された変換ルールをデータ項目単位で読み出して内容を解析すると共に（Ｓ14）、その内容に従って必要な処理を実行する。
ここで、例えば入力データの項目１に記述された銘柄コードをキーとして外部のデータベースから対応する銘柄名称を取得すべき旨のルールが変換ルール記憶部42に規定されている場合（Ｓ16）、変換処理部34はまず変換ルール自体を一括処理に対応したものに編集する。
すなわち、変換ルール記憶部42内に格納された変換ルール（要求SQL文）はレコードを逐次的に変換処理することを要求する内容であるため、変換処理部34はこれを編集し、一括SQL発行テーブル50に格納された各銘柄コードに対応する銘柄名称をデータベースサーバから一度に取得するためのSQL文（一括SQL発行テーブルとのJOIN型SQL文）を自動生成する（Ｓ18）。
【００２０】
つぎに変換処理部34は、第１のメモリファイル46から３００件分の銘柄コードを抽出し、一括SQL発行テーブル50に格納する（Ｓ20）。
つぎに変換処理部34は、編集後のSQL文をデータベースサーバ52に送信し、対応データの一括送信を要求する（Ｓ22）。
これを受けたデータベースサーバ52は、編集後SQL文に従い一括SQL発行テーブル50に格納された各銘柄コードに対応する銘柄名称を銘柄データベースから抽出し、変換処理部34に送信する。
なお、上記の一括SQL発行方式については、後に詳細に説明する。
【００２１】
つぎに変換処理部34は、データベースサーバ52から送信された各データに対し、整合化処理を実行する（Ｓ24）。
すなわち、データベースサーバ52から送信された各データは、必ずしも一括SQL発行テーブル50に格納された参照元データ（銘柄コード）と一対一で対応しているとは限らず、データの欠落や重複が生じている可能性がある。
例えば、300件分の銘柄コードに対してデータベースサーバ52から300件分の銘柄名称が送信されたとしても、実際には同一の銘柄コードに対して複数の銘柄名称が返されたり、ある銘柄コードに対しては対応の銘柄名称が送信されない場合もあり、単純に件数が一致すれば事足りるという問題ではない。
これらの不整合はデータベースサーバ52側の不備等によって生じるものであるが、このままの状態で参照元の銘柄コードに形式的に連結させると誤ったデータ列が形成されてしまうため、所定のルールに従い取得データの適否を判定し、必要な修正を施した上で第２のメモリファイル48に格納する仕組みを備えている（Ｓ26）。
【００２２】
図５はこの整合化処理の一例を示すものであり、同図(a)に示すように、データベースサーバ52から参照元レコード番号１について結果−１のデータが返された場合、参照元データと参照結果データとの一対一の対応関係が認められるため、同図(b)に示すように、変換処理部34はこの結果−１をそのまま第２のメモリファイル48の新項目２として格納する。
これに対し、参照元レコード番号５については、結果−２と結果−３が重複して返されたため、所定のルールに従って何れか一つの結果データのみが採用される。ここでは、先頭の結果データを採用するというルールに従い、変換処理部34は結果−２を第２のメモリファイル48上に新項目２として格納する。
また、参照元レコード２〜４については結果データが返されず、該当データが欠落していることが明らかであるため、変換処理部34は参照元データ２〜４についてはデータ欠落を意味する「null」を第２のメモリファイル48に格納する。
【００２３】
以上のようにして一つの項目について300件分の処理が完了すると、次のデータ項目について再び300件単位で変換処理が繰り返される（Ｓ28、Ｓ14〜Ｓ26）。
そして、第２のメモリファイル48上に必要なデータ項目に係るデータが300件分揃った時点で、変換データ登録部36はこれらを出力データ記憶部44に格納する（Ｓ30）。
続いて、対象データ取込部32によって次の対象レコードが入力データ記憶部38から300件分取り込まれ、必要な変換処理が繰り返される（Ｓ32、Ｓ12〜Ｓ30）。
【００２４】
上記においては、あるデータ項目のデータに基づいて対応するデータをデータベースサーバ52から補充する例を説明したが、データ項目によってはそのまま第２のメモリファイル48の所定項目に当てはめることや（単純移送）、異なるデータ項目のデータ同士を結合させること（文字列結合）が変換ルールとして規定されており、データベースサーバ52に照会する必要がない場合もある。
このような場合、変換処理部34は多数の参照元データを一括SQL発行テーブル50に格納したりSQL文を編集することなく、またデータベースサーバ52に照会することもなく、必要な加工処理を施した後に対応データを第２のメモリファイル48上の必要な位置に格納すれば足りる（Ｓ34）。
例えば図４に示すように、入力データの項目１に該当する「銘柄コード」は、変換後もそのまま項目１として維持されるため、変換処理部34はこれらのデータを第１のメモリファイル46の項目１から第２のメモリファイル48の新項目１にそのままコピーする。
この場合でも、まとまった件数単位で一括処理できるため、１件のレコード単位で処理する場合に比べ高速化が図れる。
【００２５】
ここで、上記した一括SQL発行処理方式の具体例について説明する。
図６は、変換ルールの編集例を示すものであり、極めて簡素な要求SQL文に基づき、比較的複雑な一括SQL文が生成される様子が描かれている。
図７のフローチャートに示すように、まず変換処理部34は、要求SQL文にORDER及びUNIONが存在するか否かを検査する（Ｓ40）。ORDER及びUNIONの有無によって、後述の通り一括SQL文の編集内容が異なるため、予め存在チェックを行っておくものである。
【００２６】
つぎに変換処理部34は、要求SQL文から所定のキーワードを検索し（Ｓ42）、各キーワードに合わせて一括SQL文を編集すると共に、一括SQL発行テーブルのホスト配列編集を実行する（Ｓ46）。
以下に、各キーワードに係る編集内容を説明する。
【００２７】
まず、キーワードが「SELECT」の場合、直後に「W_PACK_SQL. SQL_RECORD_NO,」を編集する（図６の(1)）。ここで「W_PACK_SQL」は一括SQL発行テーブルのことであり、一括SQL発行時の取得カラムに第１のメモリファイル46のレコード番号を追加する内容となる。ただし、WHERE条件内でのSELECT文（サブクエリ）の場合、上記の編集は行われない。
また、キーワードが「FROM」の場合、直後に「W_PACK_SQL,」を編集することにより、一括SQL発行テーブルとのJOIN型SQL文となされる（図６(2)）。ただし、WHERE条件内でのSELECT文（サブクエリ）の場合、上記の編集は行われない。
キーワードが「WHERE」の場合、直後に「W_PACK_SQL. CUST_NO=:V1 AND W_PACK_SQL. WORK_ID=:V2 AND W_PACK_SQL.JOBLIST_ID=:V3 AND W_PACK_SQL.RULE_NO=:V4 AND(」を編集する（図６の(3)）。ここで、V1〜V4は一括SQL発行テーブルの抽出条件キーを指定するものである。ただし、WHERE条件内でのSELECT文（サブクエリ）の場合、上記の編集は行われない。
キーワードが「;[n];」の場合、nに対応した項目値を第１のメモリファイル46から取得して一括SQL発行テーブルのホスト配列エリアに編集する。この際、「;[n];」（項目番号）を対応する一括SQL発行テーブルのカラム名に置き換えて一括SQL文に編集する（図６の(4)）。
【００２８】
つぎに、予め検査しておいた「ORDER」、「UNION」の存在有無の組合せに応じて編集後SQL文の末尾に下記の編集を行う。
(1)要求SQL文に「ORDER」及び「UNION」の何れも存在しない場合
編集後SQL文の末尾に「)ORDR BY W_PACK_SQL. SQL_RECORD_NO」を編集する（図６(5)）。
(2)要求SQL文に「ORDER」がなく「UNION」のみが存在する場合
処理無し（UNIONが存在する場合には取得カラムの順序が保証されるためORDER編集は不要となる）。
(3)要求SQL文に「ORDER」のみが存在し「UNION」がない場合
編集後SQL文の末尾に「)ORDR BY W_PACK_SQL. RECORD_NO, TBL-A. ITEM-1,…」を編集する。「TBL-A. ITEM-1,…」は、指定されたORDER条件をそのまま展開することを意味している（ASC, DESC展開もそのまま展開）。
(4)要求SQL文に「ORDER」及び「UNION」の両者が存在する場合
編集後SQL文の末尾に「)ORDR BY W_PACK_SQL. RECORD_NO, ITEM-1,…」を編集する。「ITEM-1,…」は、指定されたORDER条件をそのまま展開することを意味している（ASC, DESC展開もそのまま展開）。
【００２９】
全てのキーワードに関して上記の編集処理が完了すると（Ｓ44）、一括SQL発行テーブルのホスト配列が、一括SQL発行テーブルに一括挿入される（Ｓ48）。
図８は、項目２の変数値が第１のメモリファイル46から一括SQL発行テーブルのホスト配列エリアにおけるITEM01にセットされ、それが一括SQL発行テーブル50に一括挿入されるイメージが描かれている。
この際、項目番号と一括SQL発行テーブル50のカラム名との対比表58がメモリ上に作成される。
【００３０】
最後に、一括SQL文が一括FETCHによってデータベースサーバ52に発行され、その結果が第２のメモリファイル48に格納される（Ｓ50）。
図９は、この一括SQL文の発行から結果取得までの処理手順を示すフローチャートである。
Ｓ64の「OPEN CURSOR文」発行時に、一括SQL発行テーブルの抽出キーが指定される。
以下に、OPEN CURSOR文の具体例を示す。
「EXEC SQL
OPEN CUR01 USING :CUST-NO, :WORK-ID, :JOBLIST-ID, :RULE-NO
END-EXEC」
これは、一括SQL発行テーブルの抽出条件キーをセットして実行することを意味している（V1〜V4の実値を指定）。
【００３１】
このデータ変換システム30にあっては、入力データについて１件単位で変換処理を行うのではなく、ある程度まとまった件数単位でデータベースサーバ52への照会が実行されるため、問合わせの回数を大幅に低減することができ、その分変換処理の高速化を実現することができる。
例えば、図１１に示したデータ変換例の場合、従来の逐次変換方式によれば300件のレコードを変換するに際しデータベースサーバに対し合計1,500回（300件×５回）の照会が必要となるが、この発明による一括変換方式であれば僅か５回で済む計算となる。
この一括変換処理の対象となるレコードの件数は、コンピュータに搭載されたメモリ容量と対象となる入力データのデータ量との兼ね合いで決定され、予め基本設定記憶部40内に設定される。
【００３２】
このデータ変換システム30の場合、上記のように一度に変換処理すべきレコードの件数、及び各データ項目に係る変換ルールが外部データの形でシステムに与えられるため、これらの記述を変更することによって簡単に処理対象や動作を変更することが可能となる。
しかも、データベースに問合せを行う際には複数のデータを一括して取得するためのSQL文が自動生成されるため、現場のオペレータは従来の逐次処理の場合と同様の手軽さで変換ルール（要求SQL文）を定義することが可能となる。
さらに、データベースサーバ52から送信された複数件数分のデータについて自動的に整合化する機能を備えているため、誤ったデータ列が形成されることを未然に防止できる。
【００３３】
上記においては、このデータ変換システム30を約定管理システム10の受信データ変換システム12に適用した例を説明したが、送信データ変換システム16に適用することも可能である。
この場合、変換対象となる入力データはデータ照合システム14から出力された照合済の標準データであり、変換後の出力データは銀行内勘定系システム24が要求する独自フォーマットのデータとなる。
これを実現するためには、変換ルール記憶部42に標準データを変換するためのルールを出力データのデータ項目単位で登録しておけばよい。
また、このデータ変換システム30は、変換ルール記憶部42の変換ルール及び基本設定記憶部40の設定値を書き換えることにより、約定管理システム10以外のシステムにおいても適用可能である。
【００３４】
上記においては、対象データ取込部32が、変換対象となる入力データをシステム30のローカルディスク内に設けられた入力データ記憶部38から取り込む例を説明したが、この発明はこれに限定されるものではない。
例えば、対象データ取込部32は、リモートマシンの所定のディレクトリに生成されたファイルをFTPにより監視・検知する機能を用い、他のコンピュータのディスクから所定件数分のレコードを抽出し、第１のメモリファイル46に格納することも可能である。
あるいは、対象データ取込部32は、MQ（メッセージキューイングシステム）で伝送されたキュー内メッセージを監視・検知する機能を用い、このキュー領域から所定件数分のレコードを抽出し、第１のメモリファイル46に格納することも可能である。
【図面の簡単な説明】
【００３５】
【図１】この発明に係るデータ変換システムが組み込まれた約定管理システムの全体構成を示す模式図である。
【図２】このデータ変換システムの機能構成を示すブロック図である。
【図３】このデータ変換システムにおける処理手順を示すフローチャートである。
【図４】第１のメモリファイル及び第２のメモリファイルにおけるデータ格納のイメージを示す模式図である。
【図５】整合化処理の具体例を示す模式図である。
【図６】変換ルールの自動編集例を示す説明図である。
【図７】一括SQL発行処理の詳細について説明するフローチャートである。
【図８】参照元データを一括SQL発行テーブルに一括挿入する際のイメージを示す模式図である。
【図９】一括SQL文の発行から結果取得までの処理手順を示すフローチャートである。
【図１０】従来のデータ変換処理システムの構成を示すブロック図である。
【図１１】従来のデータ変換システムにおける変換処理の要領を示す概念図である。
【符号の説明】
【００３６】
10 約定管理システム
12 受信データ変換システム
14 データ照合システム
16 送信データ変換システム
18 銀行内ネットワーク
19 SWIFTネット
20 各種データ交換サービスネット
22 取引サーバ
23 銀行内ネットワーク
24 銀行内勘定系システム
30 データ変換システム
32 対象データ取込部
34 変換処理部
36 変換データ登録部
38 入力データ記憶部
40 基本設定記憶部
42 変換ルール記憶部
44 出力データ記憶部
46 第１のメモリファイル
48 第２のメモリファイル
50 一括SQL発行テーブル
52 データベースサーバ
58 項目番号と一括SQL発行テーブルのカラム名との対比表
【図１】
2006277642.tif 000003
【図２】
2006277642.tif 000004
【図３】
2006277642.tif 000005
【図４】
2006277642.tif 000006
【図５】
2006277642.tif 000007
【図６】
2006277642.tif 000008
【図７】
2006277642.tif 000009
【図８】
2006277642.tif 000010
【図９】
2006277642.tif 000011
【図１０】
2006277642.tif 000012
【図１１】
2006277642.tif 000013