intra-mart IM-Workflow トラブルシューティング 第21版 2023-04-01

4.16. 終了ノードで止まってしまう


4.16.1. Internet Explorer 10、Internet Explorer 11 で処理した案件が一覧に表示されない

対象バージョン

  • iWP / iAF の場合

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

    • 対象外

現象

IM-Workflow の処理(申請、承認等)を Internet Explorer 10、Internet Explorer 11 で行った場合、処理したユーザのデータが異常な形で保存されます。
  • 正常な形のデータ(progress.xml)

    <user>
       <auth cd="user0001">
          <companyCode>company01</companyCode>
          <organizationSetCode>companyset01<organizationSetCode/>
          <organizationCode>dept01</organizationCode>
       </auth>
       <executer cd="user0001"/>
       <operator cd="user0001"/>
    </user>
    
  • 異常な形のデータ(progress.xml)

    <user>
       <auth cd="user0001">
          <companyCode>company01^companyset01^dept01</companyCode>
          <organizationSetCode/>
          <organizationCode/>
       </auth>
       <executer cd="user0001"/>
       <operator cd="user0001"/>
    </user>
    
そのため、以下のような状態となる場合があります。
  • 案件を正常に進めることができなくなる
  • フロー・履歴画面で、フロー図が表示されない
  • フロー・履歴画面で、処理履歴の一部が表示されない

条件

  • iWP / iAF に、Internet Explorer 9 互換モードで動作させる Servlet Filter を設定していない

  • 処理した案件が処理済(未完了案件/完了案件)に表示されない

  • フロー、履歴画面が正しく表示されない

  • 処理時にログが出力される

    jp.co.intra_mart.foundation.workflow.exception.WorkflowException: java.lang.NullPointerException
       at jp.co.intra_mart.system.workflow.engine.thread.WorkflowThreadExceptionHandlerImpl.execute(WorkflowThreadExceptionHandlerImpl.java:25)
       at jp.co.intra_mart.system.workflow.engine.thread.WorkflowThreadRunner.run(WorkflowThreadRunner.java:126)
    Caused by: java.lang.NullPointerException
       at jp.co.intra_mart.system.workflow.engine.thread.task.TemplateMailSendTask.createProcessMailReplaceMap(TemplateMailSendTask.java:557)
       at jp.co.intra_mart.system.workflow.engine.thread.task.TemplateMailSendTask.createReplaceMap(TemplateMailSendTask.java:369)
       at jp.co.intra_mart.system.workflow.engine.thread.task.TemplateMailSendTask.execute(TemplateMailSendTask.java:221)
       at jp.co.intra_mart.system.workflow.engine.thread.WorkflowThreadRunner.run(WorkflowThreadRunner.java:97)
    
  • 案件の終了処理でエラーが発生し、終了ノードで止まる

    jp.co.intra_mart.foundation.workflow.exception.WorkflowException: jp.co.intra_mart.system.workflow.engine.common.EngineException: java.lang.NullPointerException
       at jp.co.intra_mart.system.workflow.engine.thread.WorkflowThreadExceptionHandlerImpl.execute(WorkflowThreadExceptionHandlerImpl.java:25)
       at jp.co.intra_mart.system.workflow.engine.thread.WorkflowThreadRunner.run(WorkflowThreadRunner.java:126)
    Caused by: jp.co.intra_mart.system.workflow.engine.common.EngineException: java.lang.NullPointerException
       at jp.co.intra_mart.system.workflow.engine.thread.task.MatterEndTask.execute(MatterEndTask.java:229)
       at jp.co.intra_mart.system.workflow.engine.thread.WorkflowThreadRunner.run(WorkflowThreadRunner.java:97)
    Caused by: java.lang.NullPointerException
       at jp.co.intra_mart.system.workflow.engine.thread.task.TemplateMailSendTask.createResultMailReplaceMap(TemplateMailSendTask.java:863)
       at jp.co.intra_mart.system.workflow.engine.thread.task.TemplateMailSendTask.createReplaceMap(TemplateMailSendTask.java:389)
       at jp.co.intra_mart.system.workflow.internal.manager.mail.TemplateMailSendManager.getMailReplaceMapData(TemplateMailSendManager.java:361)
       at jp.co.intra_mart.system.workflow.engine.core.event.ExtensionEventExecutor.executeMatterEndExtension(ExtensionEventExecutor.java:593)
       at jp.co.intra_mart.system.workflow.engine.thread.task.MatterEndTask.execute(MatterEndTask.java:186)
       ... 1 more
    

原因

製品の仕様です。

iWP / iAF に、Internet Explorer 9 互換モードで動作させる Servlet Filter を設定していない状態での Internet Explorer 10、Internet Explorer 11 の利用はサポート対象外です。

コラム

Internet Explorer 10 以降の Internet Explorer は、これまでの Internet Explorer とは違い、HTML5とCSS3への対応を他のモダンブラウザと同様に積極的にサポートするようになっているため、これまでの Internet Explorer で動作していた HTML や CSS が動作しなくなっている部分が多数あります。
これらの動作変更の影響により、上記事象が発生しております。

解決方法

  • iWP / iAF の場合

    Internet Explorer 10、Internet Explorer 11 を Internet Explorer 9 互換モードで動作させる Servlet Filter を公開しております。
    IM-Workflow 7.2 を Internet Explorer 10、Internet Explorer 11 をご利用の場合は、Servlet Filter を設定してください。

    Servlet Filter の設定方法は以下の2通りがあります。

    1. 現在お使いのWebPlatform/AppFramework Ver7.2 に Servlet Filter を設定する方法

      intra-mart Developer Blog 「WebPlatform/AppFramework Ver7.2でIE10を利用可能にするServlet Filterを公開します。」 を参照してください。

    2. iWP / iAF 7.2.6 以降を適用する

      iWP / iAF 7.2.6 以降に同梱の readme.txt を参照し、Servlet Filter を設定してください。

    注意

    Servlet Filter を設定する前に Internet Explorer 10、Internet Explorer 11 によって処理を行った案件が既に存在する場合、Servlet Filter を設定しただけでは対象案件のデータは正常な状態とはなりません。
    対象の案件に対して「復旧方法」で記載の対応を行ってください。
  • intra-mart Accel Platform の場合

    • 対象外

回避方法

サポートブラウザで操作を行ってください。

復旧方法

  • 異常な形で保存された案件の確認方法

    本件の現象によって異常な形で保存された案件を確認するためには、以下の方法に従ってトランザクションファイル格納ディレクトリを検索します。
    1. 以下の条件を指定してトランザクションファイル格納ディレクトリの検索を実行します。

      • 検索対象のディレクトリ

        • iWP / iAF の場合

          storage/workflow/data/%ログイングループID%/transaction

        • intra-mart Accel Platform の場合

          %PUBLIC_STORAGE_PATH%/im_workflow/data/%テナントID%/transaction

          対象の案件の期間が特定できている場合には、下記の「対象案件の処理手順」を参考にトランザクションファイルの格納ディレクトリ配下の年月・日・時間を指定すると、検索に要する時間を短縮化できます。
      • 検索対象のファイル

        トランザクションファイル progress.xml

      • 検索文字列

        1. “<companyCode>^”
        2. “<companyCode>%会社コード%^”

        コラム

        Aのパターンは、所属なしのユーザが申請や承認を行った場合に登録される情報を対象としています。
        所属なしユーザによるワークフローの利用がない場合には、Bのパターンの検索のみで構いません。
    2. 対象となる案件が確認できたら、以下の「対象案件の処理手順」に基づいて対応します。

  • 対象案件の処理手順

    対象案件に対し、サポートブラウザで再申請を行い、案件を再度処理する必要があります。
    1. 案件操作を行い、申請ノードに戻します。
    2. サポートブラウザで再申請を行います。
    3. 以降、サポートブラウザで順次処理を行います。

4.16.2. task.zipおよびtaskフォルダが存在しなくなり、案件終了できない

対象バージョン

  • iWP / iAF の場合

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

    • 対象外

現象

最終承認が完了したはずが、該当案件が未完了一覧に表示されます。
該当案件の履歴アイコンやフローアイコンを押下すると、エラーが発生し、参照することができません。
また、該当案件の<task.zip>ファイルおよびtaskフォルダが存在しません。

条件

該当案件の<task.zip>ファイルおよびtaskフォルダが存在しない場合

原因

案件終了処理で、何らかの想定外の問題が発生した可能性があります。

解決方法

ありません。

回避方法

ありません。

復旧方法

事象が発生してしまった案件に対し、案件操作を行えるようにするには、以下の手順を行ってください。

  1. 該当するシステム案件ID配下に”task”というディレクトリを作成し、以下のディレクトリを”task”にコピーしてください。

    • コピー元

      <% StoregeService %>/storage/workflow/data/<% LoginGroupID %>/transaction/<% yyyyMM %>/<% dd %>/<% HH %>/<%システム案件ID%>/result/<%最終処理タスクID (prefix:"ep_") %>
      
    • コピー先

      <% StoregeService %>/storage/workflow/data/<% LoginGroupID %>/transaction/<% yyyyMM %>/<% dd %>/<% HH %>/<%システム案件ID%>/task/<%最終処理タスクID (prefix:"ep_") %>
      
  2. DBの「imw_t_actv_matter」テーブルの該当案件のレコードを特定します。

  3. 手順1で作成したディレクトリのファイル名 <%最終処理タスクID (prefix:”ep_”) %> を imw_t_actv_matter.last_process_id の値に置き換えます。

  4. DBの「imw_t_actv_task」テーブルの該当案件のレコードを特定します。

    • 検索条件

      • imw_t_actv_task.system_matter_id = 該当案件のシステム案件ID
      • imw_t_actv_task.node_id = 該当案件の終了ノードID
    • 確認項目

      • タスク開始日時(imw_t_actv_task.start_date)
  5. 上記で特定したレコードの値で以下のファイルに対して操作を行います。

    <% StoregeService %>/storage/workflow/data/<% LoginGroupID %>/transaction/<% yyyyMM %>/<% dd %>/<% HH %>/<%システム案件ID%>/task/<%最終処理タスクID(imw_t_actv_matter.last_process_id(prefix:"ep_")) %>/progress.xml
    
    • 終了ノードのノードIDで検索をします。

      <node id="% 終了ノードID %">
        ・・・
      </node>
      
    • 上記で検索した <node id=”% 終了ノードID %”>~</node> の範囲を以下の内容に置き換えます。
      ※手順4で特定した値を以下のXML情報の該当箇所に適用します。
      <node id="%終了ノードID(imw_t_actv_task.node_id)%">
        <progress>
          <startDate>%タスク開始日時(imw_t_actv_task.start_date(yyyy/MM/dd HH:mm:ss.SSS)))%</startDate>
          <endDate />
          <actionId></actionId>
          <user>
            <auth cd="imw^system">
              <companyCode />
              <organizationSetCode />
              <organizationCode />
            </auth>
            <executer cd="imw^system" />
            <operator cd="imw^system" />
          </user>
          <status>
            <id>mattercompletewait</id>
            <name>N/A</name>
          </status>
          <comment />
          <processTime />
        </progress>
      </node>
      

4.16.3. 案件の終了ノードでエラーが発生した案件に対して、ユーザプログラムの処理・利用者による操作を行わずに完了させる

対象バージョン

  • iWP / iAF の場合

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

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

現象

IM-Workflow の案件終了処理・終了ノードの到達処理に失敗し、終了ノードに到達しているにも関わらず未完了案件の状態から変わりません。

条件

  • 対象の案件が終了ノードで止まっている。

原因

ユーザプログラムの処理で問題が発生している場合に発生する可能性が考えられます。
この場合、案件操作によってノード移動を行っても、移動の際に再度ユーザプログラムが動作し、例外が発生するため、案件を終了することができません。

解決方法

以下の手順を行うと、案件に設定されたユーザプログラム(アクション処理や到達処理、案件終了処理)を動作させることなく、管理者の操作のみで案件を終了することができます。
  • iWP / iAF の場合

    1. TableMaintenanceや各種DB管理ツールを用いて、対象の案件のトランザクションデータの格納場所を特定します。

      • 対象のテーブル

        未完了案件(imw_t_actv_matter)

      • 検索条件

        • システム案件ID = system_matter_idの値 となるレコード

          システム案件IDは、 情報収集 の「情報収集Tips」に記載の方法で確認します。
      • 確認項目

        • システム案件ID(system_matter_id)

        • ディレクトリパス(file_dir_path)

        • 最終タスク処理ID(last_process_id)


    2. 対象の案件が参照しているルート定義の画面で、終了ノードと、終了ノードの直前のノードのノードIDを確認します。

    3. 手順 1 で確認した情報に基づいて、対象の案件のストレージ上のトランザクションデータのディレクトリ内のflow.xmlを編集します。
      [%Storage Service%]/workflow/data/[%ログイングループID%]/transaction/%YYYYMM%/%DD%/%HH%/%システム案件ID%/task/%sp_タスクID%/flow.xml
      
      • /workflow/data/[%ログイングループID%]/transaction/%YYYYMM%/%DD%/%HH%/ の部分は「ディレクトリパス」の値です。
      • /%システム案件ID%/ の部分は「システム案件ID」の値です。
      • /%sp_タスクID%/ の部分は「最終タスク処理ID」の値です。
      手順 2 で確認したノードIDの情報に基づいて、各ノードに一致する<node_id>の配下のユーザプログラムの設定情報(タグ)を削除します。
      削除範囲は、下記に示す4か所の<extensionPoint xxx>~</extensionPoint>です。
      この作業は、終了ノードや、終了ノードの直前のノードにユーザプログラムを設定している場合に、案件操作によって意図しない処理が行われることを防ぐために行います。
      • 案件終了処理

        • 案件終了処理プログラム

          <extensionPoint name="jp.co.intra_mart.workflow.plugin.event.matter.end.process">
            ・・・中略・・・
          </extensionPoint>
          
      • 終了ノード

        • 到達処理プログラム

          <node id="%終了ノードのID%">
                 ・・・
          
             <extensionPoint name="jp.co.intra_mart.workflow.plugin.event.node.arrive.process">
               ・・・中略・・・
             </extensionPoint>
          
                 ・・・
          </node>
          
      • 終了ノードの直前に配置されているノード

        • アクション処理プログラム

          <node id="%終了ノードの直前に配置されているノードのID%">
                    ・・・
          
             <extensionPoint name="jp.co.intra_mart.workflow.plugin.event.node.action.process">
                ・・・中略・・・
             </extensionPoint>
          
                    ・・・
          </node>
          
        • 到達処理プログラム

          <node id="%終了ノードの直前に配置されているノードのID%">
                 ・・・
          
             <extensionPoint name="jp.co.intra_mart.workflow.plugin.event.node.arrive.process">
               ・・・中略・・・
             </extensionPoint>
          
                 ・・・
          </node>
          

      コラム

      <extensionPoint xxx>~</extensionPoint>を削除すると、該当の案件の上記手順中のノードに設定されているすべてのアクション処理・到達処理のユーザプログラムが無効化されます。
      特定のノードに複数のユーザプログラムを設定しており、特定のユーザプログラムのみを無効化したい場合には、<extensionPoint>タグ配下の<plugin xxx>~</plugin>を削除してください。
      例として、案件終了処理に2つのユーザプログラムを設定しており、「sample/test1」のユーザプログラムのみ無効化したい場合には、以下のファイルの2~4行目を削除してください。
      <extensionPoint name="jp.co.intra_mart.workflow.plugin.event.matter.end.process">
          <plugin extensionPoint="jp.co.intra_mart.workflow.plugin.event.matter.end.process" id="jp.co.intra_mart.workflow.plugin.event.matter.end.process.pluginScriptExecutor">
              <parameter>sample/test1</parameter>
          </plugin>
          <plugin extensionPoint="jp.co.intra_mart.workflow.plugin.event.matter.end.process" id="jp.co.intra_mart.workflow.plugin.event.matter.end.process.pluginScriptExecutor">
              <parameter>sample/test2</parameter>
          </plugin>
      </extensionPoint>
      
    4. 案件操作で、処理中のノードを終了ノードの1つ前のノードに戻します。

    5. 案件操作で、対象の案件の状態を終了ノードに移動させると、案件が完了します。

  • intra-mart Accel Platform の場合

    1. TableMaintenanceや各種DB管理ツールを用いて、対象の案件のトランザクションデータの格納場所を特定します。

      • 対象のテーブル

        未完了案件(imw_t_actv_matter)

      • 検索条件

        • システム案件ID = system_matter_idの値 となるレコード

          システム案件IDは、 情報収集 の「情報収集Tips」に記載の方法で確認します。
      • 確認項目

        • システム案件ID(system_matter_id)

        • ディレクトリパス(file_dir_path)

        • 最終タスク処理ID(last_process_id)


    2. 対象の案件が参照しているルート定義の画面で、終了ノードと、終了ノードの直前のノードのノードIDを確認します。

    3. ワークフローパラメータで、未完了案件のトランザクションデータの保存先を「データベース」としている場合は、下記の手順を実施してください。
      対象のワークフローパラメータの設定については、「 IM-Workflow 仕様書 」-「 データ保存の設定 」を参照してください。

      コラム

      ワークフローパラメータで、未完了案件のトランザクションデータの保存先を「データベース」に設定している場合、一度トランザクションデータをBLOBデータからXMLデータに変換した上で対応を行います。
      以下の手順で操作してください。
      1. 「サイトマップ」→「テナント管理」→「ジョブ管理」→「ジョブ設定」をクリックします。
      2. ジョブ一覧から「 IM-Workflow 」→「未完了案件XMLデータ移行(Database LOB->File)」をクリックします。
      3. 「編集」をクリックします。
      4. 「実行パラメータ」を以下の通りに変更します。
        • systemMatterId : 対象の案件のシステム案件ID
        • deleteFlag : true
      5. 「更新」をクリックします。
      6. 「サイトマップ」→「テナント管理」→「ジョブ管理」→「ジョブネット設定」をクリックします。
      7. ジョブネット一覧から「 IM-Workflow 」→「未完了案件XMLデータ移行(Database LOB->File)」をクリックします。
      8. 以下のいずれかの方法で、「未完了案件XMLデータ移行(Database LOB->File)」のジョブネットを実行します。
        • 「即時実行」をクリックし、ジョブネットを実行します。
        • 「編集」をクリックし、トリガ設定を変更することで、ジョブネットを実行します。
    4. ワークフローパラメータで、トランザクションファイル(XMLファイル)圧縮可否を「圧縮する」としている場合は、下記の手順を実施してください。
      対象のワークフローパラメータの設定については、「 IM-Workflow 仕様書 」-「 トランザクションファイル(XMLファイル)圧縮可否 」を参照してください。

      コラム

      ワークフローパラメータで、トランザクションファイル(XMLファイル)圧縮可否を「圧縮する」としている場合、一度トランザクションデータを解凍した上で対応を行います。
      以下の手順で操作してください。
      1. 「サイトマップ」→「テナント管理」→「ジョブ管理」→「ジョブ設定」をクリックします。
      2. ジョブ一覧から「 IM-Workflow 」→「未完了案件トランザクションXMLファイル解凍」をクリックします。
      3. 「編集」をクリックします。
      4. 「実行パラメータ」を以下の通りに変更します。
        • systemMatterId : 対象の案件のシステム案件ID
      5. 「更新」をクリックします。
      6. 「サイトマップ」→「テナント管理」→「ジョブ管理」→「ジョブネット設定」をクリックします。
      7. ジョブネット一覧から「 IM-Workflow 」→「未完了案件トランザクションXMLファイル解凍」をクリックします。
      8. 以下のいずれかの方法で、「未完了案件トランザクションXMLファイル解凍」のジョブネットを実行します。
        • 「即時実行」をクリックし、ジョブネットを実行します。
        • 「編集」をクリックし、トリガ設定を変更することで、ジョブネットを実行します。
    5. 手順 1 で確認した情報に基づいて、対象の案件のストレージ上のトランザクションデータのディレクトリ内の flow.xml を編集します。
      [%PUBLIC_STORAGE_PATH%]/im_workflow/data/[%テナントID%]/transaction/%YYYYMM%/%DD%/%HH%/%システム案件ID%/task/%sp_タスクID%/flow.xml
      
      • /im_workflow/data/[%テナントID%]/transaction/%YYYYMM%/%DD%/%HH%/ の部分は「ディレクトリパス」の値です。
      • /%システム案件ID%/ の部分は「システム案件ID」の値です。
      • /%sp_タスクID%/ の部分は「最終タスク処理ID」の値です。

      コラム

      ワークフローパラメータで、トランザクションファイル(XMLファイル)圧縮可否を「圧縮する」としている場合、編集対象の flow.xml の内容はインデントと改行が除去された状態です。
      後続の編集作業を行う前に、必要に応じてファイル内容のフォーマットを実施してください。
      手順 2 で確認したノードIDの情報に基づいて、各ノードに一致する<node_id>の配下のユーザプログラムの設定情報(タグ)を削除します。
      削除範囲は、下記に示す4か所の<extensionPoint xxx>~</extensionPoint>です。
      この作業は、終了ノードや、終了ノードの直前のノードにユーザプログラムを設定している場合に、案件操作によって意図しない処理が行われることを防ぐために行います。
      • 案件終了処理

        • 案件終了処理プログラム(トランザクションあり)

          <extensionPoint name="jp.co.intra_mart.workflow.plugin.event.matter.end.process">
           ・・・中略・・・
          </extensionPoint>
          
        • 案件終了処理プログラム(トランザクションなし)

          <extensionPoint name="jp.co.intra_mart.workflow.plugin.event.matter.end_no_transaction.process">
           ・・・中略・・・
          </extensionPoint>
          
      • 終了ノード

        • 到達処理プログラム

          <node id="%終了ノードのID%">
                 ・・・
          
             <extensionPoint name="jp.co.intra_mart.workflow.plugin.event.node.arrive.process">
               ・・・中略・・・
             </extensionPoint>
          
                 ・・・
          </node>
          
      • 終了ノードの直前に配置されているノード

        • アクション処理プログラム

          <node id="%終了ノードの直前に配置されているノードのID%">
                    ・・・
          
             <extensionPoint name="jp.co.intra_mart.workflow.plugin.event.node.action.process">
                ・・・中略・・・
             </extensionPoint>
          
                    ・・・
          </node>
          
        • 到達処理プログラム

          <node id="%終了ノードの直前に配置されているノードのID%">
                 ・・・
          
             <extensionPoint name="jp.co.intra_mart.workflow.plugin.event.node.arrive.process">
               ・・・中略・・・
             </extensionPoint>
          
                 ・・・
          </node>
          

      コラム

      <extensionPoint xxx>~</extensionPoint>を削除すると、該当の案件の上記手順中のノードに設定されているすべてのアクション処理・到達処理のユーザプログラムが無効化されます。
      特定のノードに複数のユーザプログラムを設定しており、特定のユーザプログラムのみを無効化したい場合には、<extensionPoint>タグ配下の<plugin xxx>~</plugin>を削除してください。
      例として、案件終了処理に2つのユーザプログラムを設定しており、「sample/test1」のユーザプログラムのみ無効化したい場合には、以下のファイルの2~4行目を削除してください。
      <extensionPoint name="jp.co.intra_mart.workflow.plugin.event.matter.end.process">
          <plugin extensionPoint="jp.co.intra_mart.workflow.plugin.event.matter.end.process" id="jp.co.intra_mart.workflow.plugin.event.matter.end.process.pluginScriptExecutor">
              <parameter>sample/test1</parameter>
          </plugin>
          <plugin extensionPoint="jp.co.intra_mart.workflow.plugin.event.matter.end.process" id="jp.co.intra_mart.workflow.plugin.event.matter.end.process.pluginScriptExecutor">
              <parameter>sample/test2</parameter>
          </plugin>
      </extensionPoint>
      
    6. ワークフローパラメータで、トランザクションファイル(XMLファイル)圧縮可否を「圧縮する」としている場合は、下記の手順を実施してください。

      コラム

      先の手順で、トランザクションデータを解凍した場合、再度処理を行う前にトランザクションデータを圧縮する必要があります。
      以下の手順で操作してください。
      1. 「サイトマップ」→「テナント管理」→「ジョブ管理」→「ジョブ設定」をクリックします。
      2. ジョブ一覧から「 IM-Workflow 」→「未完了案件トランザクションXMLファイル圧縮」をクリックします。
      3. 「編集」をクリックします。
      4. 「実行パラメータ」を以下の通りに変更します。
        • systemMatterId : 対象の案件のシステム案件ID
      5. 「更新」をクリックします。
      6. 「サイトマップ」→「テナント管理」→「ジョブ管理」→「ジョブネット設定」をクリックします。
      7. ジョブネット一覧から「 IM-Workflow 」→「未完了案件トランザクションXMLファイル圧縮」をクリックします。
      8. 以下のいずれかの方法で、「未完了案件トランザクションXMLファイル圧縮」のジョブネットを実行します。
        • 「即時実行」をクリックし、ジョブネットを実行します。
        • 「編集」をクリックし、トリガ設定を変更することで、ジョブネットを実行します。
    7. ワークフローパラメータで、未完了案件のトランザクションデータの保存先を「データベース」としている場合は、下記の手順を実施してください。

      コラム

      先の手順で、トランザクションデータをBLOBデータからXMLデータに変換した場合、再度処理を行う前にトランザクションデータをBLOBデータに再変換する必要があります。
      以下の手順で操作してください。
      1. 「サイトマップ」→「テナント管理」→「ジョブ管理」→「ジョブ設定」をクリックします。
      2. ジョブ一覧から「 IM-Workflow 」→「未完了案件XMLデータ移行(File->Database LOB)」をクリックします。
      3. 「編集」をクリックします。
      4. 「実行パラメータ」を以下の通りに変更します。
        • systemMatterId : 対象の案件のシステム案件ID
        • deleteFlag : true
      5. 「更新」をクリックします。
      6. 「サイトマップ」→「テナント管理」→「ジョブ管理」→「ジョブネット設定」をクリックします。
      7. ジョブネット一覧から「 IM-Workflow 」→「未完了案件XMLデータ移行(File->Database LOB)」をクリックします。
      8. 以下のいずれかの方法で、「未完了案件XMLデータ移行(File->Database LOB)」のジョブネットを実行します。
        • 「即時実行」をクリックし、ジョブネットを実行します。
        • 「編集」をクリックし、トリガ設定を変更することで、ジョブネットを実行します。
    8. 案件操作で、処理中のノードを終了ノードの1つ前のノードに戻します。

    9. 案件操作で、対象の案件の状態を終了ノードに移動させると、案件が完了します。

回避方法

ありません。

復旧方法

ありません。

4.16.4. 「取止め」「否認」「承認終了」を行った案件が完了しない

対象バージョン

  • iWP / iAF の場合

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

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

現象

  • 以下のいずれかの処理を行った案件が、処理済一覧や参照一覧の「完了案件」として表示されず、「未完了案件」として表示されます。
    • 取止め
    • 否認
    • 承認終了
  • 処理済一覧で当該案件の「引戻し」アイコンが表示されないため、引戻しによって処理前のノードに戻すことができません。
  • 「案件操作」画面で当該案件の「ノード移動」アイコンが表示されないため、案件操作で処理前のノードに戻すことができません。

条件

以下のいずれかの処理を行った際、案件終了処理で例外が発生し、続けて実行される終了ノードのタスク開始処理においても例外が発生した場合に発生します。

  • 取止め
  • 否認
  • 承認終了

原因

「取止め」「否認」「承認終了」による案件終了処理で例外が発生した場合、処理待ちノードが 0 件となる状態を回避するため、終了ノードの開始を試みます。
この終了ノードの開始処理で例外が発生した場合、終了ノードを開始することができないため、処理待ちノードが 0 件として扱われます。
この場合は、いかなる案件の処理も実行不可な状態となってしまいます。

解決方法

ありません。

回避方法

ありません。

復旧方法

案件操作画面で当該案件を削除してください。