intra-mart Accel Platform IM-Workflow プログラミングガイド 第21版 2019-12-01

5.4. 到達処理


到達処理とは、ノードに到達した場合に実行される処理です。
この処理は、アクション処理や IM-Workflow の内部処理とは独立した処理(thread)として実行されます。
そのため、到達処理でエラーが発生した場合、直前の処理を戻すこと(ロールバック)はできません。
(直前のアクション処理とは、トランザクションも別です。)
このプログラム中で、データベースの登録/更新/削除処理を行う場合は、独自にDBトランザクション制御を行ってください。
下記のような場合に実行されます。
  • 前ノードの処理者が、”申請”または”承認”を行って到達した場合
  • 他のノードから、”差戻し”され到達した場合
  • “引戻し”を行って到達した場合
  • 案件操作で到達した場合

5.4.1. パラメータ

到達処理では、以下の情報をパラメータとして受け取る事ができます。
No パラメータ(物理名) パラメータ(論理名) 属性 詳細
1 loginGroupId ログイングループID 文字列
処理実行時のログイングループID
ログイングループIDは、テナントIDと同値です。
2 localeId ロケールID 文字列 処理実行時のロケールID
3 targetLocales ターゲットロケールID 文字列[] システムで利用しているロケールID
4 contentsId コンテンツID 文字列 該当案件のコンテンツID
5 contentsVersionId コンテンツバージョンID 文字列 該当案件のコンテンツバージョンID
6 routeId ルートID 文字列 該当案件のルートID
7 routeVersionId ルートバージョンID 文字列 該当案件のルートバージョンID
8 flowId フローID 文字列 該当案件のフローID
9 flowVersionId フローバージョンID 文字列 該当案件のフローバージョンID
10 applyBaseDate 申請基準日 文字列 申請基準日(”yyyy/MM/dd”)
11 processDate 処理日 文字列 処理日(”yyyy/MM/dd”)
12 systemMatterId システム案件ID 文字列 該当案件のシステム案件ID
13 userDataId ユーザデータID 文字列 該当案件のユーザデータID
14 matterName 案件名 文字列 該当案件の案件名
15 matterNumber 案件番号 文字列 該当案件の案件番号
16 priorityLevel 優先度 文字列 該当処理の優先度 ※1
17 parameter 実行プログラムパス 文字列 該当処理の実行プログラムパス
18 actFlag 代理フラグ 文字列 ”0”:本人にて処理 ”1”:代理者にて処理
19 nodeId ノードID 文字列 該当処理のノードID
20 preNodeId 前ノードID 文字列 前処理のノードID
21 preNodeAuthUserCd 前ノード処理権限者コード 文字列 前処理の処理権限者コード
22 preNodeExecUserCd 前ノード処理実行者コード 文字列 前処理の処理実行者コード
23 preNodeResultStatus 前ノード処理結果ステータス 文字列 前処理の処理結果ステータス [1]
24 preNodeAuthCompanyCode 前ノード権限会社コード 文字列 前処理の権限会社コード
25 preNodeAuthOrgzSetCode 前ノード権限組織セットコード 文字列 前処理の権限組織セットコード
26 preNodeAuthOrgzCode 前ノード権限組織コード 文字列 前処理の権限組織コード
27 preNodeProcessComment 前ノード処理コメント 文字列 前処理の処理コメント
28 mailIds メールテンプレートID 文字列[] 到達したノードのメール種別「処理依頼」で設定されているメールID
29 imBoxIds IMBoxId 文字列[] 到達したノードのIMBox種別「処理依頼」で設定されているIMBoxID
30 mailReplaceMap メール置換文字情報 Map メールの置換文字情報 [2]
31 imBoxReplaceMap IMBox置換文字情報 Map IMBoxの置換文字情報 [2]
[1]・・・コード値は、「 APIドキュメントのIM-Workflow CodeList 」を参照してください。
[2](1, 2) ・・・置換文字列と置換内容の詳細は、「 IM-Workflow 仕様書 別紙 」を参照してください。

5.4.2. 返却値

到達処理では、以下の情報を返却します。(任意/必須・・・●:必須 △:任意)
  • スクリプト開発モデル

    No 返却値(物理名) 返却値(論理名) 属性 必須/任意 詳細
    1 resultFlag 結果フラグ 真偽値   △
    true:成功 false:失敗
    指定しない場合、成功(true)として扱います。
    2 message 結果メッセージ 文字列   △ 結果フラグが失敗の場合のみ、設定します。
    3 data メール送信可否 真偽値   ●
    このパラメータは「処理依頼」の送信制御を行います。
    このパラメータによる制御はメールに限らず、 IMBox 、 IM-Notice などにも適用されます。
    true:送信する false:送信しない
    ※ 結果メッセージを設定した場合、例外ログにエラーメッセージを出力します。

    コラム

    結果フラグとして”false”(失敗)を設定した場合の動作は以下の通りです。

    • 該当の到達処理以外に設定されている後続の到達処理は実行されません。
    • 処理依頼を設定している場合、「メール送信可否」の設定値に関係なく、処理依頼による通知が行われます。
  • JavaEE開発モデル

    No 返却値(論理名) 属性 必須/任意 詳細
    1 メール送信可否 真偽値   ●
    このパラメータは「処理依頼」の送信制御を行います。
    このパラメータによる制御はメールに限らず、 IMBox 、 IM-Notice などにも適用されます。
    true:送信する false:送信しない
    ※ 「jp.co.intra_mart.foundation.workflow.exception.WorkflowExternalException」をスローした場合、引数に設定したエラーメッセージを例外ログに出力します。詳細は「 APIドキュメント 」を参照してください。

    コラム

    WorkflowExternalException をスローした場合の動作は以下の通りです。

    • 該当の到達処理以外に設定されている後続の到達処理は実行されません。
    • 処理依頼を設定している場合、「メール送信可否」の設定値に関係なく、処理依頼による通知が行われます。