intra-mart Accel Platform IM-Workflow 仕様書 第33版 2022-06-01

3.34. 申請/承認処理概要

処理」の概要について解説します。
処理」は以下の記載順で実行されます。
  1. フロー情報作成処理
    処理時点のマスタデータ全てを格納したXMLファイルの作成処理を実行します。
    処理「起票」「申請」で実行されます。
  2. アクション処理
    「アクション処理」ユーザプログラムを実行します。
  3. ノード遷移処理
    ノードを「処理」に合わせて、終了ノード方向または、開始ノード方向へ遷移します。
  4. 案件操作権限者展開
    案件操作権限者を展開します。
    処理「未申請状態からの申請」「申請」「再申請」で実行されます。
  5. 確認対象者者展開
    確認対象者を展開します。
    ルート定義作成時のノードの配置順によって、処理対象者展開と処理順が前後します。
  6. 処理対象者展開
    処理対象者を展開します。
    ルート定義作成時のノードの配置順によって、確認対象者展開と処理順が前後します。
  7. 到達処理
    「到達処理」ユーザプログラムを実行します。
  8. 案件終了処理
    「案件終了処理」ユーザプログラムと完了案件テーブルへの移行処理を実行します。
    案件が終了ノードに到達した場合に実行します。
  9. 通知関連処理
    「メッセージ定義」「メール定義」「IMBox定義」による通知を行います。
処理」は、1-3と4-9で分かれており、非同期処理に設定することで1-3が完了した段階でレスポンスを返すことができます。
同期/非同期処理は、「システム設定」で設定できます。
この非同期処理は、 intra-mart Accel Platform の非同期機能の並列タスクとして実行されます。
intra-mart Accel Platform の非同期機能については「 非同期仕様書 」 - 「 並列処理機能 」を参照してください。
また、以下の処理実行中は、案件は他の処理は実行できません。
そのため、案件一覧(管理権限の参照一覧以外)には該当する案件が表示しないようにしています。
以下の処理が実行中の場合、スレッド実行情報(imw_t_thread)にlock_flag = 1 でレコードが登録します。
スレッド実行情報(imw_t_thread)にlock_flag = 1のレコードが存在する場合、案件一覧(管理権限の参照一覧以外)に、案件は表示されません。
  • 到達処理
  • 案件終了処理
  • 案件操作権限者展開
  • 確認対象者者展開
  • 処理対象者展開
以下に、申請/承認時(次ノードが終了ノード以外の場合)処理の流れを記載します。
../../../_images/workflow_asynchronous_1.png

コラム

IM-Workflow 処理では、エラーが発生した場合、ログを出力し、imw_t_thread のレコードは必ず削除します。
しかし、IM-Workflow アプリケーションでは検知できない予期せぬエラーが発生した場合、imw_t_thread が削除されずに、案件(未処理タスク)が一覧に表示されない状態となる場合があります。
そのような場合、スレッド実行情報を削除をすることで解決できます。