ヘッダーをスキップ
Oracle Warehouse Builderユーザーズ・ガイド
11gリリース1(11.1)
E05734-03
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

21 プロセス・フローでのアクティビティ

データをソースからターゲットに移動するための操作を定義するマッピングを設計した後は、プロセス・フローを作成および定義できます。マッピングと、Warehouse Builder外部のアクティビティを相互に関連付けるには、プロセス・フローを使用します。外部のアクティビティの例として、電子メール、FTPコマンドおよびオペレーティング・システム実行可能ファイルなどがあげられます。

プロセス・フローでのアクティビティの使用

この項は、すべてのアクティビティの参照用として使用します。この項では、アクティビティをタイプ別に分類することから始めます。各アクティビティの詳細は、この項の他の部分に記載されているアルファベット順のリストを参照してください。

オブジェクトを表すアクティビティ

表21-1に、これまでWarehouse Builder内で作成したオブジェクトを表すアクティビティを示します。受信推移は1つ以上指定できます。送信推移については、正常終了、警告、エラーおよび無条件の推移をそれぞれ一度ずつ使用できます。また、複合条件推移をいくつでも定義できます。

表21-1 オブジェクトを表すアクティビティ

アイコン アクティビティ 簡単な説明
説明は画像の前後のテキストにあります。

データ監査


データ・プロファイリングに使用される既存のデータ監査モニターをプロセス・フローに追加します。

説明は画像の前後のテキストにあります。

マッピング


既存のマッピングをプロセス・フローに追加します。

説明は画像の前後のテキストにあります。

サブプロセス


既存のプロセス・フローをプロセス・フロー内に埋め込みます。

説明は画像の前後のテキストにあります。

変換


既存の変換をプロセス・フローに追加します。


データのコミット

設計オブジェクトを表すアクティビティを追加すると、プロセス・フローではこれらのアクティビティが個別のトランザクションとして評価されます。たとえば、マッピング・アクティビティを追加する場合、各マッピングが独立してコミットおよびロールバックされます。この設計の場合、1回のコミット文またはロールバック文ですべてのマッピングを制御することは不可能です。

複数のマッピングをまとめてコミットまたはロールバックするには、各マッピングをコールするスクリプトに関連付けられたSQLPlusアクティビティを使用してプロセス・フローを設計することを検討してください。詳細は、「プロセス・フロー・エディタを介したマッピングのコミット」を参照してください。

ユーティリティ・アクティビティ

表21-2に、各ユーティリティ・アクティビティをリストし、関連するアイコンを示します。

表21-2 ユーティリティ・アクティビティ

アイコン アクティビティ 簡単な説明
説明は画像の前後のテキストにあります。

割当


値を変数に割り当てます。

説明は画像の前後のテキストにあります。

電子メール


電子メールを送信します。たとえば、プロセス・フローのアクティビティのステータスに関する電子メール・メッセージを送信します。

説明は画像の前後のテキストにあります。

ファイルが存在


「ファイルが存在」アクティビティを使用して、指定されたドライブまたはディレクトリにファイルが存在するかどうかをチェックします。

説明は画像の前後のテキストにあります。

手動


プロセス・フローを停止します。プロセス・フローを再開するには、手動操作が必要です。

説明は画像の前後のテキストにあります。

通知


ユーザーに電子メールを送信し、ユーザーがプロセス・フローの処理方法を示すレスポンスをリストから選択できるようにします。

説明は画像の前後のテキストにあります。

ステータスの設定


成功、警告またはエラーのステータスを通知します。

説明は画像の前後のテキストにあります。

待機


指定した時間分、プロセス・フローの進捗を遅延します。


コントロール・アクティビティ

表21-3に、プロセス・フローの制御に使用するアクティビティを示します。表では、関連付けられているアイコンを示します。また、各アクティビティに使用できる受信および送信推移の数も示します。

表21-3 コントロール・アクティビティ

アイコン アクティビティ 簡単な説明 受信推移 送信推移
説明は画像の前後のテキストにあります。

AND


別のアクティビティの起動前に全受信アクティビティを完了することを指定します。

2つ以上が使用可能。受信推移の数は、上位のFORKからの送信推移の数以下であることが必要です。

無条件推移および複合推移は使用不可。

説明は画像の前後のテキストにあります。

終了(成功)

パスを成功として指定します。

1つ以上が使用可能

使用不可

説明は画像の前後のテキストにあります。

終了(エラーあり)

パスをエラーで終了として指定します。

1つ以上が使用可能

使用不可

説明は画像の前後のテキストにあります。

終了(警告あり)

パスを警告付きで終了として指定します。

1つ以上が使用可能

使用不可

説明は画像の前後のテキストにあります。

終了ループ


forループまたはwhileループの終了を定義します。

1つ以上が使用可能

ForループまたはWhileループに1つのみ。

説明は画像の前後のテキストにあります。

forループ


終了ループを使用してこのアクティビティを使用し、繰り返す構造を定義します。

必要な終了ループから1つ、およびさらに他のアクティビティから複数

ループ条件が1つおよび必要な終了条件が1つ

説明は画像の前後のテキストにあります。

FORK


1つのアクティビティが完了してから2つ以上のアクティビティを起動します。

1つ以上が使用可能

2つ以上の無条件推移のみ

説明は画像の前後のテキストにあります。

OR


指定された2つ以上のアクティビティのいずれかの完了後に、アクティビティを起動します。

2つ以上が使用可能。

無条件推移が1つのみ。

説明は画像の前後のテキストにあります。

ルート


排他的論理和およびif-then-elseシナリオを定義します。



説明は画像の前後のテキストにあります。

whileループ


条件がTRUEであるかぎり、他のアクティビティを実行します。

必要な終了ループから1つ、およびさらに他のアクティビティから複数

ループ条件が1つおよび必要な終了条件が1つ


OSアクティビティ

表21-4に、プロセス・フローで開始可能なOSアクティビティを示します。

表21-4 OSアクティビティ

アイコン アクティビティ 簡単な説明
説明は画像の前後のテキストにあります。

FTP


プロセス・フロー中にファイル転送プロトコル・コマンドを起動します。たとえば、FTPアクティビティを使用して、マッピングが実行されるコンピュータにデータ・ファイルを移動します。

説明は画像の前後のテキストにあります。

SQLPlus


プロセス・フローでSQL*Plusスクリプトを実行します。

説明は画像の前後のテキストにあります。

ユーザー定義


事前定義されていないアクティビティを表します。事前定義されていないアクティビティをプロセス・フローに取り込めるようにします。


ユーザーにOSアクティビティの制御を完全に許可するのは望ましくないため、Warehouse Builderでは、プロセス・フローで開始できるOSアクティビティを指定できます。直接実行の権限を付与または取り消すか、「セキュリティ制約の設定」で説明するように、サード・パーティによる実行を必須にすることで、ユーザーのオペレーティング・システム・コマンドの実行権限を制限します。また、プロキシ・コマンドおよびパラメータを使用し、さらに細かいアクセス制御が可能です。これらのコマンドやパラメータは、すべての実行を安全に行うためにも使用できます。

このセキュリティ機能は、$owb_home/owb/bin/adminディレクトリにあるRuntime.propertiesファイルのプロパティの設定で制御します。このファイルには、コントロール・センター・サービスを実行するコントロール・センター・プロパティ値が記述されています。コントロール・センター・サービスの起動時には、このファイルは読取り専用に設定されています。このファイルを変更した場合、コントロール・センター・サービスを再起動しないと、変更は有効になりません。

セキュリティ制約の設定

デフォルトでは、OSアクティビティ・コマンドのsecurity_constraintはDISABLEDに設定されています。

property.RuntimePlatform.0.NativeExecution.FTP.security_constraint = DISABLED
property.RuntimePlatform.0.NativeExecution.Shell.security_constraint = DISABLED
property.RuntimePlatform.0.NativeExecution.SQLPlus.security_constraint = DISABLED

OSアクティビティを有効化するには、security_constraintNATIVE_JAVAまたはSchedulerに設定する必要があります。

property.RuntimePlatform.0.NativeExecution.FTP.security_constraint = NATIVE_JAVA
property.RuntimePlatform.0.NativeExecution.Shell.security_constraint = NATIVE_JAVA
property.RuntimePlatform.0.NativeExecution.SQLPlus.security_constraint = NATIVE_JAVA

NATIVE_JAVAに設定すると、コントロール・センター・サービスによる直接実行が可能になり、SCHEDULERによりDBMS_SCHEDULERを使用して強制的に実行されます。

プロキシ・コマンドおよびパラメータの設定

USER DEFINED(Shell)FTPおよびSQLPlusの各アクティビティ・タイプには、proxy_commandプロパティとproxy_parameter_listプロパティ(オプション)という2つのプロパティがあります。

プロキシ・コマンドを指定すると、このプロキシ・コマンドがユーザー指定のコマンドおよびパラメータのかわりに実行されます。ユーザー指定のコマンドおよびパラメータは、プロキシ・パラメータに続くパラメータとしてプロキシ・コマンドに渡されます。これにより、プロキシ・コマンドはユーザーのコマンドが実行されるコンテキストになります。

proxy_commandプロパティを使用して、プロキシ・コマンドを指定できます。

アクティビティにプロキシ・コマンドを設定するには、次のコマンドを使用して、プロキシ・コマンドおよびプロキシ・パラメータ・リスト(オプション)を設定します。

property.RuntimePlatform.0.NativeExecution.FTP.proxy_command
property.RuntimePlatform.0.NativeExecution.FTP.proxy_parameter_list
property.RuntimePlatform.0.NativeExecution.Shell.proxy_command
property.RuntimePlatform.0.NativeExecution.Shell.proxy_parameter_list
property.RuntimePlatform.0.NativeExecution.SQLPlus.proxy_command
property.RuntimePlatform.0.NativeExecution.SQLPlus.proxy_parameter_list

たとえば、シェルにプロキシ・コマンドを設定する手順は、次のとおりです。

 property.RuntimePlatform.0.NativeExecution.Shell.proxy_command = /bin/proxy_sh
 property.RuntimePlatform.0.NativeExecution.Shell.proxy_parameter_list = ?-v?-n?

注意:

Runtime.propertiesファイルに対する変更権限は、Warehouse Builderの管理者以外に付与せず、ユーザーには読取り専用権限を付与するようにしてください。

AND

ANDアクティビティを使用して、プロセス・フローを再開する前に2つ以上のアクティビティの完了を指定します。

説明は画像の前後のテキストにあります。
画像and.gifの説明

ANDアクティビティには2つ以上の受信推移を含むことができます。ANDアクティビティを使用してプロセス・フローを正しく設計するには、ANDより上位のFORKアクティビティを配置する必要があります。また、ANDアクティビティに移動する推移の数は、上位のFORKからの送信推移の数以下である必要があります。FORKは、複数の無条件推移を割り当てることができるようにする唯一のアクティビティであるため、必要に応じて、ANDアクティビティによって複数のアクティビティが完了することを確認します。

ANDアクティビティにより、上位のアクティビティの結果を集計できるようになります。すべての上位のアクティビティがSUCCESSを戻す場合、ANDアクティビティはSUCCESSを戻します。上位のアクティビティがERRORを戻す場合、ANDアクティビティはERRORを戻し、ERRORを戻さない場合はWARNINGが戻されます。結果を持たないアクティビティは、SUCCESSを戻したとみなされます。SET_STATUSアクティビティを使用して、結果を作成します。この機能は、パラレル実行している一連のマッピングがすべて正常に完了したかどうかをテストする場合に特に役立ちます。

図21-1に、プロセス・フロー内のANDおよびFORKアクティビティを示します。この例では、AND_ACTIVITYが、MAP1およびMAP2の完了に基づいて下位のアクティビティをトリガーします。AND_ACTIVITYが2つの受信推移を持つのに対して、FORKアクティビティは3つの送信推移を持つため、そのプロセス・フローは有効です。また、プロセス・フローは、MAP3に関連付けられている推移およびアクティビティが削除された場合にも有効になります。

図21-1 プロセス・フローのANDアクティビティ

説明は画像の前後のテキストにあります。
「図21-1 プロセス・フローのANDアクティビティ」の説明

送信条件の場合、ANDアクティビティには1つ、2つまたは3つの条件付き推移を含むことができます。これにより、成功、警告およびエラー・アクティビティで終了する3つのパスになる可能性があります。

割当

「アクティビティの割当」を使用して、変数に値を割り当てます。たとえば、このアクティビティを使用して変数をゼロに戻します。

説明は画像の前後のテキストにあります。
画像act_icon_assign.gifの説明

表21-5 割当てアクティビティ・パラメータ

パラメータ 説明

Value

変数に割り当てる値を入力します。

Variable

エディタで前に定義した変数を選択します。


データ監査

データのプロファイルの結果に基づいて処理するプロセス・フローを設計できます。たとえば、データの品質がしきい値パラメータによって決定された基準を満たす場合にのみマッピングを実行する論理を作成します。

説明は画像の前後のテキストにあります。
画像data_auditor_act_icon.gifの説明

表21-6 データ監査モニター・アクティビティ・パラメータ

パラメータ 説明

AUDIT_LEVEL

NONE

STATISTICS

ERROR_DETAILS

COMPLETE

BLUK_SIZE

1+

COMMIT_FREQUENCY

1+

MAX_NO_OF_ERRORS

マッピングが終了した後に許可されるエラーの最大数

OPERATING_MODE

SET_BASED

ROW_BASED

ROW_BASED_TARGET_ONLY

SET_BASED_FAIL_OVER_TO_ROW_BASED

SET_BASED_FAIL_OVER_TO_ROW_BASED_TARGET_ONLY


電子メール

プロセス・フローのアクティビティが完了した後に電子メール通知を送信できます。たとえば、マッピングのようなアクティビティがエラーまたは警告で終了したと管理者に通知する場合、これが役立ちます。

説明は画像の前後のテキストにあります。
画像email.gifの説明

表21-7に、電子メール・アクティビティに設定するパラメータを示します。

表21-7 電子メール・アクティビティ・パラメータ

パラメータ 説明

SMTP Server

送信メール・サーバーの名前。デフォルト値はlocalhostです。

Port

送信メール・サーバーのポート番号。デフォルト値は25です。

From_Address

プロセス・フロー通知の送信元の電子メール・アドレス。

Reply_To_Address

受信者が応答する電子メール・アドレスまたはメーリング・リスト。

To_Address

プロセス・フロー通知を受信する電子メール・アドレスまたはメーリング・リスト。カンマまたはセミコロンを使用して、複数の電子メール・アドレスを区切ります。

CC_Address

プロセス・フロー通知のコピーを受信する電子メール・アドレスまたはメーリング・リスト。カンマまたはセミコロンを使用して、複数の電子メール・アドレスを区切ります。

BCC_Address

プロセス・フロー通知のブラインド・コピーを受信する電子メール・アドレスまたはメーリング・リスト。カンマまたはセミコロンを使用して、複数の電子メール・アドレスを区切ります。

Importance

通知の重要性のレベル。たとえば、HighMediumまたはLowなどのテキストを入力できます。

Subject

電子メールの件名の行に表示されるテキスト。

Message_Body

電子メールの本文に表示されるテキスト。テキストの入力または貼付けを実行するには、「アクティビティ」パネル下部の「値」を選択します。プロセス・フロー・エディタに入力できるテキスト数は無制限です。


電子メール・アドレスの場合、表示名の有無にかかわらず電子メール・アドレスを入力できます。たとえば、次の入力は適切です。

jack.emp@example.com

Jack Emp<jack.emp@example.com>

Jack Emp[jack.emp@example.com]

Jack Emp[jack.emp@example.com],Jill Emp[jill.emp@example.com]

Jack Emp[jack.emp@example.com];Jill Emp[jill.emp@example.com]

電子メール・アクティビティを含むプロセス・フローを実行するには、様々なホスト・マシンやポートにアクセスする必要があります。Oracle Database 11gリリース1に実装された新しいセキュリティ措置により、ホストおよびポートへのアクセスは制限されます。DBMS_NETWORK_ACL_ADMINパッケージを使用して、電子メール・アクティビティがアクセスするホストおよびポートへのアクセス権を明示的に付与する必要があります。

たとえば、ユーザーOWBSYSがメール・サーバーmail.example.com、ポート25を使用して電子メールを送信する必要があるとします。DBAは次の手順を実行する必要があります。

  1. 次のコマンドを使用して、ユーザーOWBSYSのアクセス制御リスト(ACL)を作成します。

    EXECUTE DBMS_NETWORK_ACL_ADMIN.CREATE_ACL
            ('acl_for_owb_cc.xml','ACL for Control Center','OWBSYS','CONNECT');
    

    ACLは、ネットワーク・ターゲットに割り当てないと、アクセス制御の効果を発揮しません。

  2. アクセス制御リスト(ACL)をネットワーク・ホストに割り当て、オプションでTCPのポート範囲を指定します。次のコマンドを使用します。

    EXECUTE DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL
            ('acl_for_owb_cc.xml','mail.example.com',25)
    
  3. COMMITコマンドを使用して変更をコミットします。

終了

プロセス・フローのパスはすべて、終了アクティビティで終了する必要があります。

説明は画像の前後のテキストにあります。
画像end_success.gifの説明

プロセス・フローを最初に作成したときに、デフォルトでは成功タイプの終了アクティビティが含まれています。終了タイプを使用して、パスに含まれるロジックのタイプを指定します。マッピングなどの特定のアクティビティには3種類の結果があるため、表21-8に示すように、3つの終了タイプがエディタに用意されています。これらの終了タイプを使用して、プロセス・フローのエラー処理ロジックを設計できます。

表21-8 終了アクティビティのタイプ

アイコン 終了タイプ 説明
説明は画像の前後のテキストにあります。

正常終了

正常終了する上位のアクティビティに依存して、パスが論理を含むことを示します。

説明は画像の前後のテキストにあります。

警告

警告で終了する上位のアクティビティに依存して、パスが論理を含むことを示します。

説明は画像の前後のテキストにあります。

エラー

エラーで終了する上位のアクティビティに依存して、パスが論理を含むことを示します。


1つ、2つまたは3つすべての終了のタイプを含むように、プロセス・フローを設計できます。終了タイプはそれぞれ1回のみ使用できます。終了タイプは重複して使用できません。各終了アクティビティには、単一または複数の受信推移を含むことができます。

図21-2では、END_SUCCESSに3つの受信推移があります。それぞれが上位のアクティビティの正常終了に依存します。END_ERRORには、上位のマッピング・アクティビティがエラーで終了する場合に実行する電子メール・アクティビティからの1つの受信推移があります。

図21-2 プロセス・フローの終了アクティビティ

この図の内容については、周辺の説明を参照してください。
「図21-2 プロセス・フローの終了アクティビティ」の説明

デフォルトでは、すべてのプロセス・フローには、end_successが含まれます。終了アクティビティを別のタイプに変更できませんが、違うタイプの終了アクティビティを追加できます。

終了アクティビティをプロセス・フローに追加する手順は次のとおりです。

  1. プロセス・フロー・エディタのパレットから、該当する「終了」アイコンをキャンバスにドラッグ・アンド・ドロップします。

    Warehouse Builderでは、すでにプロセス・フローに表示されている終了タイプを選択できません。

  2. 「OK」をクリックします。

    Warehouse Builderによって、終了アクティビティがキャンバスに追加されます。

終了ループ

エディタは、キャンバスに追加する各ForループおよびWhileループに対して、終了ループを追加します。

説明は画像の前後のテキストにあります。
画像end_loop_icon.gifの説明

終了ループ・アクティビティには、ForループまたはWhileループ・アクティビティへの単一の無条件送信推移が必要です。ループを構成するすべてのフローを、終了ループ・アクティビティに収束して、次のループ相互作用またはループ終了のいずれかに対してパラレル・フローが確実に残らないようにする必要があります。

ファイルが存在

「ファイルが存在」アクティビティを使用して、次のアクティビティを実行する前にファイルの存在を確認します。「アクティビティ」パネルで、ファイル名を入力します。

説明は画像の前後のテキストにあります。
画像file_exists.gifの説明

「ファイルが存在」アクティビティでの確認は1回のみです。ファイルが存在する場合、プロセス・フローが正常終了推移に進みます。ファイルが存在しない場合、プロセス・フローは警告推移に進みます。「ファイルが存在」アクティビティは、OMB Plusを使用している場合のTCLエラーのような重大な障害の場合にのみエラー推移をトリガーします。

「ファイルが存在」アクティビティには、PATHと呼ばれる1つのパラメータがあります。このパラメータに対して、完全修飾ファイル名、ディレクトリ名、またはセミコロン区切りのリストを指定します。通常、パスはコントロール・センター・サービスが実行中のホストと同じホストでテストされます。

基礎となるオペレーティング・システムのセキュリティ制約は、1つ以上のファイルへのアクセスを禁止する場合があり、ファイルが存在しないようにみえることがあります。すべてのパスが存在する場合、アクティビティはEXISTSを戻します。パスがまったく存在しない場合は、MISSINGを戻します。複数のパスが存在する場合は、SOME_EXISTを戻します。

FORK

FORKアクティビティを使用して、1つのアクティビティの完了後に複数の並行アクティビティを起動します。

説明は画像の前後のテキストにあります。
画像fork.gifの説明

FORKアクティビティに複数の受信推移を割り当てることができます。FORKアクティビティは、パラレル処理される複数の無条件送信推移の割当てを可能にする唯一のアクティビティです。たとえば、図21-3では、MAP1の完了後に、プロセス・フローがFTP、FDSおよびEMAILという名前のアクティビティをパラレル実行します。

図21-3 FORKアクティビティによるパラレル・プロセスの保証

この図の内容については、周辺の説明を参照してください。
「図21-3 FORKアクティビティによるパラレル・プロセスの保証」の説明

図21-4に、FORKアクティビティがない同じアクティビティを示します。この場合、アクティビティのうち1つのみがMAP1の完了状態に基づいて実行されます。

図21-4 FORKアクティビティがない結果としての条件付きプロセス

この図の内容については、周辺の説明を参照してください。
「図21-4 FORKアクティビティがない結果としての条件付きプロセス」の説明

プロセス・フロー・エディタは、送信推移またはFORKから割り当てることができる並行アクティビティの数を制限しません。並行実行の設計の際、プロセス・フローを実行するために使用するワークフロー・エンジンまたはサーバーによって課せられる制限に基づいてFORKを設計します。

送信FORKアクティビティ推移は、複合式を持つことができません。

forループ

forループを使用して、ループに含まれたアクティビティを繰り返し実行してから終了し、プロセス・フローを再開します。

説明は画像の前後のテキストにあります。
画像for_loop.gifの説明

forループを追加する際、エディタは終了ループ・アクティビティと終了ループへの推移も追加します。送信推移の場合、ループ条件を持つものと終了条件を持つものを定義します。送信推移を選択して、「オブジェクトの詳細」の「条件」をクリックします。

表21-9 FORループ・アクティビティ・パラメータ

パラメータ 説明

Condition

TRUEと評価された場合、式はループ推移を実行し、それ以外は終了推移を実行します。

Variable

変数またはパラメータに限定され、その値は繰返しのたびに増加します。

Initial_Value

ループに入る際の変数の初期値。デフォルトでは、式の入力が必要です。

Next_Value

変数の次の値。デフォルトでは、式の入力が必要です。


FTP

FTPアクティビティを使用して、提供するFTPコマンドのスクリプトに基づいて、あるロケーションから別のロケーションへファイルを転送します。FTPアクティビティは、「ユーザー定義」アクティビティの特化したものです。これら2つのアクティビティの違いは、FTPアクティビティはリモート・ファイル・ロケーションによって構成される必要があることです。

説明は画像の前後のテキストにあります。

有効化されるプロセス・フローの場合、FTPコマンドには、インストールされたコントロール・センター・サービスを使用したサーバーとの間のデータ転送が含まれる必要があります。コントロール・センター・サービスをホストしていない2台のコンピュータの間でデータを移動するには、1台目のコンピュータがコントロール・センター・サービスのホスト・コンピュータにデータを転送してから、2台目のコンピュータにデータを転送します。

FTPアクティビティを使用してプロセス・フローを設計する前に、ソースと宛先に定義されたロケーションがあることを確認します。

FTPアクティビティは、提供するFTPコマンドのスクリプトに依存します。Warehouse Builder内でスクリプトを記述するか、Warehouse Builderにスクリプトを含むファイルを指示するかのいずれかを選択できます。次のメソッドのいずれかを選択してください。

Warehouse Builderでのスクリプトの記述

Warehouse BuilderでFTPコマンドのスクリプトを保守する場合、またはサーバーに対するパスワード・セキュリティが要件である場合(あるいはその両方の場合)、この方法を選択します。

この方法の場合、COMMANDパラメータで、FTP実行可能ファイルへのパスを入力します。また、UNIX以外のファイル転送プロトコルの場合、PARAMETER_LISTパラメータにプロトコルの追加パラメータを入力します。SCRIPTパラメータのVALUE列にスクリプトを入力します。

表21-10に、Warehouse Builder内でスクリプトを作成する際にFTPアクティビティに対して設定するパラメータを示します。

表21-10 Warehouse BuilderにおけるスクリプトのFTPアクティビティ・パラメータ

パラメータ 説明

COMMAND

ファイル転送プロトコル・コマンドへのパスを入力します。Windowsオペレーティング・システムの場合、c:¥WINNT¥System32¥ftp.exeなどとなります。

PARAMETER_LIST

これはコマンドに渡されるパラメータのリストです。各パラメータはトークンで区切られます。トークンはパラメータ・リスト文字列の最初の文字として使用され、文字列もそのトークンで終わる必要があります。Warehouse Builderでは「?」の文字が推奨されますが、任意の文字を使用することもできます。たとえば、「abc」、「def」および「ghi」を渡す場合、次のいずれの形式も可能です。

?abc?def?ghi?

または

!abc!def!ghi!

または

|abc|def|ghi|

トークン文字または「¥」をパラメータの一部として含める必要がある場合、「¥」でエスケープする必要があります(「¥¥」など)。「¥」がトークン文字である場合、「¥」がエスケープ文字となります。

ファイル転送プロトコルに必要な追加パラメータを入力します。

Windowsの場合、?"-s:${Task.Input}"?と入力します。${Task.Input}トークンはWarehouse Builderに対し、スクリプトを一時ファイルに格納し、トークンを一時ファイルの名前で置き換えるよう促します。したがって、スクリプトは標準入力として渡されません。

注意: Windows FTPコマンドはファイルを除く標準入力では使用できないため、-sパラメータが設定されます。

UNIXの場合、この値は空白にしておく必要があります。通常、UNIX FTPは標準入力から読み込むため、その他のパラメータは必要ありません。

SUCCESS_THRESHOLD

FTPコマンド完了ステータスを指定します。正常な完了を示す最も大きい戻り値をオペレーティング・システムから入力します。オペレーティング・システムがさらに大きな値を戻した場合、コマンドが失敗したことを示します。

デフォルト値は0です。

SCRIPT

このパラメータに、FTPに必要なスクリプトを入力できます。

テキストを入力または貼り付けるには、「オブジェクトの詳細」パネルの最下部で「値」を選択します。プロセス・フロー・エディタでは、入力できるテキストの量に制限はありません。

スクリプト内の各改行は、[Enter]キーを押す操作に相当します。FTPコマンドを確実に終了させるには、スクリプトがbyeまたはquitで終わり、その後に改行が続く必要があります。


図21-5に、Warehouse Builder内で作成されたスクリプトを呼び出すためのFTPアクティビティ・パラメータ設定の例を示します。

図21-5 スクリプトを使用したFTPアクティビティのアクティビティ・ビュー

図21-5の説明が続きます
「図21-5 スクリプトを使用したFTPアクティビティのアクティビティ・ビュー」の説明

図21-6に、SCRIPTパラメータの「値」列におけるスクリプトの1行目を示します。スクリプト全体を表示するには、「値」列の「コロン」ボタンをクリックします。Warehouse Builderに表示されたSCRIPT値エディタを使用して、図21-6のスクリプトのようなFTPスクリプトを記述またはコピー・アンド・ペーストできます。

図21-6 置換変数を使用したSCRIPT値エディタ

図21-6の説明が続きます
「図21-6 置換変数を使用したSCRIPT値エディタ」の説明

図21-6のスクリプトには、${Remote.User}および${Remote.Password}が含まれる点に注意してください。これらは置換変数です。詳細は、「置換変数の使用」を参照してください。

置換変数の使用

置換変数は、Warehouse BuilderでFTPスクリプトを記述して格納することを選択した場合にのみ使用できます。

置換変数を使用して、サーバー・ファイル、アカウントおよびパスワードが変更される場合にFTPアクティビティが更新されることを防止します。たとえば、FTPアクティビティを利用して特定のディレクトリの下のsalessrv1上のファイルにアクセスする10個のプロセス・フローを作成する場合を考えます。ファイルを移動する場合、置換変数を使用しないと、各FTPアクティビティを個別に更新する必要があります。置換変数を使用すると、更新が必要なのはロケーション情報のみになります。

また、置換変数はパスワードのセキュリティを維持する上で重要です。置換変数をサーバー・パスワードとして使用したFTPアクティビティを実行すると、変数はユーザーが入力した関連ロケーションのセキュア・パスワードに解決されます。

表21-11は、FTPアクティビティに対して入力できる置換変数を示しています。Workingは、コントロール・センター・サービスがあるコンピュータのことで、この事例ではローカル・コンピュータを意味します。Remoteは、データ転送に関与する他のサーバーを意味します。FTPアクティビティを構成する場合に、「プロセス・フローの構成のリファレンス」の説明に従って、どのサーバーをリモートおよびローカルにするかを指定します。

表21-11 FTPアクティビティに対する置換変数

変数

${ Working.RootPath }

コントロール・センター・サービス・ホストのロケーションに対するルート・パス値。

${ Remote.Host }

コントロール・センター・サービス・ホストとの間のデータ転送に関与するロケーションに対するホスト値。

${ Remote.User }

コントロール・センター・サービス・ホストとの間のデータ転送に関与するロケーションに対するユーザー値。

${ Remote.Password }

コントロール・センター・サービス・ホストとの間のデータ転送に関与するロケーションに対するパスワード値。

${ Remote.RootPath }

コントロール・センター・サービス・ホストとの間のデータ転送に関与するロケーションに対するルート・パス値。

${ Task.Input }

WorkingおよびRemoteロケーションは、プロセス・フローの構成時にFTPアクティビティに対して設定されます。

${ parameter_name }

${ parameter_name }構文を使用して、カスタム・パラメータの値をスクリプトおよびパラメータに置換できます。


すべてのカスタム・パラメータは、コマンドの環境スペースにインポートされます。たとえば、PATHというカスタム・パラメータを定義することにより、OS実行可能ファイルの検索に使用される検索パスを変更できます(JAVA VMでは、これができない場合があります)。

Warehouse Builder外部のスクリプトのコール

パスワード・セキュリティの問題がない場合、Warehouse BuilderではFTPコマンド、ユーザー名およびパスワードを含むスクリプトを持つファイルを指定できます。

ファイル・システムのファイルをコールするには、Warehouse Builderがそのファイルを指定するようにPARAMETERS_LISTに適切なコマンドを入力します。Windowsオペレーティング・システムの場合、次のように入力します。?"-s:<file path¥file name>"?

たとえば、Cドライブのtempディレクトリにあるmove.ftpという名前のファイルをコールするには、次のように入力します。 ?"-s:c:¥temp¥move.ftp"?

このメソッドの場合、SCRIPTパラメータを空白のままにします。

表21-12に、FTPスクリプトがシステム上のファイルに存在する場合にFTPアクティビティに対して設定するパラメータを示します。

表21-12 Warehouse Builder外部のスクリプトに対するFTPアクティビティ・パラメータ

パラメータ 説明

Command

このパラメータは空白のままにします。

Parameter List

FTPスクリプトに対するパスとファイルの名前を入力します。プロセス・フロー・エディタは、セパレータとして入力する最初の文字を解釈します。たとえば、プロセス・フロー・エディタは次のエントリを/cおよびdirの2つのパラメータとして解釈します。

?/c?dir?

バックスラッシュをエスケープ文字として使用します。たとえば、プロセス・フロー・エディタは、次のエントリを-l-sおよび/の3つのパラメータとして解釈します。

/-l/-s/\//

Success Threshold

FTPコマンド完了ステータスを指定します。正常な完了を示す最も大きい戻り値をオペレーティング・システムから入力します。オペレーティング・システムがさらに大きな値を戻した場合、コマンドが失敗したことを示します。

デフォルト値は0です。

Script

このパラメータは空白のままにします。


手動

「手動アクティビティ」を使用して、プロセス・フローを停止します。

説明は画像の前後のテキストにあります。
画像act_icon_manual.gifの説明

プロセス・フローを停止した後、ユーザーはコントロール・センターまたはリポジトリ・ブラウザによって介入し、プロセス・フローを再開する必要があります。

このアクティビティを使用すると、プロセスを設計してETLプロセスを再起動またはリカバリできるようになります。

手動アクティビティは、通知アクティビティと類似していますが、手動アクティビティはOracle Workflowの実装を必要としないため、電子メールを送信しません。Oracle Workflowと対話せずに通知アクティビティと同じ結果にするには、手動アクティビティの前に電子メール・アクティビティを使用するようにしてください。

表21-13 手動アクティビティ・パラメータ

パラメータ 説明

Performer

プロセス・フローを再開できる個人またはグループの名前。

Subject

アクティビティのサブジェクトを入力します。

Text_body

プロセス・フローを再開する前に実行される特別な指示を入力します。

Priority

優先度を選択します。オプションは、 1= 高、 50=中、 99=低です。


マッピング

マッピング・アクティビティを使用して、マッピング・エディタで定義および構成した既存のマッピングを追加します。

説明は画像の前後のテキストにあります。
画像mapping.gifの説明

複数の受信推移をマッピング・アクティビティに割り当てることができます。送信推移の場合つの無条件推移または各無条件推移のうちの1つに割り当てます。

マッピングをプロセス・フローに追加する場合、その構成プロパティを「アクティビティ」パネルに表示できます。プロセス・フロー・エディタの「マッピング」アクティビティは、マッピング・エディタのマッピングからそのプロパティを継承します。プロセス・フロー・エディタでは、プロパティ・データ型または方向を変更できません。

ただし、プロセス・フローのみに影響を与え、マッピング・エディタのマッピングの設定を変更しない新規の値を割り当てることができます。たとえば、プロセス・フロー・エディタでオペレーティング・モードをセット・ベースから行ベースに変更する場合、プロセス・フローは行ベースで実行します。元のマッピングはそのオペレーティング・モードとしてセット・ベース・モードのままです。基礎となるマッピングのプロパティを変更する場合は、「マッピング構成のリファレンス」を参照してください。

マッピングにマッピング入力パラメータ演算子が含まれる場合、そのデータ型に従って値を指定します。プロセス・フロー・エディタは、マッピングにマッピング入力パラメータ演算子が追加される場合に、PL/SQL式を受け取ることを想定します。マッピング入力パラメータが文字列の場合、二重引用符でその文字列を囲みます。

マッピング・エディタでマッピングを変更したプロセス・フローを更新する場合、プロセス・フローからマッピング・アクティビティを削除し、マッピング・アクティビティを再び追加します。

表21-14および表21-15に、PL/SQLおよびSQL*Loaderの異なるマッピング・パラメータを示します。

表21-14に、PL/SQLマッピング・パラメータを示します。

表21-14 PL/SQLのマッピング・パラメータ

パラメータ 有効な値

AUDIT_LEVEL

NONE

STATISTICS

ERROR_DETAILS

COMPLETE

BLUK_SIZE

1+

COMMIT_FREQUENCY

1+

MAX_NO_OF_ERRORS

マッピングがエラーで終了した後に許可されるエラーの最大数

OPERATING_MODE

SET_BASED

ROW_BASED

ROW_BASED_TARGET_ONLY

SET_BASED_FAIL_OVER_TO_ROW_BASED

SET_BASED_FAIL_OVER_TO_ROW_BASED_TARGET_ONLY


表21-15に、SQL*Loaderマッピング・パラメータを示します。

表21-15 SQL*Loaderのマッピング・パラメータ

パラメータ 説明

BAD_FILE_NAME

SQL*LoaderのBADファイルの名前

DATA_FILE_NAME

SQL*LoaderのDATAファイルの名前

DISCARD_FILE_NAME

SQL*LoaderのDISCARDファイルの名前


通知

説明は画像の前後のテキストにあります。
画像act_icon_notifcation.gifの説明

通知アクティビティを使用すると、ETLプロセスを再開またはリカバリするプロセスを設計できます。このアクティビティはOracle Workflowと連携して機能します。通知を実装するには、Oracle Workflowのワークフロー通知も実装する必要があります。または、電子メールアクティビティに続けて手動アクティビティを使用することも可能です。メッセージの送信方法はOracle Workflowサブシステムで決定されます。

通知アクティビティを使用するには、最初に表21-16に示されるパラメータを定義します。定義する各レスポンスに基づいて条件付き送信推移を定義します。たとえば、response_typeの値が「はい」、「いいえ」でdefault_responseの値が「はいの場合は、2つの送信推移を定義します。各推移を右クリックして「条件」を選択し、条件のリストを表示します。この例では、「はい」に設定された条件を持つ1つの送信推移と「いいえ」に設定された別の送信推移を作成します。

表21-16 通知アクティビティ・パラメータ

パラメータ 説明

Performer

Oracle Workflow管理者によって定義されたロールの名前を入力します。

Subject

電子メールの件名を入力します。

Text_body

実行者の指示を入力します。レスポンスがプロセス・フローに与える影響を説明し、レスポンスされない場合のデフォルトのアクションを説明します。

Html_body

テキストに追加して、またはテキストのかわりにhtmlを使用します。Html_bodyに入力した内容はText_bodyに追加されます。

Response_type

実行者がレスポンスを選択するカンマ区切りの値リストを入力します。各エントリはアクティビティからの1つの送信推移に対応します。

Default_response

デフォルト・レスポンスを入力します。

Priority

電子メールの優先度を1(高)、50(中)または99(低)のいずれかから選択。

Timeout

レスポンスを待つ秒数。これが設定される場合は#TIMEOUT推移が必要です。

Response_processor

Oracle Workflow通知レスポンス・プロセッサ機能。詳細は、Oracle Workflowのマニュアルを参照してください。

Expand_roles

通知投票に使用します。この値をTRUEまたはFALSEに設定します。TRUEに設定する場合、通知はグループに1つの共有メッセージではなく、グループの各メンバーに送信されます。詳細は、Oracle Workflowのマニュアルを参照してください。



注意:

Oracle Workflow制限により、実行者、優先度、タイムアウトおよびカスタム・パラメータの値のみを実行時に変更できます。

通知メッセージの置換

カスタム・パラメータを通知アクティビティに追加して、通知を介してユーザーからデータを受け渡し、取り出すことができます。INパラメータは、SQLおよび適切な構文を使用してメッセージに置換されます。たとえば、NAMEというカスタム・パラメータの場合、テキスト&NAMEがパラメータの値で置換されます。また、OUTパラメータに値を入力するよう要求されます。

OR

ORアクティビティを使用すると、1つ以上の上位のアクティビティの完了に基づいてアクティビティを起動できます。ORアクティビティには、複数の受信推移および1つのみの無条件送信推移を割り当てることができます。

ORアクティビティはANDアクティビティと類似のセマンティックを持ちますが、相違点は、ORアクティビティは完了した最初の上位のアクティビティの正常終了、警告またはエラーの結果を伝播することです。

説明は画像の前後のテキストにあります。
画像or.gifの説明

プロセス・フローのORアクティビティは、ダウンストリーム・アクティビティが各プロセス・フローの実行に1回のみトリガーされることを確認します。

図21-7 プロセス・フローにおけるORアクティビティ

この図の内容については、周辺の説明を参照してください。
「図21-7 プロセス・フローにおけるORアクティビティ」の説明

プロセス・フロー・エディタを使用することにより、ORアクティビティを省略して、3つのマッピング・アクティビティのそれぞれからの推移を、図21-7に示すSUBPROC1に割り当てることができます。ただし、この論理では1回のプロセス・フローの実行でSUBPROC1を3回起動することになります。これを回避するには、ORアクティビティを使用してください。

ルート

「ルート・アクティビティ」を使用すると、アクティビティの結果を、定義した条件に基づいて特定の結果になるようにルーティングできます。排他ORおよびif-then-elseシナリオを定義できます。

説明は画像の前後のテキストにあります。
画像route.gifの説明

ルート・アクティビティは、操作を持たず、推移の方向を変更する場合に使用できます。ルート・アクティビティには、その他のアクティビティと同様に、複合条件を持つ送信推移を追加できます。ただし、このアクティビティには操作がないため、条件ではプロセス・フローのパラメータおよび変数のみを参照できます。ルート・アクティビティを指定することにより、ANDやORアクティビティの結果に影響を与えることができます。ルート・アクティビティは、独自の結果を持たないため、正常終了したものとみなされます。

このアクティビティにはパラメータはありません。

ステータスの設定

「ステータス設定アクティビティ」を使用して、正常終了、警告またはエラーの各ステータスを通知できます。

説明は画像の前後のテキストにあります。
画像act_icon_set_status.gifの説明

ステータスの設定は、ANDアクティビティの動作を上書きする手段として使用できます。ANDの直前のアクティビティのいずれかがエラーを戻した場合、ANDアクティビティもエラーとして判断されることに留意してください。先行するアクティビティの結果と無関係にANDを正常終了として判断されるようにするには、そのアクティビティとANDアクティビティの間にステータスの設定を挿入します。

SQLPlus

SQLPlusアクティビティを使用すると、スクリプトをプロセス・フローに導入できます。

説明は画像の前後のテキストにあります。
画像act_icon_sql_plus.gifの説明

スクリプトの貼付けまたは入力を行うには、キャンバス上でアクティビティを選択してエディタのエクスプローラで「スクリプト」を選択し、「オブジェクトの詳細」で「値」をクリックします。または、ファイル・システム上の既存のスクリプトを参照するため、parameter_listに移動し、アット・マーク(@)に続けてフルパスを入力します。

このアクティビティは広範な目的に使用できますが、一例は、SQLPlusアクティビティを使用してプロセス・フローにおいて複数のマッピングをコミットする方法を制御することです。詳細は、プロセス・フロー・エディタを介したマッピングのコミットを参照してください。

プロセス・フローでのアクティビティの使用

SQLPlusアクティビティのプロセス・フローは配布ロケーションの構成アイテムによって実行されます。

SQLPlusアクティビティを実行するロケーションを設定する手順は、次のとおりです。

  1. プロジェクト・エクスプローラで、「プロセス・フロー」モジュールを展開します。

  2. 「プロセス・フロー」モジュールで、「プロセス・フロー」を選択します。

  3. 「プロセス・フロー」を右クリックして「構成」を選択します。

  4. 構成プロパティ・ウィンドウで、「SQL*Plusアクティビティ」を展開します。

  5. SQLPLUSを選択します。

    図21-8 配布ロケーションの構成

    図21-8の説明が続きます
    「図21-8 配布ロケーションの構成」の説明

  6. 「パスの設定」で、「配布ロケーション」オプションをSQLPlusアクティビティを実行するロケーションに設定します。

SQLPlusアクティビティは、ユーザー定義アクティビティと類似していますが、次の相違点があります。

  • COMMANDパラメータは、自動的に導出されるため、指定できません。

  • ${ Task.Input }置換変数を使用した場合は、生成される一時ファイルの末尾は.sqlになります。

  • 用意されている置換変数のセットが異なります。このアクティビティは、配布されたデータベース・ロケーションを使用して構成する必要があります。

表21-17 SqlPlusアクティビティ・パラメータ

パラメータ 説明

Parameter_List

スクリプトが含まれるファイルのロケーションのフルパスを、その前に@を付けて入力します。

Script

parameter_listにパスを入力するかわりに、スクリプトを入力するか貼り付けることもできます。


置換変数の使用

置換変数はFTPと類似しています。FTPがFTPサーバーに接続する際にリモート・ロケーションを使用するのと同様に、置換変数は、Oracleデータベースに接続する際に次のロケーションを使用します。

  • 作業ロケーション(ローカル・ロケーション)

  • 配布ロケーション(ターゲット・ロケーション)

表21-18 SqlPlus置換変数

置換変数 説明

${ Working.RootPath }

ローカル作業ディレクトリ

${ Task.Input }

SCRIPTパラメータから生成される一時ファイル

${ Target.Host }

ターゲット・ロケーションのホスト名

${ Target.Port }

ターゲット・ロケーションのポート番号

${ Target.Service }

ターゲット・ロケーションのサービス名

${ Target.TNS }

ターゲット・ロケーションのTNSアドレス

${ Target.Schema }

ターゲット・ロケーションのスキーマ名

${ Target.User }

ターゲット・ロケーションのユーザー名

${ Target.Password }

ターゲット・ロケーションのユーザー・パスワード

${ Target.URL }

ターゲット・ロケーションの接続記述子


PARAMTER_LISTが空の場合、配布ロケーション・パラメータに応じて、次のパラメータ・リストのいずれかが使用されます。

  • ?${ Target.User }/${ Target.Password }@${ Target.TNS }?@${ Task.Input }?

  • ?${ Target.User }/${ Target.Password }@${ Target. URL }?@${ Task.Input }?

  • ?${ Target. Schema }/${ Target.Password }@${ Target.TNS }?@${ Task.Input }?

  • ?${ Target. Schema }/${ Target.Password }@${ Target. URL }?@${ Task.Input }?

SQL*Plusコマンド

SQL*Plusコマンドは、FTPユーザー定義アクティビティに直接入力できません。ホーム・ディレクトリからロードされるか、そのロケーションがワークスペース管理者によって事前定義されています。

SQL*Plusの実行ロケーションの決定には、次のプラットフォーム・プロパティがこの順序で使用されます。

  1. property.RuntimePlatform.0.NativeExecution.SQLPlus.sqlplus_exe_10g

  2. property.RuntimePlatform.0.NativeExecution.SQLPlus.sqlplus_exe_9i

  3. property.RuntimePlatform.0.NativeExecution.SQLPlus.sqlplus_exe_8i

  4. property.RuntimePlatform.0.NativeExecution.SQLPlus.sqlplus_exe_default

同様に、Oracleホームの決定には次のプラットフォーム・プロパティが使用されます。

  1. property.RuntimePlatform.0.NativeExecution.SQLPlus.oracle_home_10g

  2. property.RuntimePlatform.0.NativeExecution.SQLPlus.oracle_home_9i

  3. property.RuntimePlatform.0.NativeExecution.SQLPlus.oracle_home_8i

  4. property.RuntimePlatform.0.NativeExecution.SQLPlus.oracle_home_default

開始

デフォルトでは、各プロセス・フローに1つの開始アクティビティを含めます。開始アクティビティの入力パラメータを、全体のプロセス・フローの入力パラメータになるよう設定できます。

説明は画像の前後のテキストにあります。
画像start.gifの説明

開始アクティビティにパラメータを追加する手順は次のとおりです。

  1. プロジェクト・エクスプローラで、「プロセス・フロー」をダブルクリックしてプロセス・エディタを開きます。

  2. 「エクスプローラ」ペインで、「選択したオブジェクト」タブをクリックします。

  3. 「選択したオブジェクト」タブで、「アクティビティ」フォルダを展開します。

  4. 「開始アクティビティ」を選択して、「エクスプローラ」ペインの「作成」ボタン(左上隅の小さな緑色の「加算」ボタン)をクリックします。

    プロセス・フロー・エディタにより、開始アクティビティにパラメータが追加されます。

    図21-9 開始アクティビティに追加されたパラメータ

    図21-9の説明が続きます
    「図21-9 開始アクティビティに追加されたパラメータ」の説明

  5. 「オブジェクトの詳細」ペインで、パラメータのプロパティを設定します。

    パラメータ名とデータ型を必要に応じて変更します。この方向とバインドは変更できません。方向はINであり、パラメータが入力パラメータのみであることを示しています。値にはパラメータ値を入力します。この値は実行時に上書きできます。

  6. これで、パラメータをプロセス・フローの他のアクティビティの入力として使用できます。

サブプロセス

以前に作成したプロセス・フローを起動するには、サブプロセス・アクティビティを使用します。1つのプロセス・フローから、同じまたは別のプロセス・フロー・パッケージに含まれる別のプロセス・フローを起動できます。

説明は画像の前後のテキストにあります。
画像subprocess.gifの説明

サブプロセスをプロセス・フローに追加した後、これを他のアクティビティと類似する設計に使用します。受信推移は複数割り当てることができます。送信推移には、無条件送信推移を1つのみ、または3つまでの条件付き送信推移を割り当てます。

サブプロセス内の終了アクティビティは、「サブプロセス」のみに適用され、プロセス・フローの終了ポイントとしては機能しません。

サブプロセスと他のアクティビティの重要な違いには、サブプロセスの内容は参照できるがその内容を親プロセス・フローでは編集できないという点があります。サブプロセスを編集するには、プロジェクト・エクスプローラで基礎となるプロセス・フローを開きます。プロセス・フローの名前の変更以外は、プロセス・フロー・エディタにより子プロセス・フローの変更が親プロセス・フローに伝播されます。


注意:

プロセス・フローの名前の変更は注意してください。別のプロセス・フローで参照されるプロセス・フローの名前を変更する場合は、親プロセス・フローが無効になります。無効なサブプロセスを削除して、子プロセス・フローの新しい名前に関連付けられたサブプロセスを新たに追加する必要があります。

サブプロセスのアクティビティをプロセス・フローに追加する手順は次のとおりです。

  1. プロセス・フロー・エディタのパレットから、「サブプロセス」アクティビティ・アイコンをキャンバスにドラッグ・アンド・ドロップします。

    Warehouse Builderにより、プロセス・フローをサブプロセスとして選択し、追加するためのダイアログ・ボックスが表示されます。

  2. 「プロセス・フロー・モジュール」を拡張して、親プロセス・フローとして同じプロセス・フロー・パッケージから1つのプロセス・フローを選択します。

    Warehouse Builderにより、プロセス・フローが親プロセス・フローのサブプロセス・アクティビティとして表示されます。

  3. サブプロセスの内容を表示するには、サブプロセスを右クリックして、「ノードの拡張」を選択します。

    プロセス・フロー・エディタにより、サブプロセスのグラフが青い枠線で囲まれて表示されます。

変換

変換の機能をキャンバスにドロップすると、戻りパラメータが新しいパラメータとして変換と同じ名前で作成されます。変換アクティビティを使用して変換を変換ライブラリからプロセス・フローに追加すると、プロセス・フロー・エディタの「アクティビティ」パネルに変換のパラメータが表示されます。

この図の内容については、周辺の説明を参照してください。
図transform.gifの説明

変換アクティビティを起動する受信推移を1つ以上指定できます。送信推移については、無条件推移を1つのみ指定するか、3つの条件付き推移のいずれか1つを指定できます。

条件付き送信推移を指定する場合は、そのステータスが戻り値に基づくようにアクティビティを構成できます。「ステータスとしてリターンを使用」の詳細は、「プロセス・フロー構成のリファレンス」を参照してください。

変換に対して行った変更内容でプロセス・フローを更新する場合は、プロセス・フローから変換アクティビティを削除した後、変換アクティビティを再度追加してください。

パブリック変換など、配布されていない変換については、「配布ロケーション」の値を使用してアクティビティを構成する必要があります。

ユーザー定義

ユーザー定義アクティビティにより、Warehouse Builder内で定義されていないアクティビティをプロセス・フローに取り込むことができます。

説明は画像の前後のテキストにあります。
画像external_process.gifの説明

ユーザー定義プロセス・アクティビティを起動する1つ以上の受信推移を指定できます。送信推移について、無条件推移を1つ指定するか、3つの条件付き推移のいずれか1つを指定できます。

条件付き送信推移を指定する場合は、そのステータスが戻り値に基づくようにアクティビティを構成できます。「ステータスとしてリターンを使用」の詳細は、「プロセス・フロー構成のリファレンス」を参照してください。

表21-19に、FTPアクティビティに設定するパラメータを示します。

表21-19 ユーザー定義プロセス・アクティビティ・パラメータ

パラメータ 説明

Command

定義したユーザー定義プロセスを実行するコマンド。c:¥winnt¥system32¥cmd.exeなどのパスおよびファイル名を入力します。

Parameter List

ユーザー定義プロセスに渡されるパラメータのリスト。?/c?c:¥¥temp¥¥run.batなどのパスおよびファイル名を入力します。

プロセス・フロー・エディタにより、入力した1文字目がセパレータとして解釈されます。たとえば、プロセス・フロー・エディタでは次のエントリが/cおよびdirとして解釈されます。

?/c?dir?

バックスラッシュをエスケープ文字として使用します。たとえば、プロセス・フロー・エディタでは次のエントリが-l-sおよび/として解釈されます。

/-l/-s/\//

表21-20にリストされている置換変数も入力できます。

Success Threshold

完了ステータスを指定します。正常な完了を示す最も大きい戻り値をオペレーティング・システムから入力します。オペレーティング・システムがさらに大きな値を戻した場合、コマンドが失敗したことを示します。デフォルト値は0です。

Script

ここにスクリプトを入力するか、スクリプトのファイル名を入力できます。ファイル名を入力する場合、パラメータ・リストの${Task.Input}変数を使用してファイル名を渡します。

テキストを入力または貼り付けるには、「アクティビティ」パネルの最下部で「値」を選択します。プロセス・フロー・エディタでは、入力できるテキストの量に制限はありません。

スクリプト内の各改行は、[Enter]キーを押す操作に相当します。したがって、最終行が確実に送信されるようにするには、スクリプトの最後で改行します。


表21-20に、FTPアクティビティに入力可能な置換変数を示します。

表21-20 ユーザー定義プロセス・アクティビティの置換変数

変数

${ Working.Host }

コントロール・センター・サービス・ホストのロケーションのホスト値。

${ Working.User }

コントロール・センター・サービス・ホストのロケーションのユーザー値。

${ Working.Password }

コントロール・センター・サービス・ホストのロケーションのパスワード値。

${ Working.RootPath }

ローカルの作業ディレクトリ。

${ Task.Input }

SCRIPTパラメータから作成された一時ファイル。

Task.Input変数を入力し、Warehouse BuilderにSCRIPTパラメータで記述したスクリプトを参照させます。

Windowsの場合、Parameter_Listに?"-s:${ Task.Input }"?と入力します。

UNIXの場合、Parameter_Listに?"${ Task.Input }"?と入力します。

ここでは、疑問符はセパレータです。


待機

待機アクティビティを使用して、プロセス・フローに遅延を挿入します。

説明は画像の前後のテキストにあります。
画像act_icon_wait.gifの説明

表21-21 待機アクティビティ・パラメータ

パラメータ 説明

Minimum_Delay

待機する最小時間を入力します。時間は秒単位で指定します。

Until_Date

待機期日をローカル地域のデフォルト書式で指定します。


whileループ

whileループを使用して、定義した条件がTRUEと評価される場合のみ1つ以上のアクティビティを実行します。

説明は画像の前後のテキストにあります。
画像while_loop.gifの説明

通常は、whileループを割当アクティビティに関連付けることにより、while条件を定義できます。少なくとも1つの割当アクティビティによりデータが初期化され、また少なくとも1つの割当アクティビティによってループ反復の終わりまでデータが増分されるか、再度データが変更されます。

whileループを追加する際、エディタは終了ループ・アクティビティと終了ループへの推移も追加します。whileループ・アクティビティからループに含めるそれぞれのアクティビティまでの推移を作成してください。追加する送信推移については、推移を選択して「オブジェクトの詳細」で「条件」をクリックし、EXIT条件またはLOOP条件を推移に適用します。

ループを実行するかどうかを制御するwhile条件を定義するには、「whileループ」アクティビティを選択して、エディタのエクスプローラで「条件」を選択し、「オブジェクトの詳細」で条件を定義します。

表21-22 Whileループ・アクティビティ・パラメータ

パラメータ 説明

Condition

ループ条件または終了条件を持つ.Define