目次

Search

  1. はじめに
  2. パート 1: 概要
  3. パート 2: PowerExchange Client for PowerCenter(PWXPC)
  4. パート 3: PowerExchange ODBC
  5. 付録 A: PowerCenter用のPowerExchangeインタフェースのヒント
  6. 付録 B: データ型とコードページ
  7. 付録 C: PowerCenter用のPowerExchangeインタフェースのトラブルシューティング

PowerExchange Interfaces for PowerCenter

PowerExchange Interfaces for PowerCenter

PWXPCでのソースデータのフィルタリング

PWXPCでのソースデータのフィルタリング

PWXPCを使用すると、フィルタリングされた行のみがPowerExchangeからPowerCenterセッションに送信されるように、ソースのデータをフィルタリングできます。このようなフィルタリングを行う理由は多数あります。
この機能は、次の状況で役に立ちます。
  • VSAMやIMSなどの一部のソースタイプでは、特定のカラムの変更にのみ基づいて変更のキャプチャを制限することはできません。
  • DB2 for i5/OSなどの特定のソースタイプでは、選択したカラムのみを登録するキャプチャ登録をPowerExchangeで作成できます。ただし、RDBMSログが抽出に直接使用され、選択したカラムのキャプチャがサポートされない場合は、対象となるカラムがどれも変更されていない場合でもPowerExchangeによって行が抽出されます。
  • ソースタイプが、PowerExchange自体またはRDBMSで対象となるカラムにのみ基づいて変更をキャプチャするソースタイプであるが、追加のカラムまたはすべてのカラムが他の抽出で必要になるためキャプチャ対象として登録されている場合。
  • 特定の値を持つカラムのみを抽出します。例えば、特定の顧客に関するすべてのカラムを読み取る場合などです。
セッションプロパティの
[フィルタオーバーライド]
属性を使用すると、PWXバッチ、CDC変更、およびCDCリアルタイム接続を使用するソースのレコードをフィルタリングできます。
[フィルタオーバーライド]
属性でフィルタ条件を指定すると、PWXPCはフィルタ条件を含むWHERE句をSELECT文に追加し、そのSELECT文をPowerExchangeに渡します。SQLが失敗しないように、正しいSQL構文を使用してこのオーバーライドを行う必要があります。また、PowerExchangeでは、バルクデータと変更データを含む非リレーショナルソースに対してサポートされるSQL構文は限られています。
PowerExchangeでサポートされているNRDB SQL構文の詳細については、
『PowerExchangeリファレンスマニュアル』
を参照してください。
フィルタ条件では、DTL__CAPXカラムなどのPowerExchangeが生成したカラム、変更インジケータカラム(DTL__CI)、および操作前の画像カラム(DTL__BI)を含む、ソース定義に存在する任意のカラムを指定できます。
PWXPCでは、2つの形式のフィルタ条件構文がサポートされています。CDC抽出マップ、リレーショナルテーブル、単一レコードの非リレーショナルデータマップなど、単一レコードのソース定義の場合は、1つのフィルタ条件文を指定します。PowerExchangeでNRDB SQL文に対してサポートされている条件オペランドを使用して、1つのフィルタ条件を指定するか多数のフィルタ条件を結合することができます。以下に例を示します。
column1
is NULL and
column2
=’A’
マルチレコードの非リレーショナルソース定義の場合は、以下の構文を使用することもできます。
group_name1
=
filter_condition
;
group_name2
=
filter_condition
;...
group_name
形式は、マルチレコードのソース定義内の1つ以上のレコードタイプに対してフィルタ条件を指定する場合に使用します。マルチレコードのソース定義内のすべてのレコードにフィルタ条件を適用するには、
group_name
を指定せずに1つのフィルタ条件を使用します。1つのフィルタ条件を
group_name
条件と組み合わせることはできません。
[フィルタオーバーライド]属性とフィルタリングWHERE句を含む[SQLクエリオーバーライド]属性の両方を指定すると、結果のSELECT文には、AND演算子を使用して[フィルタオーバーライド]フィルタ条件を[SQLクエリオーバーライド]フィルタ条件と関連付けるWHERE句が含まれます。