ヘッダーをスキップ

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

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

HandleError

PL/SQL構文

procedure HandleError


    (itemtype in varchar2,
itemkey in varchar2,
activity in varchar2,
command in varchar2,
result in varchar2);

Java構文

public static boolean handleError


    (WFContext wCtx,
String itemType,
String itemKey,
String activity,
String command,
String result)

説明

このプロシージャは通常、ERRORプロセスのアクティビティからコールされ、エラーが検出されたプロセス・アクティビティを処理します。

このプロシージャをプロセスの任意のアクティビティでコールして、一部のプロセスをそのアクティビティにロールバックすることもできます。このプロシージャでコールされるアクティビティはどのステータスでもよく、実行中でなくてもかまいません。 また、サブプロセス内のアクティビティでもよく、 アクティビティ・ノード・ラベルがプロセス内で一意でなければ、そのアクティビティ・ノード・ラベル名の前に親プロセスの内部名を追加できます。 たとえば、<parent_process_internal_name>:<label_name>のように指定します。

このプロシージャは指定されたアクティビティを消去し、CANCELモードで各アクティビティを再実行して、すでに遷移した後続のすべてのアクティビティも消去します。 ステータスが「ERROR」になっているアクティビティには、その後に実行済アクティビティがないため、プロシージャはエラーのあるアクティビティのみを消去します。

アクティビティが消去されると、指定されたアクティビティの親プロセスがアクティブでない場合、このプロシージャはそれらの親プロセスすべてのステータスを「有効」にリセットします。

その後、このプロシージャは、SKIPまたはRETRYのうち、入力された方のコマンドに基づいて、指定されたアクティビティを処理します。

このAPIは、入力されたコマンドに基づいて、oracle.apps.wf.engine.skipイベントまたはoracle.apps.wf.engine.retryイベントを呼び出します。 これらのイベントについては、Oracle Workflowに事前定義済のサブスクリプションは含まれていませんが、イベントが発生したときに独自の処理を実行するため、独自のサブスクリプションを定義することもできます。 『Oracle Workflow開発者ガイド』のワークフロー・エンジン・イベントに関する項、『Oracle Workflow開発者ガイド』のイベント・サブスクリプションの定義(スタンドアロンOracle Workflowの場合)に関する項、『Oracle Workflow開発者ガイド』のイベント・サブスクリプションの作成または更新(Oracle Applicationsの場合)に関する項を参照してください。

引数(入力)

wCtx ワークフローのコンテキスト情報。Javaメソッドの場合にのみ必須です。 「Oracle Workflowのコンテキスト」を参照してください。
item_typeまたはitemType 有効な項目タイプ。
item_keyまたはitemKey アプリケーション・オブジェクトの主キーから生成される文字列。この文字列により、項目タイプの項目が一意に識別されます。項目タイプと項目キーにより、プロセスが識別されます。
activity エラーが発生したか、または元に戻すアクティビティ・ノード。アクティビティ・ノードのラベル名を指定します。アクティビティ・ノードのラベル名で特定のサブプロセスを識別できない場合は、ラベル名の前に親プロセスの内部名を追加できます。 たとえば、<parent_process_internal_name>:<label_name>のように指定します。
command プロセス・アクティビティの処理方法を決定する次の2つのコマンドのどちらか。
SKIP: アクティビティを再実行しないけれども、指定された結果でアクティビティが完了したものとしてマークを付け、そのアクティビティからプロセスを続行します。
RETRY: アクティビティを再実行し、そのアクティビティからプロセスを続行します。
result SKIPコマンドに必要な結果。

注意: 項目が作成された後は、その項目の有効日と、項目が進むプロセスのバージョン番号を変更できません。ただし、HandleErrorを使用すると、既存項目のプロセスを手動で変更できることがあります。

プロセスの変更が些細なものであれば、HandleErrorを使用して、項目をエラーになるアクティビティの次のアクティビティに手動で進めるか、プロセス内の別のトランジションにリダイレクトできます。

プロセスの変更が大幅なものであれば、少なくとも次の手順を実行する必要があります。


          前へ   次へ           目次   索引   用語集



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