IBM FileNet P8, バージョン 5.2.1            

ワークフロー・インスタンスの作成

ワークフロー・インスタンスの作成は、Launch ステップ・プロセッサーがワークフローを起動するために必要な一連のオペレーションです。

ワークフロー・インスタンスを作成するには、以下の操作を実行するクラスを作成します。

  1. ワークフロー定義オブジェクトを作成する
  2. ワークフロー定義オブジェクトを転送する
  3. 転送が成功したことを検証する
  4. 転送結果のバージョンを取得する
  5. ワークフロー・インスタンスを作成する
  6. ワークフローを起動する

開発を促進するには、LaunchSample 用の API サンプル・コンストラクターを適用することもできます。

ワークフロー定義オブジェクトを作成する

VWWorkflowDefinition.readFromFile() を使用して、オブジェクト・ストア、ファイル・ストア、または Content Services ライブラリー・ファイルからワークフロー定義オブジェクトを作成します。

注: ローカルのワークフロー定義 (*.pep ファイル) が存在している必要があります。VWWorkflowDefinition コンストラクター、または WFDefinitionSample サンプル・クラス用のコンストラクターを使用します。

ワークフロー定義オブジェクトを転送する

ワークフローが既にプロセス・データベースに転送されていて未変更だった場合、転送は不要です。ただし、ワークフローが転送されなかった場合か、ワークフローに変更が加えられた場合は、転送が必要です。

VWSession.transfer() を使用して、ワークフロー定義オブジェクトをプロセス・データベースに転送します。Content Platform Engine (または Content Services) docid をワークフロー定義を識別するパラメーターとして指定します。 次に例を示します。

  // ワークフロー定義オブジェクトを転送、2 番目のパラメーターは固有の ID。
  
  VWTransferResult transferResult = m_vwSession.transfer(wflDef, uniqueid, false, true);

転送を検証する

ワークフロー定義オブジェクトをデータベースに転送したら、転送が成功したかどうかを検証してログ記録し、転送エラーを表示します。

if (transferResult.success()) {
    m_logger.log("The transfer was successful.")

    // ( less significant code . . . )
    }
    else {
    // Display the transfer errors.
        String[] errorArray  = transferResult.getErrors();
        if (errorArray != null)
            m_logger.log("¥tThe following transfer errors occurred: ", errorArray);
        else
            m_logger.log("¥t¥tError messages were not available.");
    }

転送結果のバージョンを取得する

VWTransferResult.getVersion() を使用するバージョンを取得し、起動ステップの作成を準備します。

VWSession.createWorkflow() を使用するワークフローを作成する場合、VWTransferResult.getVersion() から返されるバージョン文字列を VWStepElement 呼び出しに対する引数として使用します。

ワークフロー・インスタンスを作成する

VWSession.createWorkflow() を使用するワークフローのインスタンスを作成します。VWSession.createWorkflow() は、ワークフローの起動ステップを表す VWStepElement オブジェクトを返します。

VWStepElement.setComment() を使用すると、この起動ステップにラベルを付けることができます。 次に例を示します。

  launchStep = m_vwSession.createWorkflow(vwVersion);
  launchStep.setComment("This is a sample workflow Launch step comment");

ワークフロー・データの更新」も参照してください。

ワークフローを起動する

Launch ステップ・プロセッサーに必要な最後のオペレーションは、ワークフローの起動です。

VWStepElement.doDispatch を使用して、ワークフローを起動します。doDispatch() メソッドは、データベースに対する変更を保存し、ワーク・オブジェクトをワークフロー定義に定義されている次のステップにディスパッチします。保存された変更は、ステップ・エレメントに関連付けられたワーク・オブジェクトに加えられた変更です。



最終更新日: 2016 年 3 月
creating_workflow_instance.htm

© Copyright IBM Corp. 2016.