ヘッダーをスキップ

Oracle Workflow APIリファレンス
リリース2.6.3.5

部品番号: B15622-01
前へ 次へ       目次 索引 用語集
         前へ  次へ          目次  索引  用語集

Event

PL/SQL構文

procedure Event


    (itemtype in varchar2,
itemkey in varchar2,
process_name in varchar2 default null,
event_message in wf_event_t);

説明

ビジネス・イベント・システムからイベントを受信し、ワークフロー・プロセスに渡します。

指定された項目キーがすでに存在する場合、受信したイベントはその項目に渡されます。 項目キーが存在しない場合、指定されたプロセスに組み込まれている「受信」イベント・アクティビティが「開始」アクティビティとしてマークされ、有効であるときは、ワークフロー・エンジンによってそのプロセスを実行する項目が新しく作成されます。

このプロシージャは、イベントを受信するワークフロー・プロセス内で、条件を満たす「受信」イベント・アクティビティを検索します。 特定のアクティビティが特定のイベントを受信するには、そのイベント・フィルタにそのイベントを設定するか、そのイベントがメンバーになっているイベント・グループを設定するか、空白にしてすべてのイベントを受け入れる必要があります。 また、アクティビティを「開始」アクティビティとしてマーク付けするか、アクティビティのステータスを「NOTIFIED」に設定する必要があります。「NOTIFIED」は、プロセスがそのアクティビティに遷移し、イベントの受信を待機していることを意味します。

Event()は、条件を満たす「受信」イベント・アクティビティごとに、イベント名、イベント・キーおよびイベント・メッセージを、イベント・アクティビティ・ノードに指定された項目タイプ属性に格納します。また、このプロシージャは、イベント・メッセージのパラメータ・リストのパラメータをプロセスの項目タイプ属性として設定します。パラメータに対応する項目タイプ属性が存在しない場合は、新しい項目タイプ属性を作成します。 また、サブスクリプションのグローバル一意識別子(GUID)を動的項目属性として設定することで、ワークフロー・プロセスがサブスクリプション定義内のその他の情報を参照できるようにします。 ワークフロー・エンジンは、イベント・アクティビティからスレッドの実行を開始します。

イベントを受信する条件を満たす「受信」イベント・アクティビティが存在しない場合は、プロシージャから例外およびエラー・メッセージが返されます。

注意: イベントが「開始」アクティビティに到達して新しいプロセス・インスタンスが起動されると、ワークフロー・エンジンは、イベント・フィルタに関係なく、「開始」アクティビティとしてマークされた、入力トランジションのないその他の受信イベント・アクティビティをすべて検索します。 これらのアクティビティについて、ワークフロー・エンジンはアクティビティのステータスを「NOTIFIED」に設定し、さらに多くのイベントがこのプロセスに送信された場合でも、イベントを受信できるように準備します。 この機能を使用すると、イベントが送信される順序が事前に分からない場合でも、複数のイベントを受信する必要があるワークフロー・プロセスを設計できます。

注意: 「受信」イベント・アクティビティが受信したイベントが別のワークフロー・プロセスの「呼出し」イベント・アクティビティによって発生した場合は、そのプロセスの項目タイプと項目キーがイベント・メッセージ内のパラメータ・リストに追加されます。ワークフロー・エンジンは、イベントを受信するプロセスの親として、指定されたプロセスを自動的に設定し、既存の親の設定を上書きします。 「SetItemParent」を参照してください。

引数(入力)

itemtype 有効な項目タイプ。
itemkey 項目タイプの項目を一意に識別するための文字列。項目タイプと項目キーにより、プロセスが識別されます。

注意: プロセス・インスタンスの項目キーに使用できるのは、1バイトのキャラクタのみです。マルチバイトの値を含めることはできません。

process_name その項目タイプの特定のサブプロセスを選択するためのオプションの引数。プロセス・アクティビティのラベル名を指定します。プロセス・アクティビティのラベル名で特定のサブプロセスを識別できない場合は、ラベル名の前に親プロセスの内部名を追加できます。 たとえば、<parent_process_internal_name>:<label_name>のように指定します。この引数がNULLの場合は、項目の最上位レベルのプロセスが開始されます。この引数のデフォルト値はNULLです。
event_message イベントの詳細を含むイベント・メッセージ。


          前へ   次へ           目次   索引   用語集



Oracleロゴ
Copyright © 2003, 2004, Oracle. All rights reserved.