7.3.2 Groupmax Workflow - Library Extensionの使用例

ここでは,Groupmax Workflow - Library Extensionが提供するAPI関数及びOCXメソッドの使用例を説明します。

<この項の構成>
(1) 特定ユーザに対してユーザ管理及びユーザトレー内の案件管理
(2) ビジネスプロセス定義管理及びワーク管理
(3) ロール操作,および案件操作の例

(1) 特定ユーザに対してユーザ管理及びユーザトレー内の案件管理

特定ユーザに対してユーザ管理及びユーザトレー内の案件管理をするときの,作業の概要を次に示します。なお,指定するユーザのニックネームが分かっている場合は,以下の1.の操作を省略し,直接2.の操作から実行してください。

  1. ユーザ一覧を求め,ユーザを選択する
    ユーザのニックネームが分からないときは,組織からユーザ一覧を求め,ユーザ一覧からユーザを選択してニックネームを求めます。ユーザ一覧を求める方法として,最上位組織から組織階層を求めていく方法を提供しています。
  2. 指定ユーザのホームサーバと接続する
    ユーザのニックネームを指定して,ユーザのホームサーバと接続します。接続にはHwfAdConnectUser関数又はWFadConnectUserメソッドを使用します。この関数又はメソッドで指定ユーザのオブジェクト識別子を取得できます。
  3. オブジェクト識別子を使用して,ユーザ管理及びユーザトレー内の案件管理を実行する
    取得したオブジェクト識別子を使用して,指定ユーザのユーザトレーの案件一覧やユーザヒストリを取得できます。

次に,ユーザ管理及びユーザトレー内の案件管理を実行するための関数又はメソッドの発行手順の例を図7-1に示します。

図7-1 ユーザ管理及びユーザトレー内案件管理の関数又はメソッドの発行手順の例

[図データ]

  1. Workflow管理サーバへのログイン
    Groupmax Workflow - Library Extensionの使用を開始するには,HwfAdStartUp関数(WFadStartUpメソッド)を発行します。
  2. 組織一覧の取得
    組織一覧を取得するには,HwfAdGetOrganizationList関数(WFadGetOrganizationListメソッド)を発行します。下位組織の一覧を取得する場合は,目的の組織一覧を取得できるまで繰り返し発行する必要があります。
  3. 組織下のユーザ一覧の取得
    組織下のユーザ一覧を取得するには,HwfAdGetUserListFromOrgan関数(WFadGetUserListFromOrganメソッド)を発行します。
  4. ユーザのホームサーバへの接続
    ユーザ管理及びユーザトレー内の案件管理を実行するには,ユーザのホームサーバに接続する必要があります。ユーザのホームサーバへの接続には,ユーザのニックネームを指定してHwfAdConnectUser関数(WFadConnectUserメソッド)を発行します。
    ニックネームがあらかじめ分かっている場合は,Workflow管理サーバへのログイン直後に,HwfAdConnectUser関数(WFadConnectUserメソッド)を発行できます。
  5. ユーザ管理及びユーザトレー内の案件管理の実行
    以下に示すような,ユーザ管理及びユーザトレー内の案件管理を実行できます。
    • ユーザヒストリの参照
      ユーザヒストリを参照するには,HwfAdGetUserHistory関数(WFadGetUserHistoryメソッド)を発行します。
    • 案件の他ユーザへの振り替え
      ユーザトレーにある案件を別のユーザに振り替えるには,HwfAdCaseToUser関数(WFadCaseToUserメソッド)を使用します。
    • 案件のユーザ属性の取得
      案件のユーザ属性を取得するには,HwfAdGetCaseAttribute関数(WFadGetCaseAttributeメソッド)を発行します。
    • 案件のユーザ属性の設定
      案件のユーザ属性を設定するには,HwfAdSetCaseAttribute関数(WFadSetCaseAttributeメソッド)を発行します。
    • ユーザトレー内の案件一覧の参照
      ユーザトレー内の案件一覧を参照するには,「7.3.2(1)(a) ユーザトレー内の案件一覧の参照」を参照してください。
    • エラー案件の回復
      エラーとなった案件を回復できます。詳細は,「7.3.2(1)(b) エラー案件の回復」を参照してください。
    • 案件の強制遷移
      案件を強制的に遷移させるには,「7.3.2(1)(c) 案件の強制遷移」を参照してください。
  6. Workflow管理サーバからのログアウト
    Groupmax Workflow - Library Extensionの使用を終了するには,HwfAdCleanUp関数又はWFadCleanUpメソッドを発行します。
(a) ユーザトレー内の案件一覧の参照

ユーザトレー内の案件一覧を参照する関数又はメソッドの発行手順の例を,図7-2に示します。

図7-2 ユーザトレー内案件一覧の参照の関数又はメソッドの発行手順の例

[図データ]

  1. 案件一覧リストの生成
    ユーザトレー内の案件一覧リストを生成するには,HwfAdCreateCaseList関数(WFadCreateCaseListメソッド)を発行します。
  2. 案件一覧リストの検索
    案件一覧リストの件数が多い場合,又はある属性の案件だけを参照したい場合,案件の絞り込み検索ができます。案件の絞り込み検索をするには,HwfAdSelectCaseList関数(WFadSelectCaseListメソッド)を発行します。
  3. 案件一覧リストからの属性値の取得
    案件一覧リストに含まれる案件の属性を取得するには,HwfAdGetCaseList関数(WFadGetCaseListメソッド)を発行します。
  4. 案件一覧リストの削除
    不用になった案件一覧リストは削除します。案件一覧リストを削除するには,HwfAdDeleteList関数(WFadDeleteListメソッド)を発行します。
(b) エラー案件の回復

人事異動などで処理ユーザがいなくなったり,リトライ回数が設定値を超えたりして遷移エラーになった案件を回復させることができます。

回復させる前に,該当する案件が回復できる案件かどうかを,エラーコードを参照して確認してください。

エラー案件を回復する関数又はメソッドの発行手順の例を,図7-3に示します。

図7-3 エラー案件の回復の関数又はメソッドの発行手順の例

[図データ]

  1. 次ノード処理ユーザの設定
    次ノード処理ユーザを設定する必要がある場合は,HwfAdSetCaseNextUser関数(WFadSetCaseNextUserメソッド)を発行します。ユーザ不正によってエラーになった案件は,次ノード処理ユーザを設定し直してください。
  2. エラー案件の回復
    遷移エラーになった案件を回復するには,HwfAdFailedCaseToUser関数(WFadFailedCaseToUserメソッド)を発行します。
(c) 案件の強制遷移

管理者が,あるノードで滞った案件を強制的に次ノードに遷移させることができます。

なお,案件を強制的に遷移させるために設定する必要がある属性がある場合,それらをすべて設定してから強制遷移を実行してください。設定していない属性がある場合,案件はエラートレーに遷移することがあります。必要な属性は,HwfAdGetBpOperationList関数(WFadGetBpOperationListメソッド)で作業リストを取得し,確認してください。

案件を強制的に遷移させる関数又はメソッドの発行手順の例を,図7-4に示します。

図7-4 案件の強制遷移の関数又はメソッドの発行手順の例

[図データ]

  1. 作業リストの取得
    案件の作業リストを取得し,強制遷移に必要な作業を確認します。
    作業リストを取得するには,HwfAdGetBpOperationList関数(WFadGetBpOperationListメソッド)を発行します。
    ユーザ属性の設定がある場合は,HwfAdSetCaseAttribute関数(WFadSetCaseAttributeメソッド)で設定してください。
    次ノード処理ユーザの設定がある場合は,HwfAdSetCaseNextUser関数(WFadSetCaseNextUserメソッド)で設定してください。
    Groupmax Workflow - Library Extensionでは実行できない作業もあります。そのような作業があるビジネスプロセス定義では,強制遷移を実行しないでください。
  2. 案件のユーザ属性の設定
    案件のユーザ属性を設定する必要がある場合は,HwfAdSetCaseAttribute関数(WFadSetCaseAttributeメソッド)を発行します。
  3. 次ノード処理ユーザの設定
    次ノード処理ユーザを設定する必要がある場合は,HwfAdSetCaseNextUser関数(WFadSetCaseNextUserメソッド)を発行します。
  4. 案件の強制遷移
    あるユーザトレーにある案件を強制的に遷移させるには,HwfAdCaseNext関数(WFadCaseNextメソッド)を発行します。
    なお,強制遷移のために設定する必要がある属性は,すべて事前に設定しておいてください。設定していない属性がある場合,案件はエラートレーに遷移することがあります。

(2) ビジネスプロセス定義管理及びワーク管理

特定のビジネスプロセス定義に対してビジネスプロセス定義管理及びワーク管理をするときの,作業の概要を次に示します。なお,ビジネスプロセス定義名称が分かっている場合は,以下の1.の操作を省略し,直接2.の操作から実行してください。

  1. ビジネスプロセス定義一覧を求め,ビジネスプロセス定義を選択する
    ビジネスプロセス定義名称が分からないときは,ビジネスプロセス定義一覧を求め,ビジネスプロセス定義一覧からビジネスプロセス定義を選択します。全ビジネスプロセス定義一覧は,Workflow管理サーバで取得できます。
  2. 指定ビジネスプロセス定義の登録サーバと接続する
    ビジネスプロセス定義名称を指定して,ビジネスプロセス定義の登録サーバに接続します。接続には,HwfAdConnectBp関数(WFadConnectBpメソッド)を使用します。この関数で指定ビジネスプロセス定義のオブジェクト識別子を取得できます
  3. オブジェクト識別子を使用して,ビジネスプロセス定義管理及びワーク管理を実行する
    取得したオブジェクト識別子を使用して,ビジネスプロセス定義にあるワーク一覧を取得したり,ワークをキャンセルしたりできます。

次に,ビジネスプロセス定義管理及びワーク管理を実行するための関数又はメソッドの発行手順の例を図7-5に示します。

図7-5 ビジネスプロセス定義管理及びワーク管理の関数又はメソッドの発行手順例

[図データ]

[図データ]

  1. Workflow管理サーバへのログイン
    Groupmax Workflow - Library Extensionの使用を開始するには,HwfAdStartUp関数(WFadStartUpメソッド)を発行します。
  2. ビジネスプロセス定義一覧リストの生成
    ビジネスプロセス定義一覧を参照するには,まずビジネスプロセス定義一覧リストを生成します。ビジネスプロセス定義一覧リストを生成するには,HwfAdCreateBpList関数(WFadCreateBpListメソッド)を発行します。
  3. ビジネスプロセス定義一覧リストの検索
    ビジネスプロセス定義一覧リストの件数が多い場合,又はある属性のワークだけを参照したい場合,ワークの絞り込み検索ができます。ワークの絞り込み検索をするには,HwfAdSelectBpList関数(WFadSelectBpListメソッド)を発行します。
  4. ビジネスプロセス定義一覧リストからの属性値の取得
    ビジネスプロセス定義一覧リストに含まれるビジネスプロセス定義の属性値を取得するには,HwfAdGetBpList関数(WFadGetBpListメソッド)を発行します。
  5. ビジネスプロセス定義一覧リストの削除
    不用になったビジネスプロセス定義一覧リストは削除します。ビジネスプロセス定義一覧リストを削除するには,HwfAdDeleteList関数(WFadDeleteListメソッド)を発行します。
  6. ビジネスプロセス定義登録サーバへの接続
    操作対象とするビジネスプロセス定義の登録サーバに接続します。ワークを操作する場合,ワークが属するビジネスプロセス定義の登録サーバに接続している必要があります。ビジネスプロセス定義の登録サーバに接続するには,HwfAdConnectBp関数(WFadConnectBpメソッド)を発行します。
  7. ワーク一覧リストの生成
    ビジネスプロセス定義下のワーク一覧を参照するには,まずワーク一覧リストを生成します。ワーク一覧リストを生成するには,HwfAdCreateWorkList関数(WFadCreateWorkListメソッド)を発行します。
  8. ワーク一覧リストの検索
    ワーク一覧リストの件数が多い場合,ワークの絞り込み検索ができます。ワークの絞り込み検索をするには,HwfAdSelectWorkList関数(WFadSelectWorkListメソッド)を発行します。
  9. ワーク一覧リストからの属性値の取得
    ワーク一覧リストに含まれるワークの属性値を取得するには,HwfAdGetWorkList関数(WFadGetWorkListメソッド)を発行します。
  10. ワーク一覧リストの削除
    不用になったワーク一覧リストは削除します。ワーク一覧リストを削除するには,HwfAdDeleteList関数(WFadDeleteListメソッド)を発行します。
  11. ワーク管理の実行
    以下に示すようなワーク管理を実行できます。
    • ワークのキャンセル,削除
      ワークをキャンセル又は削除するには,HwfAdCancelWork関数(WFadCancelWorkメソッド)を発行します。
    • ワークの優先度の変更
      ワークの優先度を変更するには,HwfAdSetWorkPriority関数(WFadSetWorkPriorityメソッド)を発行します。
    • ワークの処理期限の変更
      ワークの処理期限を変更するには,HwfAdSetWorkTerm関数(WFadSetWorkTermメソッド)を発行します。
    • ワークの一時停止
      ワークを一時的に停止するには,HwfAdSuspendWork関数(WFadSuspendWorkメソッド)を発行します。
    • ワークの再開
      一時的に停止したワークを再開するには,HwfAdResumeWork関数(WFadResumeWorkメソッド)を発行します。
    • ワークヒストリの参照
      ワークのヒストリを参照するには,HwfAdGetWorkHistory関数(WFadGetWorkHistoryメソッド)を発行します。
  12. Workflow管理サーバからのログアウト
    Groupmax Workflow - Library Extensionの使用を終了するには,HwfAdCleanUp関数(WFadCleanUpメソッド)を発行します。

(3) ロール操作,および案件操作の例

操作するロールを特定して操作するには,次の流れで行います。

(a) ロール一覧を求め,ロールを選択する

全ロール一覧はワークフロー管理サーバで取得可能です。

(b) 指定ロールの登録サーバに接続する

ロール名称を指定してロールの登録サーバに接続します。

(HwfAdConnectRole,WFadConnectRole)本関数を発行すると該当ロールのオブジェクト識別子が取得できますので,このオブジェクト識別子を使用してロールにあるケース一覧を取得したりできます。

ロール名称がわかっている場合は(a)を省略し,直接(b)を行なってもかまいません。

図7-6にロールと案件操作の関数発行シーケンスの例を示します。

図7-6 ロールと案件操作の例

[図データ]