Oracle Workflow APIリファレンス リリース2.6.3.5 部品番号: B15622-01 |
![]() |
![]() |
![]() |
![]() |
![]() |
||
前へ | 次へ | 目次 | 索引 | 用語集 |
procedure CreateProcess
(itemtype in varchar2,
itemkey in varchar2,
process in varchar2 default '',
user_key in varchar2 default null,
owner_role in varchar2 default null);
Java構文
public static boolean createProcess
(WFContext wCtx,
String itemType,
String itemKey,
String process)
説明
アプリケーション項目に対して新しいランタイム・プロセスを作成します。
たとえば、「購買申請」項目タイプには、最上位レベルのプロセスとして「購買承認申請」プロセスがあります。 特定の購買申請が作成されると、アプリケーションはCreateProcessをコールして、定義されたプロセスの開始に必要な情報を設定します。
引数(入力)
wCtx | ワークフローのコンテキスト情報。Javaメソッドの場合にのみ必須です。 「Oracle Workflowのコンテキスト」を参照してください。 |
itemtype | 有効な項目タイプ。項目タイプは、Workflow Builderで定義します。 |
itemkey | 通常アプリケーション・オブジェクトの主キーから導出される文字列。この文字列により、項目タイプの項目が一意に識別されます。項目タイプと項目キーによって新しいプロセスが識別されるため、そのプロセスの後続のすべてのAPIコールにそれらを渡す必要があります。 |
注意: プロセス・インスタンスの項目キーに使用できるのは、1バイトのキャラクタのみです。マルチバイトの値を含めることはできません。
注意: itemkeyとして#SYNCHを渡して、強制同期プロセスを作成できます。 「同期プロセス、非同期プロセスおよび強制同期プロセス」を参照してください。
process | その項目の特定のプロセスを選択するためのオプションの引数。プロセスの内部名を指定します。プロセスがNULLの場合は、項目タイプのセレクタ関数によって、実行する最上位レベルのプロセスが判別されます。セレクタ関数およびこの引数を指定しない場合は、エラーが発生します。 |
user_key | 指定した項目タイプと項目キーで識別される項目に割り当てるキー。わかりやすい名前を付けます。この引数はオプションです。 |
owner_role | 有効なロール。項目の所有者として設定します。この引数はオプションです。 |
注意: データベース・トリガーからCreateProcess( )およびStartProcess( )をコールしてワークフロー・プロセスを開始できますが、状況によってはこの方法を使用しないでください。たとえば、データベース・エンティティにヘッダー、行および詳細があり、そのエンティティのヘッダー・レベルでAFTER INSERTトリガーからワークフロー・プロセスを実行すると、ワークフロー・プロセスが失敗することがあります。これは、プロセス内の後続のアクティビティによって、まだ値が挿入されていないエンティティの行レベルや詳細レベルの情報が要求されることがあるためです。
注意: ワークフロー・エンジンは、エラー発生時に直前のアクティビティにロールバックできるように、各アクティビティを実行する前に常にセーブポイントを発行します。データベース・トリガーや分散トランザクションなど、セーブポイントを使用できない環境では、ワークフロー・エンジンは自動的に「セーブポイントの使用不可」エラーを検出し、アクティビティの実行を遅延させます。ワークフロー・プロセスをデータベース・トリガーから開始する必要があれば、初期の「開始」アクティビティを即時にバックグラウンド・エンジンに遅延して、データベース・トリガーから実行されないようにする必要があります。
例
次のコードは、JavaプログラムでcreateProcess()をコールする方法の例です。このコード例は、WFTest.javaプログラムからの引用です。
// create an item
if (WFEngineAPI.createProcess(ctx, iType, iKey, pr))
System.out.println("Created Item");
else
{
System.out.println("createProcess failed");
WFEngineAPI.showError(ctx);
}
前へ | 次へ | 目次 | 索引 | 用語集 |