(57)【要約】【課題】  検索時の配列の添え字に検索キー文字列を使用し、マスタ、トランザクションの２つのファイルから必要条件を満たすデータを効率よく抽出することが可能なデータ比較抽出を提供する。【解決手段】  マスタファイルとトランザクションファイルとを比較し、前記トランザクションファイルにおける前記マスタファイルと相違する部分のデータを抽出するデータ比較抽出方法であって、マスタファイルとトランザクションファイルを識別できる項目を、それぞれ前記マスタファイルおよびトランザクションファイル内の各レコードに付加し、マスタファイルとトランザクションファイルの内容をマージした新しいファイルを作成し、前記新しいファイルに対して、使用する配列の添え字に検索キー文字列を使用してデータの比較／抽出を行い、前記トランザクションファイルにおける前記マスタファイルと相違する部分のデータを抽出する。【選択図】        図４
2006040206.tif 000002
【特許請求の範囲】
【請求項１】
区切り文字によって項目が区切られているプレーンテキスト形式のレコード構成から成るマスタファイルと、前記マスタファイルとレコード構成が同一であるトランザクションファイルとを比較し、前記トランザクションファイルにおける前記マスタファイルと相違する部分のデータを抽出するデータ比較抽出方法であって、
前記マスタファイルとトランザクションファイルを識別できる項目を、それぞれ前記マスタファイルおよびトランザクションファイル内の各レコードに付加し、
前記マスタファイルとトランザクションファイルの内容をマージした新しいファイルを作成し、
前記新しいファイルに対して、使用する配列の添え字に検索キー文字列を使用してデータの比較／抽出を行い、前記トランザクションファイルにおける前記マスタファイルと相違する部分のデータを抽出することを特徴とするデータ比較抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機上におけるデータ比較抽出の方法に関し、特に、検索時の配列の添え字に検索キー文字列を使用する場合のデータ比較抽出方法に関する。
【背景技術】
【０００２】
従来、計算機上におけるデータ比較抽出方法としては、２つのファイルを順次読み取り処理する方法が知られている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、前述した方法では、１レコードずつ比較しているため、抽出に時間が掛かると言う問題点があった。
本発明の目的は、前記従来技術の問題点を解決するためになされたものであり、本発明の目的は、検索時の配列の添え字に検索キー文字列を使用し、マスタファイル、トランザクションファイルの２つのファイルから必要条件を満たすデータを効率よく抽出することが可能なデータ比較抽出方法を提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述及び添付図面によって明らかにする。
【課題を解決するための手段】
【０００４】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記の通りである。
前述の目的を達成するために、本発明では、区切り文字によって項目が区切られているプレーンテキスト形式のレコード構成から成るマスタファイルと、前記マスタファイルとレコード構成が同一であるトランザクションファイルとを比較し、前記トランザクションファイルにおける前記マスタファイルと相違する部分のデータ（マスタファイルに対して変更、追加したデータ、あるいは、マスタファイルから削除されたデータ）を抽出するデータ比較抽出方法であって、前記マスタファイルとトランザクションファイルを識別できる項目を、それぞれ前記マスタファイルおよびトランザクションファイル内の各レコードに付加し、前記マスタファイルとトランザクションファイルの内容をマージした新しいファイルを作成し、前記新しいファイルに対して、使用する配列の添え字に検索キー文字列を使用してデータの比較／抽出を行い、前記トランザクションファイルにおける前記マスタファイルと相違する部分のデータを抽出する。
【発明の効果】
【０００５】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
本発明のデータ比較抽出方法によれば、マスタファイル、トランザクションファイルの２つのファイルから必要条件を満たすデータを抽出する際に、文字列をキーとする配列を用いることにより効率よく抽出することが可能となる。
【発明を実施するための最良の形態】
【０００６】
以下、図面を参照して本発明の実施例を詳細に説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
図１は、本発明の実施例のデータ比較抽出方法において、処理対象の基となるデータ形式（データフォーマット）を示す図であり、図中１０１はキー項目１、１０２はキー項目２、１０３はデータ項目１、１０４はデータ項目２、１０５はデータ項目３であり、１００は１０１から１０５までを１レコードとする、基となるデータのレコード形式を示す。
図１では、キー項目は、１０１、１０２の２つとしているが、キー項目は、１つまたは複数であってもよい。また、図１では、１０１〜１０５までを１レコードとしているが、項目数にとくに制限は設けない。
ここで、１０１〜１０５は、プレーンテキスト形式の文字列データであり、半角英数字、全角文字から構成される。
図２は、本実施例のデータ比較抽出方法において使用される中間ファイルのデータ形式を示す図である。この中間ファイルは、図１に示すデータに対して、後述する図３に示す処理を施すことにより生成される。
図中２０１は、マスタデータ、トランザクションデータを識別するファイル識別フラグであり、マスタおよびトランザクションで統一する。
例えば、マスタであれば「０」、トランザクションであれば「１」のようにする。
２０２〜２０６は、図１の１０１〜１０５と同一形式の項目である。２００は２０１から２０６までを１レコードとするレコード構成である。
【０００７】
次に、本実施例のデータ比較抽出方法について説明する。本実施例では、検索時の配列の添え字に検索キー文字列を使用して、トランザクションファイルにおけるマスタファイルと相違する部分のデータ（マスタファイルに対して変更、追加したデータ、あるいは、マスタファイルから削除されたデータ）を比較抽出する事を特徴とする。
本実施例では、始めに、基となるマスタファイル、トランザクションファイルを入力として中間ファイルを生成する。
図３は、本実施例において、中間ファイルの生成手順を示すフローチャートであり、図中３１１は、図１の１０１で示した形式のマスタファイルであり、図中３１２は、図１の１０１で示した形式のトランザクションファイルである。
始めに、マスタファイル３１１のファイル内容をすべて読み込む（ステップ３０１）。
次に、トランザクションファイル３１２のファイル内容すべてを読み込む（ステップ３０２）。
次に、ステップ３０１と、ステップ３０２で読み込んだデータの各レコードの先頭に、図２に示すファイル識別フラグ２０１を付加する（ステップ３０３）。
次に、ステップ３０１と、ステップ３０２で読み込んだデータの内容をマージし、キー項目によってソートを行う（ステップ３０４）。
ステップ３０４までの過程で生成された内容を、マージファイル３１３に出力する（ステップ３０５）。
このマージファイル３１３が中間ファイルであり、図２の２００で示す形式のレコード構成から成るファイルである。
【０００８】
図４は、本実施例において、配列の添え字に文字列を使用して検索抽出する処理手順を示すフローチャートであり、図中４１１は中間ファイル（図３の３１３）である。
なお、ステップ４０１からステップ４０８の処理において使用する配列は、添え字に文字列をキーとすることが可能であり、ｐｅｒｌ言語、ａｗｋ言語における連想配列と呼ばれる種類の配列である。
始めに、ファイル４１１を読み取るための判定処理を行う（ステップ４０１）。ステップ４０１で、読み取り可能であれば以降の処理を行い、読み取り可能でない場合は処理を終了する。なお、ステップ４０１の処理開始時には配列要素は空である。
次に、ファイル４１１から１レコード読み込む（ステップ４０２）。
次に、ステップ４０２で読み込んだレコードのキー項目が配列に存在するか比較し、検索を行う（ステップ４０３）。このときの配列に与える添え字は、読み込んだレコードのキー項目であり、図１の１０１，１０２に示した文字列である。
ステップ４０３でＮＯの場合、即ち、初期状態、またはキー項目が変わった場合であれば配列要素は空であるため、配列要素をすべて空にする初期化処理を行い、キー項目を配列中に追加する（ステップ４０４）。
ステップ４０３でＹＥＳの場合、あるいは、ステップ４０４の後に、読み込んだレコードのデータ項目が配列に存在するか比較し検索を行う（ステップ４０５）。このときの配列に与える添え字は、読み込んだレコードのキー項目であり、図１の１０３，１０４，１０５に示す文字列である。
ステップ４０５でＮＯの場合、データ項目を配列中に追加する（ステップ４０６）。
ステップ４０５でＹＥＳの場合、あるいは、ステップ４０６の後に、抽出条件を満たすか否かを判定し（ステップ４０７）、ステップ４０７において抽出条件を満たす場合に、ステップ４０６で追加した内容とそれまでに追加した配列要素から結果を、例えば、ファイルなどに出力する（ステップ４０８）。
【０００９】
以下、図５〜６を用いて、本実施例の具体例について説明する。
図５は、本実施例の具体例において使用されるデータを示す図であり、図４のマージファイル４１３に相当する。
図５に示すデータは、５０１〜５０６の６レコードから成る構成である。カンマで区切られた各項目は、順に「マスタ識別フラグ」、「本日日付」、「端末ＩＤ」、「有効日付」、「コード」を意味する。
図５は、マスタデータ、トランザクションデータをマージした内容であり、５０１、５０３、５０５はマスタファイル、５０２、５０４、５０６はトランザクションファイルに存在していたデータである。
図６は、本実施例において記憶手段に格納されるデータの配列状態の一例を示す図であり、図６のａ配列（６０１）はマスタ識別フラグを格納する配列であり、ｂ配列（６０２）は端末ＩＤを格納する配列であり、ｃ配列（６０３）は有効日付を格納する配列であり、ｄ配列（６０４）はコードを格納する配列である。
本具体例は、マスタデータとトランザクションデータにおいて、同一の端末ＩＤに対するデータ項目がすべて同一であれば、出力はマスタデータのレコードとし、異なる項目があればマスタデータとトランザクションデータの両方を出力する場合の例である。
【００１０】
まず、１行目のデータ５０１が読み込まれ、ｂ配列（６０２）に項目が追加され、ａ配列（６０１）、ｃ配列（６０３）、ｄ配列（６０４）は初期化される。
次に、ａ配列（６０１）、ｃ配列（６０３）、ｄ配列（６０４）の配列要素が空であるので、ａ配列（６０１）、ｃ配列（６０３）、ｄ配列（６０４）にそれぞれ読み込んだデータの内容が設定され、図６に示す６００の状態になる。
次に、２行目のデータが読み込まれ、読み込まれた内容と、ｂ配列（６０２）の配列要素が同一であるか判定を行う。ここでは同一値であるため、ａ配列（６０１）、ｃ配列（６０３）、ｄ配列（６０４）の各配列要素と読み込んだデータが同一であるか判定を行う。
ここでは、同一であるため、１行目のデータ５０１の内容を出力し、２行目のデータ５０２の内容は破棄される。
次に、３行目のデータ５０３が読み込まれる。端末ＩＤが、ｂ配列（６０２）の内容と異なるため、ｂ配列（６０２）の配列が初期化され項目が追加され、同時に、ａ配列（６０１）、ｃ配列（６０３）、ｄ配列（６０４）は初期化される。
次に、ａ配列（６０１）、ｃ配列（６０３）、ｄ配列（６０４）の配列要素が空であるので、ａ配列（６０１）、ｃ配列（６０３）、ｄ配列（６０４）に、それぞれ読み込んだデータの内容が設定される。
【００１１】
次に、４行目のデータ５０４が読み込まれ、読み込まれた内容と、ｂ配列（６０２）で示す配列要素が同一であるか判定を行う。ここでは、同一値であるため、ａ配列（６０１）、ｃ配列（６０３）、ｄ配列（６０４）の各配列要素と、読み込んだ内容が同一値であるか判定を行う。
ここでは、異なるため３行目のデータ５０３と、４行目のデータ５０４の内容を出力する。
次に、５行目のデータ５０５が読み込まれる。端末ＩＤが、ｂ配列（６０２）の内容と異なるため、ｂ配列（６０２）の配列が初期化され、項目が追加され、同時に、ａ配列（６０１）、ｃ配列（６０３）、ｄ配列（６０４）にそれぞれ項目が追加される。
次に、６行目のデータ５０６が読み込まれる。端末ＩＤが、ｂ配列（６０２）の内容と異なるため、ｂ配列（６０２）の配列が初期化され、項目が追加され、同時に、ａ配列（６０１）、ｃ配列（６０３）、ｄ配列（６０４）にそれぞれ項目が追加される。
結果として、５行目のデータ５０５の内容と、６行目のデータ５０６の内容が出力される。
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施例のデータ比較抽出方法において、処理対象の基となるデータ形式を示す図である。
【図２】本発明の実施例のデータ比較抽出方法の中間ファイルのデータ形式を示す図である。
【図３】本発明の実施例のデータ比較抽出方法において、中間ファイルの生成手順を示すフローチャートである。
【図４】本発明の実施例のデータ比較抽出方法において、配列の添え字に文字列を使用して検索抽出する処理の流れを示すフローチャートである。
【図５】本発明の実施例のデータ比較抽出方法の具体例において使用されるデータを示す図である。
【図６】本発明の実施例のデータ比較抽出方法の具体例において記憶手段に格納されるデータの配列状態の一例を示す図である。
【符号の説明】
【００１３】
１００  基となるデータのレコード形式
１０１，２０２  キー項目１
１０２，２０３  キー項目２
１０３，２０４  データ項目１
１０４，２０５  データ項目２
１０５，２０６  データ項目３
２００  本発明に使用する入力データのレコード形式
２０１  ファイル識別フラグ
３１１  マスタファイル
３１２  トランザクションファイル
３１３，４１１  中間ファイル
５０１  使用例におけるデータ１行目
５０２  使用例におけるデータ２行目
５０３  使用例におけるデータ３行目
５０４  使用例におけるデータ４行目
５０５  使用例におけるデータ５行目
５０６  使用例におけるデータ６行目
６００  データ抽出処理過程における配列状態
６０１  識別フラグ配列
６０２  端末ＩＤ配列
６０３  有効日付配列
６０４  コード配列
【図１】
2006040206.tif 000003
【図２】
2006040206.tif 000004
【図３】
2006040206.tif 000005
【図４】
2006040206.tif 000006
【図５】
2006040206.tif 000007
【図６】
2006040206.tif 000008