PowerCenterワークフロー PowerCenterタスクにPowerCenterワークフローを使用するには、ワークフローオブジェクトがデータ統合 のPowerCenterタスクでサポートされるオブジェクトである必要があります。
PowerCenterタスクでPowerCenterワークフローを使用する場合は、次のルールを考慮してください。
• PowerCenter XMLファイルには、ワークフローを1つのみ含める必要があります。• ワークフローには、マッピングを1つ指定した1つのセッションタスクが含まれている必要があります。• ワークフローには、セッションタスク以外のタスクタイプを含めることはできません。• PowerCenterからワークフローをエクスポートした後は、XMLファイルを編集しないでください。その代わり、PowerCenterのワークフローを変更し、再びエクスポートします。• セッションには、ソースとターゲット用に最高64個のパーティションを含めることができます。• セッションでは、セッション実行前および実行後のコマンドを使用できます。• セッションでは、[高精度を有効にする]セッションプロパティを有効にする必要があります。• マッピングには、ソース定義とターゲット定義を含める必要があります。• マッピングには、次のIIF式のように、異なるデータ型の値を持つIIF式を含めることはできません。[IIF(ANNUALREVENUE >0,NAME)] [IIF(emplid_offset = 'Y',LINE_NO + 1,LINE_NO]
• データ統合 ではPowerCenterのようなリポジトリを使用しないため、マッピングに再利用可能なトランスフォーメーションやショートカットのような再利用可能なオブジェクトを含めることができません。そのため、再利用可能なオブジェクトを保存することはできません。サポートされているトランスフォーメーションとマッピングオブジェクト ワークフロー内のマッピングオブジェクトは、データ統合 によってサポートされている必要があります。
マッピングには、次のソースとターゲットのタイプを含めることができます。
• フラットファイル• FTP/SFTP• データベース• Salesforce• SAP• Webサービスマッピングには、次のトランスフォーメーションを含めることができます。
• アグリゲータトランスフォーメーション• データマスキングタスクトランスフォーメーション• 式トランスフォーメーション• フィルタトランスフォーメーション• HTTPトランスフォーメーション• Javaトランスフォーメーション• ジョイナトランスフォーメーション• ルックアップトランスフォーメーション• ノーマライザトランスフォーメーション• ルータートランスフォーメーション• Salesforceルックアップトランスフォーメーション• Salesforce Picklistトランスフォーメーション• Salesforce統合トランスフォーメーション• SAP/ IDoc Interpreterトランスフォーメーション• SAP/ IDoc Prepareトランスフォーメーション• シーケンスジェネレータトランスフォーメーション• ソータートランスフォーメーション• ストアドプロシージャトランスフォーメーション• トランザクション制御トランスフォーメーション• 共有体トランスフォーメーション• アップデートストラテジトランスフォーメーション• Webサービスコンシューマトランスフォーメーション• ファイルまたはデータベースソースによるXMLパーサートランスフォーメーション• ファイルまたはデータベースソースによるXMLジェネレータトランスフォーメーションワークフローに上記のオブジェクト以外のトランスフォーメーションまたはマッピングオブジェクトが含まれている場合は、データ統合 へのワークフローアップロードが失敗する可能性があります。
ストアドプロシージャでの例外処理 PowerCenterタスクで使用するマッピングにストアドプロシージャトランスフォーメーションが含まれている場合、ストアドプロシージャには例外処理を含める必要があります。例外処理には必要に応じて複雑な処理を記述できます。または、次の簡単な例を使用できます。
Exception when NO_DATA_FOUND then NULL; END;
例えば、PowerCenterワークフローに次のようなストアドプロシージャがあるとします。
CREATE OR REPLACE PROCEDURE SP_GETSAL_WITH_EXCEPTION (EMP_ID NUMBER, EMP_NAME OUT VARCHAR, SAL OUT NUMBER) AS BEGIN SELECT EMPNAME INTO EMP_NAME FROM EMPLOYEE WHERE EMPID=EMP_ID; SELECT SALARY INTO SAL FROM EMPLOYEE WHERE EMPID=EMP_ID;
このワークフローをエクスポートするには、次のように例外処理を追加します。
CREATE OR REPLACE PROCEDURE SP_GETSAL_WITH_EXCEPTION (EMP_ID NUMBER, EMP_NAME OUT VARCHAR, SAL OUT NUMBER) AS BEGIN SELECT EMPNAME INTO EMP_NAME FROM EMPLOYEE WHERE EMPID=EMP_ID; SELECT SALARY INTO SAL FROM EMPLOYEE WHERE EMPID=EMP_ID; Exception when NO_DATA_FOUND then NULL; END;
セッション実行前および実行後のコマンド PowerCenterタスクで使用するワークフローでは、セッション実行前およびセッション実行後のSQLコマンドまたはシェルコマンドを使用できます。
セッション実行前または実行後のコマンドを使用して、FTP/SFTPスクリプトやストアドプロシージャの開始、ファイルの名前変更やアーカイブ、後処理コマンドの実行を行うことも可能です。PowerCenterセッションで、セッション実行前および実行後のコマンドを設定します。
セッション実行前または実行後のコマンドを設定するときに、単一のコマンドを入力したり、一連のコマンドを含むバッチファイルを呼び出したりすることができます。バッチファイルを使用する場合は、完全なパスまたはディレクトリを必ず使用してください。PowerCenterでセッション実行前または実行後のコマンドを設定する場合は、ファイル名とともに完全なパスまたはディレクトリ(例: c:/IC PowerCenter Task Commands/pre-session1.bat )を入力します。