intra-mart IM-Workflow トラブルシューティング 第17版 2019-12-01

4.4. 代理で処理できない


4.4.1. 代理権限での処理に失敗する

対象バージョン

  • iWP / iAF の場合

    • IM-Workflow 7.2.0 ~ 最新バージョン
  • intra-mart Accel Platform の場合

    • 2012 Autumn(Alba) IM-Workflow 8.0.1 ~ 2013 Summer(Damask) IM-Workflow 8.0.4

現象

代理権限での処理(申請、承認など)を行うために、IM-Workflow 標準の各処理画面で処理ボタンをクリックした際、例外が発生し、処理を行うことができません。

条件

  • 対象案件の申請基準日時点で、代理先ユーザのユーザプロファイルが無効である

  • 事象の発生時刻に該当する例外ログに下記のようなスタックトレースが出力されている

    Caused by: jp.co.intra_mart.system.workflow.engine.database.WorkflowDAOException
       at jp.co.intra_mart.system.workflow.engine.database.UpdateDAOImpl.appendSQL4Insert(UpdateDAOImpl.java:522)
       at jp.co.intra_mart.system.workflow.engine.database.UpdateDAOImpl.createPrepareStatementInfo4Insert(UpdateDAOImpl.java:324)
       at jp.co.intra_mart.system.workflow.engine.database.UpdateDAOImpl.insert(UpdateDAOImpl.java:90)
       at jp.co.intra_mart.system.workflow.engine.core.event.TaskCompleteEvent.addTaskCompleteUser(TaskCompleteEvent.java:380)
       at jp.co.intra_mart.system.workflow.engine.core.event.TaskCompleteEvent.execute(TaskCompleteEvent.java:111)
       at jp.co.intra_mart.system.workflow.engine.core.base.AbstractWorkflowEvent.fire(AbstractWorkflowEvent.java:114)
       at jp.co.intra_mart.system.workflow.engine.core.ActiveTask.complete(ActiveTask.java:172)
       at jp.co.intra_mart.system.workflow.engine.core.event.AbstractForwardEventBase.execute(AbstractForwardEventBase.java:126)
       at jp.co.intra_mart.system.workflow.engine.core.base.AbstractWorkflowEvent.fire(AbstractWorkflowEvent.java:114)
       at jp.co.intra_mart.system.workflow.engine.action.AbstractActionEventBase.forwardAppointNode(AbstractActionEventBase.java:441)
       at jp.co.intra_mart.system.workflow.engine.action.ActionEventReserve.execute(ActionEventReserve.java:104)
       at jp.co.intra_mart.system.workflow.engine.action.AbstractActionEventBase.fire(AbstractActionEventBase.java:191)
       at jp.co.intra_mart.system.workflow.internal.manager.action.ActionManager.reserve(ActionManager.java:481)
       at jp.co.intra_mart.foundation.workflow.application.process.ProcessManager.reserve(ProcessManager.java:1345)
       ... 54 more
    

原因

IM-Workflow 7.2 におきましては、製品仕様とさせていただいております。

申請や処理を実行した際、内部では、代理先ユーザの名称を取得し、処理者名としてデータベースに登録します。
このときのユーザ名取得の基準日は「申請基準日」です。
処理者名のカラムは入力必須のため、「申請基準日」時点でユーザプロファイルが無効なユーザが代理先となっている場合、申請や処理を行うことはできません。
なお、intra-mart Accel Platform における IM-Workflow では、下記要件にて処理者名を「システム日付」で取得するよう対応しております。
この場合は、上記条件においても申請、処理を行うことが可能です。
  • 要件[19606] 処理時の処理者名(代理先)をシステム日付で取得します。

既に運用されているお客様に対して大幅な仕様変更となってしまうことを考慮し、IM-Workflow 7.2 では上記要件の対応予定はございません。

解決方法

以下のパッチまたはアップデートを適用することで解決します。

  • iWP / iAF の場合

    • 対象外
  • intra-mart Accel Platform の場合

    • 2013 Winter(Felicia) IM-Workflow 8.0.5

回避方法

申請基準日の時点で代理先ユーザのユーザプロファイルが有効となるようIM-共通マスタを設定してください。

復旧方法

申請基準日の時点で代理先ユーザのユーザプロファイルが有効となるようIM-共通マスタを設定した後、再度該当の処理を行ってください。

4.4.2. 組織・パブリックグループの所属期間を変更しても、「代理先同期」バッチ・ジョブによる同期が正しく行われない

対象バージョン

  • iWP / iAF の場合

    • IM-Workflow 7.2.0 ~ 最新バージョン
  • intra-mart Accel Platform の場合

    • 2012 Autumn(Alba) IM-Workflow 8.0.1 ~ 最新バージョン

現象

  • 既存の組織・パブリックグループ所属ユーザの所属情報(主担当フラグの変更や、所属期間の更新)を、IM-共通マスタのインポート機能を利用して更新します。
    その後、「代理先同期」バッチ・ジョブを実行した場合、インポート更新対象の組織・パブリックグループに関する代理設定の同期が行われません。
  • IM-共通マスタの組織・パブリックグループのメンテナンス画面から、個々の所属ユーザの所属期間を更新します。
    その後、「代理先同期」バッチ・ジョブを実行した場合、インポート更新対象の組織・パブリックグループに関する代理設定の同期が行われません。

条件

以下の条件を満たす場合に発生します。

原因

製品の不具合です。
特定の操作の場合、代理先同期リスナーが動作しないことが原因です。

再現手順と当現象による影響を例示します。

  • 再現手順例(画面からのオペレーションの場合)

    1. ログイングループ管理者・テナント管理者でログイン

    2. メニュー「IM共通マスタ」-「会社・組織」を選択

    3. 組織ツリーより組織を選択し、所属ユーザ一覧より「所属」アイコンをクリック

    4. 期間バーを編集(期間分割や期間変更など)し、「更新」ボタンをクリック

    5. 【現象発生】 IM-Workflow の同期リスナーが動作しません。

      コラム

      上記はパブリックグループの場合も同様です。

  • 当現象による影響例

    代理設定の設定後、あるユーザの組織所属期間を短縮したとします。

    • BEFORE:2014/04/01-2014/04/30
    • AFTER :2014/04/01-2014/04/19
    この状態で、システム日付が2014/04/20となったとします。
    組織所属期間変更のタイミングでリスナーが動作していれば、「代理先同期」バッチを実行することで代理一時展開期間の同期が行えるのですが、リスナーが動作しない場合ばバッチを実行しても期間の同期が行えません。
    そのため、組織に所属していない期間(04/20-04/30)でも代理が有効になってしまう可能性があります。

解決方法

ありません。

回避方法

ありません。

復旧方法

対象の組織またはパブリックグループ自体を更新した後に「代理先同期」バッチ・ジョブを実行することで、代理期間の同期を行えます。

なお、組織またはパブリックグループの更新の際は、既存の情報を変更する必要はありません。
編集画面を開き、何も変更しない状態で更新を行うだけでかまいません。

4.4.3. IM-共通マスタを更新しても、「代理先同期」バッチ・ジョブの同期結果に最新情報が反映されない

対象バージョン

  • iWP / iAF の場合

    • IM-Workflow 7.2.0 ~ 最新バージョン
  • intra-mart Accel Platform の場合

    • 2012 Autumn(Alba) IM-Workflow 8.0.1 ~ 最新バージョン

現象

代理設定で、代理先として指定している情報(ユーザ、組織、パブリックグループなど)をIM-共通マスタ機能により更新しました。
その後、「代理先同期」バッチ・ジョブを実行しても、更新内容(ユーザの無効化や、所属ユーザの追加)が代理設定に反映されません。

条件

以下の条件を満たす場合に発生します。

原因

「処理対象者標準プラグイン結果キャッシュ」機能により、マスタ更新前のキャッシュ情報が残っている可能性が考えられます。

解決方法

ありません。

回避方法

「IM-Workflow システム設定」で、以下の設定を “true” (キャッシュ化しない)とすることで、マスタ情報がキャッシュされない状態となるため、現象は発生しなくなります。

  • 「処理対象者標準プラグイン結果キャッシュ利用不可設定(not-use-standard-plugin-result-cache)」

注意

既にキャッシュ化する状態で運用されている場合は、設定変更の前に、パフォーマンスの観点での運用検証を行うことを推奨します。

復旧方法

以下のいずれかの対応を行った後に、同期対象のマスタ情報の更新を再度行っていただき、「代理先同期」バッチ・ジョブを実行してください。

なお、同期対象のマスタ情報の更新の際は、既存の情報を変更する必要はありません。
編集画面を開き、何も変更しない状態で更新を行うだけでかまいません。
  • iWP / iAF / intra-mart Accel Platform の再起動

  • 「処理対象者標準プラグイン結果キャッシュ削除」バッチ・ジョブの実行

    コラム

    「処理対象者標準プラグイン結果キャッシュ削除」バッチ・ジョブは、以下のパッチ・アップデートで追加された機能です。

    • iWP / iAF の場合

      • IM-Workflow 7.2.8
    • intra-mart Accel Platform の場合

      • 2013 Summer(Damask) IM-Workflow 8.0.4