CookBook

ワークフローの案件削除時にBIS/Formaの関連データも削除する方法

投稿日:

このCookBookでは、ワークフローの案件削除時にBIS/Formaの関連データも併せて削除する方法について紹介しています。

BIS/Formaで作成したワークフローには、機能ごとに個別で管理するトランザクションデータが存在し、これらのデータはIM-Workflowの案件削除機能では削除されません。(例:BISの場合、imbis_t_historyテーブル等。Formaの場合、imfr_ut_xxxテーブル等)
2018Winterで追加された BIS案件付属情報削除タスクFormaアプリケーション登録データ削除タスク を使用することで、ワークフロー案件削除時にこれらのデータも併せて削除することができます。

それぞれのタスクで削除されるデータは以下のドキュメントを参照してください。

完成イメージ


・ 案件操作画面からBISで作成したフローの案件削除を行うと、案件削除リスナーに指定したロジックフローが実行され、BIS/Formaの関連データも併せて削除します。
・ 各種案件状態(未完了・完了・過去)に関わらず動作可能なロジックフローを作成します。

完成サンプル

以下の完成サンプルをダウンロードしてご活用ください。

  • ロジックフロー定義: im_cookbook_152804_logicdesigner-data
    • LogicDesignerのインポート機能からインポートしてください。
    • 手順の詳細は以下のドキュメントを参照してください。
    • サンプルに含まれる定義情報は以下の表の通りです。
      種類 定義名 補足説明
      フロー定義 【CookBook】BIS/Formaの案件トランザクションデータ削除 入出力設定で受け取った値を基にBIS/Formaの関連データを判断し、削除します。

上記のサンプルの利用条件は以下の通りです。

  • intra-mart Accel Platform(Advanced) 2018 Winter(8.0.21)以降のバージョンであること
  • サンプルデータのインポートが行われていること

サンプルは、intra-mart Accel Platform(Advanced) 2018 Winter(8.0.21)で動作確認を行っています。

レシピ

  1. IM-LogicDesigner で案件削除リスナー用のフロー定義を作成する
  2. ワークフローパラメータの各種案件削除リスナーに、作成したロジックフローを指定する
  3. BISワークフローを申請し、当該案件を削除する

1. IM-LogicDesigner で案件削除リスナー用のフロー定義を作成する

  • 定数設定
定数ID 定数値 補足説明
extractSystemMatterId ${!isEmpty($input.imwActvMatterDeleteProcess) ? $input.imwActvMatterDeleteProcess.systemMatterId : (!isEmpty($input.imwCplMatterDeleteProcess) ? $input.imwCplMatterDeleteProcess.systemMatterId : (!isEmpty($input.imwArcMatterDeleteProcess) ? $input.imwArcMatterDeleteProcess.systemMatterId : null))} 入力設定からsystemMatterIdを取得するためのEL式です。
extractUserDataId ${!isEmpty($input.imwActvMatterDeleteProcess) ? $input.imwActvMatterDeleteProcess.userDataId : (!isEmpty($input.imwCplMatterDeleteProcess) ? $input.imwCplMatterDeleteProcess.userDataId : (!isEmpty($input.imwArcMatterDeleteProcess) ? $input.imwArcMatterDeleteProcess.userDataId : null))} 入力設定からuserDataIdを取得するためのEL式です。
false false フロー定義の出力値「error」にセットするための値です。
当CookBookでは失敗を考慮しないため一律falseとします。
  • 入出力設定(入力)
キー 補足説明
imwActvMatterDeleteProcess - systemMatterId , userDataId 未完了案件削除リスナーから連携される値を取得するための設定です。
imwCplMatterDeleteProcess - systemMatterId , userDataId 完了案件削除リスナーから連携される値を取得するための設定です。
imwArcMatterDeleteProcess - systemMatterId , userDataId 過去案件削除リスナーから連携される値を取得するための設定です。
  • 入出力設定(出力)
キー 補足説明
error 各種案件削除リスナーへ連携する値です。

入出力値の詳細は以下のドキュメントを参照してください。
IM-Workflow 管理者操作ガイド - 未完了案件削除処理
IM-Workflow 管理者操作ガイド - 完了案件削除処理
IM-Workflow 管理者操作ガイド - 過去案件削除処理

  • 変数設定
名称 補足説明
systemMatterId 入力値をEL式で解析した値を保管します。
userDataId 入力値をEL式で解析した値を保管します。
  • フロー

  • (1) extractSystemMatterId,extractUserDataId(EL式)を利用し、入力値から取得した値を変数へ格納します。

  • (2) BIS案件付属情報削除タスクを実行します。

  • (3) Formaアプリケーション登録データ削除タスクを実行します。

2. ワークフローパラメータの各種案件削除リスナーに、作成したロジックフローを指定する

手順の詳細は以下のドキュメントを参照してください。

IM-Workflow 仕様書 - リスナーの設定

3. BISワークフローを申請した後、当該案件を削除する

それぞれのタスクで削除対象となっているデータが削除されていることを確認してください。
また、BIS/Formaで作成していないワークフローの案件を削除した場合も正常に終了することを確認してください。

-CookBook
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

スクリプト開発した画面にバリデーション(入力チェック)を実装する

このCookBookでは、作成した画面項目に対してバリデーション(入力チェック)を設定する方法をご紹介します。 今回はスクリプト開発で登録フォームを作成するで作成した画面項目に対して、クライアントサイ …

no image

設計書出力に任意のシートを追加する方法

このCookBookでは、BIS設計書出力機能で出力できるIM-Workflowフロー設計書およびBISフロー設計書に任意のシートを出力する方法について紹介しています。 完成イメージ 1. IM-BI …

no image

【ViewCreator】検索にヒットした件数を取得する関数の作り方。

このCookBookでは、ViewCreatorで検索にヒットした件数を取得する関数の作り方についてご紹介します。 ユーザ定義関数についての詳細は下記のドキュメントを参照してください。 ViewCre …

no image

Formaのスクリプトから処理対象者を制御するには

このCookBookでは、スクリプトを利用してIM-Workflowの動的ノード(動的承認、縦配置、横配置)の処理対象者を制御する方法をご紹介します。 スクリプトから動的処理対象者設定機能を利用するこ …

no image

Forma標準アプリとIM-LogicDesignerを利用してBISワークフローの一括承認画面を作成する

このCookBookでは、Forma標準アプリとLogicDesignerを利用して、BISワークフローの一括承認画面を作成する方法を紹介します。 完成イメージ ① 承認を実施するフローとノードを設定 …

まだデータがありません。

RSSRSSRSSRSS