トランスフォーメーション > トランザクション制御トランスフォーメーション > トランザクション制御条件
  

トランザクション制御条件

トランザクション制御条件は[トランザクション制御]タブで設定します。トランザクション制御条件は各行をテストして、行をコミットするタイミング、行をロールバックするタイミング、またはトランザクションの変更なしで続行するタイミングを特定します。
次の画像は、[トランザクション制御]タブを示しています。
[トランザクション制御]タブにトランザクション制御条件が示されています。この画像では、トランザクション制御条件は[フィールド値が変わった場合]に設定されています。このタブには他にも[フィールド]、[実行するアクション]、[Else]の各フィールドがあります。
注: トランザクション制御条件を指定する前に、入力データがソートされていることを確認します。入力データは、トランザクション制御条件で使用するフィールドでソートする必要があります。
次のいずれかのタイプの条件を使用して行データをテストできます。
フィールド値が変わった場合
フィールド値が変更されたかどうかをテストする場合は、[フィールド値が変わった場合]条件を使用します。例えば、ORDER_DATEが変更された場合、現在の行をターゲットに書き込む前にトランザクションをコミットします。そうでない場合、データの処理を続行します。
テストするフィールドを[フィールド]リストから選択します。
詳細
式を使用して行データをテストする場合は、詳細条件を使用します。例えば、NEW_FILE_FLAG=’Y’ AND DEPT_ID>1000の場合、トランザクションをコミットしますが、現在の行は次のトランザクションに含めます。そうでない場合、データの処理を続行します。
式は条件の[If]パートで設定します。式では、フィールド、パラメータ、組み込み関数、およびユーザー定義関数を使用できます。
パラメータを使用します
式パラメータを使用して条件を表現できます。マッピングタスクの実行時またはパラメータファイルへの値の入力時にパラメータ値を入力します。
テスト結果に基づく条件の[実行するアクション]パートと[Else]パートでは、次のアクションを指定できます。
アクション
説明
トランザクションを続行
データ統合は、この行にはトランザクション変更を行いません。
次より前にコミット
データ統合はトランザクションをコミットし、新しいトランザクションを開始し、現在の行をターゲットに書き出します。現在の行は、新しいトランザクション内にあります。
次より後にコミット
データ統合は、現在の行をターゲットに書き出し、トランザクションをコミットし、新しいトランザクションを開始します。現在の行は、コミットされたトランザクション内にあります。
次より前にロールバック
データ統合は、現在のトランザクションをロールバックし、新しいトランザクションを開始し、現在の行をターゲットに書き出します。現在の行は、新しいトランザクション内にあります。
次より後にロールバック
データ統合は、現在の行をターゲットに書き出し、トランザクションをロールバックし、新しいトランザクションを開始します。現在の行は、ロールバックされたトランザクション内にあります。
条件の[実行するアクション]パートと[Else]パートには、異なるアクションを含める必要があります。