IM-BIS for Accel Platform IM-BIS 仕様書 第15版 2020-08-01

9.11. 動的処理対象者設定に関する仕様

動的処理対象者に関する設定の仕様を説明します。

9.11.1. データソース定義に関する仕様

  1. 利用できるデータソース種別

    動的処理対象者設定で利用できるデータソース種別は次の通りです。
    • SOAP (非推奨)
    • REST (非推奨)
    • JAVA (非推奨)
    • LogicDesigner
    • ルール
  2. レスポンスパラメータの構造

    動的処理対象者設定で使用するデータソース定義のレスポンスパラメータの構造は、必ず以下の仕様通りに設定する必要があります。
    行番号

    パラメータ
    データ型
    親オブジェクト
    1

    ResponseObject
    object
    なし
    2

    settings
    array
    1
    3


    object
    2
    4
    処理設定No
    processSetNo
    string
    3
    5
    判定用コード
    code
    string
    3
    6
    会社コード
    companyCd
    string
    3
    7
    会社組織セットコード
    departmentSetCd
    string
    3
    8
    ユーザコード
    userCd
    string
    3
    9
    組織コード
    departmentCd
    string
    3
    10
    比較
    compare
    string
    3
    11
    役職コード
    postCd
    string
    3
    12
    パブリックグループセットコード
    publicGroupSetCd
    string
    3
    13
    パブリックグループコード
    publicGroupCd
    string
    3
    14
    役割コード
    roleCd
    string
    3

コラム

動的処理対象者設定で外部連携を設定する場合は、レスポンスのマッピングを行いません。
レスポンスは上記仕様に従い、自動的にパラメータをマッピングします。

9.11.2. 外部連携返却値に関する仕様

外部連携の返却値は、レスポンスパラメータの仕様にある「判定用コード」およびコード毎の必須項目があります。
なお、処理対象者に関する各種コード値については、IM共通マスタの値を設定してください。
  1. 判定コード

    処理対象者に設定する条件の分類を指定します。
    1 ⇒ ユーザ
    2 ⇒ 組織
    3 ⇒ パブリックグループ
    4 ⇒ 役職
    5 ⇒ 役割
    6 ⇒ 組織+役職
    7 ⇒ パブリックグループ+役割
  2. 判定コード別の必須条件

    ../../_images/judgement_code.png
    ※表に「〇」がついている項目は必須です。
    「-」は不要な項目です。
  3. 処理設定No

    縦配置ノード、横配置ノードの処理設定順を指定します。
    値は、1から順に数値を設定してください。
    配置したいノード数分、判定コードの設定が必要です。
    • 配置ノードを複数指定した例

      ノード編集画面には、返却値が以下のように表示されます。
      ../../_images/processSetNo_1.png
  4. 比較

    判定コード2,3,6,7において、組織とパブリックグループに対する比較演算子を指定します。
    役職や役割には適用されません。
    利用可能な比較演算子は、以下の通りです。
    ge ⇒ 上位階層検索(指定したコードを含む)
    eq ⇒ 指定のみ検索
    le ⇒ 下位階層検索(指定したコードを含む)
    • eqを指定した例

      ノード編集画面には、返却値が以下のように表示されます。
      処理対象者の検索ボタンから遷移後の画面では、適用されません。
      ../../_images/compare_1.png
    • geを指定した例

      ノード編集画面には、以下のように表示されます。
      ../../_images/compare_2.png
      絞込み条件確認画面には、返却値が以下のように表示されます。
      処理対象者の検索ボタンから遷移後の検索画面の暗黙条件として適用します。
      ../../_images/compare_3.png

注意

申請者が承認者のユーザ検索を行う際の暗黙条件(ユーザ操作とは別に指定する条件)として利用する場合のみ、比較の上位階層検索、下位階層検索を指定することが出来ます。

この条件を利用する場合は、動的処理対象者設定画面にて、以下の通りに設定する必要があります。
 動的処理者設定 ⇒ 外部連携設定
 処理対象者の設定方法 ⇒ 手動で設定する

動的処理対象者設定画面については、「 IM-BIS 業務管理者操作ガイド 」 - 「 動的処理対象者設定 」を参照してください。

コラム

JAVAについては、「 IM-BIS システム管理者操作ガイド 」 - 「 動的処理対象者設定 外部連携(JAVA)サンプル 」を参考にしてください。

コラム

LogicDesignerについては、「 IM-BIS システム管理者操作ガイド 」 - 「 動的処理対象者設定 外部連携(LogicDesigner)サンプル 」を参考にしてください。

コラム

IM-BIS の動的処理対象者設定のノードスキップについて

動的処理対象者設定でノードスキップを行うには、以下の構造の空オブジェクトを返却するようにしてください。

  • OpenRules の場合

    「Data IMDynamicUser settings」のID列に存在しない値を受け渡すことで空オブジェクトを返却できます。
    ResponseObject(id=0) {
       ids={
         [0]=%ID列に存在しない値%
         }
       settings=[]
     }
  • IM-LogicDesigner の場合

    スクリプトサンプルを参考に空のオブジェクトを返却してください。
    /**
     * run.
     *
     * @return {Object} task result.
     */
    function run() {
    
      var dynamicSettingList = [];
    
    
      var returnObject = [];
      returnObject = {
        settings:dynamicSettingList
      };
    
      var returnMap = {
        ResponseObject:returnObject
      };
    
        Debug.console("returnMap");
        Debug.console(returnMap);
    
      return returnMap;
    
    }
    

9.11.3. データソース定義「ルール」を使用する場合の、ルールExcelファイルの記述に関する仕様

OpenRulesの基本的な使い方は、別途提供している「 OpenRules for IM-BIS 連携ガイド 」を参照してください。
ここでは、動的処理者設定でルールを使用する場合の設定方法を説明します。
動的処理者設定の仕様に準じたオブジェクトを返却するには、以下の設定をします。
  • Dataテーブル

    IM-BIS に返却したい全てのユーザ・会社・組織等を設定します。
    テーブルのヘッダーは「Data IMDynamicUser settings」を使用してください。
    以下の例のように、通常の動的処理者設定用のオブジェクト構造に、対象者IDを追加してください。
    対象者IDはユニークなナンバーにする必要があります。
    ルールによる動的処理者設定では、この対象者IDを指定することで、処理対象者の指定を行います。
    ../../_images/rule_excel_1.png

コラム

IMDynamicUserは以下の構造のオブジェクトです。

../../_images/rule_excel_2.png
  • Datatypeテーブル

    IM-BIS への結果返却用の配列(Stringの配列。以下の例ではids)と、IMDynamicUserの配列は必須です。
    IMDynamicUserの配列の変数名は、settingsを用いてください。
    他のフィールドを追加することも可能です。
    ../../_images/rule_excel_3.png
  • Decisionテーブル

    動的処理者設定用のオブジェクトを作成するために、以下のシンタックスを利用してください。
    := decision.put("Response_Business_Concept_Name", resultantDynamicUsers(response_Object_Instance, "Attribute_Name_Of_SettingIDs", settings))
    
    • Response_Business_Concept_Name

      返却するオブジェクトのBusiness Concept名
    • response_Object_Instance

      返却するオブジェクトのインスタンス名
    • Attribute_Name_Of_SettingIDs

      結果返却用の配列(String[])の変数名(ダブルクォーテーションで囲んでください。)
      設定例
      := decision.put("ResponseObject", resultantDynamicUsers(responseObj, "ids", settings))
      
  • DecisionObjectテーブル

    動的処理者設定用のオブジェクトを初期化するために、以下のシンタックスを利用してください。
    := initializeDynamicUserList(response_Object_Instance, "Attribute_Name_Of_SettingIDs&Initial _Values", settings)
    
    • response_Object_Instance

      返却するオブジェクトのインスタンス名
    • Attribute_Name_Of_SettingIDs&Initial _Values

      インスタンス化に用いる変数とユーザ情報の2つを結合して指定します。(全体をダブルクォーテーションで囲んでください。)
      ../../_images/rule_excel_4.png
      1. 結果返却用の配列(String[])の変数名
      2. セパレータ
      3. インスタンスの初期化に用いたいユーザの対象者IDを指定(上記の例では対象者ID:1,2,3,4のユーザをインスタンス化に用いる)
      ※インスタンス化する必要が無い場合は、”ids :” または “ids” を設定してください。
      設定例
      := initializeDynamicUserList(responseObj, "ids:1,2,3", settings)
      
  • Variableテーブル

    返却するオブジェクトの設定にはVariableテーブルを使用してください。
    設定する値はDecisionObjectテーブルで指定した、インスタンスの初期化に用いるユーザの対象者IDと一致させてください。
    他のフィールドを追加することも可能です。
  • Glossaryテーブル

    返却するオブジェクトの設定については、以下の例を参考に設定してください。
    背景色が黄色の部分がIMDynamicUserのBeanの変数を示しています。
    以下の例以外の変数を追加することもできます。
    ../../_images/rule_excel_5.png

    コラム

    下記の例のようにIMDynamicUserの変数を省略することも可能ですが、混乱を招く可能性があるため、省略しないことをお勧めします。
    ../../_images/rule_excel_6.png
  • DecisionTableテーブル

    判定ルールと、返却する対象者IDを設定してください。
    IM-BIS 側に返却する対象者IDの配列(この例だと返却ID)はArray型のため、カンマ区切りで対象者IDを設定してください。
    Condition、Conclusionの追加・変更は自由に設定ができます。
    以下の例は、インプット1が10の場合、対象者IDが1,14のユーザが IM-BIS に返却、20の場合は対象者IDが2,13,5のユーザが IM-BIS に返却されます。
    ../../_images/rule_excel_7.png