IM-BIS for Accel Platform OpenRules for IM-BIS 連携ガイド 第9版 2019-04-01

11.3. 結果・処理として利用できるキーワード

DecisionDecisionTable で評価(処理)の設定に利用するキーワードです。

Conclusion

演算子と比較する値を組み合わせて返却する値(評価結果)に設定することができます。

記述方法

利用するTableTypeのサブヘッダ部に記述します。
../../_images/conclusion.png
  1. キーワード
    結果を表す OpenRules のキーワードです。
  2. 論理名
    Glossary で定義した項目の論理名です。
  3. 演算子
    キーワードやデータ型によって利用可否が異なります。
  4. 返却値
    演算子と組み合わせて条件に合致した場合に返却する値です。
Isと組み合わせて、 Methodで利用できるキーワード(API) を記述することもできます。
  • 式を設定する例

    ../../_images/conclusion_calc.png
    1. キーワード
      結果を表す OpenRules のキーワードです。
    2. 論理名
      Glossary で定義した項目の論理名です。
    3. 演算子
      キーワードやデータ型によって利用可否が異なります。
    4. 条件に合致した場合に実行するマクロやメソッドなどを表す式です。
      最初に”::=”をつける必要があります。
  • カンマ区切りで設定する例

    ../../_images/conclusion_comma.png
    1. キーワード
      結果を表す OpenRules のキーワードです。
    2. 論理名
      Glossary で定義した項目の論理名です。
    3. 演算子
      カンマ区切りで複数の値を返却する場合は”Are”にする必要があります。
    4. 返却値
      演算子と組み合わせて条件に合致した場合に返却する値です。
      カンマ区切りで返却する値を複数記述し、グリッドテーブルに返却した場合には、テーブルの各行の値にセットされます。

利用できる演算子

演算子 別の記法 説明
Is
=
==
対象の項目の値に1つの値を設定します。
Are なし
カンマ区切りで複数の値を配列型で、対象の項目の値に代入します。
テーブル系アイテムに利用した場合、複数の行に返却することができます。
Add なし
IM-BIS との連携では、利用できません。
Assign Plus +=
IM-BIS との連携では、利用できません。
Assign Minus -=
IM-BIS との連携では、利用できません。
Assign Multiply *=
IM-BIS との連携では、利用できません。
Assign Divide /=
IM-BIS との連携では、利用できません。

コラム

  • 結果の値のセルに設定する内容について

    結果(Conclusion)の値に設定する値は、”:=”などを付与せずに記述した場合、書かれている文字列(数値)をそのまま対象の項目の値にセットします。
    他の項目の値をセットする場合には、以下のように記述します。
    ::= ${項目の論理名}
    
    “$”は OpenRules のマクロです。
    データ型によって使い分ける必要がありますので、詳細は Methodで利用できるキーワード(API) を参照してください。

Then

「Then」は、Then(Conclusion)に演算子を記述しなくてもよい特殊なキーワードです。
このキーワードは、 Conclusion と演算子”=”を利用した場合と同義です。

記述方法

Then を利用したい場合、以下の図のように記述します。
../../_images/then.png
  1. キーワード
    結果を表す OpenRules のキーワードです。
  2. 論理名
    Glossary で定義した項目の論理名です。
  3. 返却値
    条件に合致した場合に返却する値です。

利用できる演算子

このキーワードでは、演算子を利用しません。

ConclusionVarOperValue

演算子と比較する値を組み合わせて返却する値(評価結果)に設定することができます。

記述方法

利用するTableTypeのサブヘッダ部に記述します。
../../_images/conclusion_var_oper_value.png
  1. キーワード
    結果を表す OpenRules のキーワードです。
  2. 列ラベル
    返却内容の説明など列を識別するための情報です。
  3. 論理名
    Glossary で定義した項目の論理名です。
    (e) で設定した値のセット対象です。
  4. 演算子
    キーワードやデータ型によって利用可否が異なります。
  5. 返却値
    (e) で設定した項目にセットする値です。

利用できる演算子

演算子 別の記法 説明
Is
=
==
対象の項目の値に1つの値を設定します。
Are なし
カンマ区切りで複数の値を配列型で、対象の項目の値に代入します。
テーブル系アイテムに利用した場合、複数の行に返却することができます。
Add なし
IM-BIS との連携では、利用できません。
Assign Plus +=
IM-BIS との連携では、利用できません。
Assign Minus -=
IM-BIS との連携では、利用できません。
Assign Multiply *=
IM-BIS との連携では、利用できません。
Assign Divide /=
IM-BIS との連携では、利用できません。

ActionAny

定義済みのJavaやExcelの関数やメソッドを呼び出して実行することができます。

記述方法

利用するTableTypeのサブヘッダ部に記述します。
../../_images/actionany.png
  1. キーワード
    結果を表す OpenRules のキーワードです。
  2. 列ラベル
    返却内容の説明など列を識別するための情報です。
  3. 条件に合致した場合に実行するマクロやメソッドなどを表す式です。
    最初に”:=”をつける必要があります。

利用できる演算子

演算子は記述できません。

ActionMap

HashMap型の項目に対する評価(処理)を記述することができます。
IM-BIS との値の受け渡しでは、HashMap型を利用することはできません。

ActionPrint

実行する処理名をコンソールに出力します。
ログには出力されません。

記述方法

利用するTableTypeのサブヘッダ部に記述します。
ActionPrintは Decision でのみ記述できます。(必須項目)
../../_images/action_print.png
  1. キーワード
    コンソールへの出力を表す OpenRules のキーワードです。
  2. 列ラベル
    条件式の説明など列を識別するための情報です。
  3. 出力内容
    コンソールに出力する内容です。

利用できる演算子

演算子は記述できません。

実行イメージ

ActionPrintで設定した内容は、以下のような形でコンソールに出力されます。

Decision でActionPrintを利用した場合のコンソールへの出力例は以下の通りです。
  • Decision では、ActionPrintに処理名を設定します。

    ../../_images/action_print_ex_decision.png
  • コンソールの出力内容です。

    ../../_images/action_print_ex_console.png
    1. Decision の明細1行目で設定したメッセージです。
    2. Decision の明細2行目で設定したメッセージです。
    3. Decision の明細3行目で設定したメッセージです。
    4. Decision の明細4行目で設定したメッセージです。

ActionExecute

実行する DecisionDecisionTable の名前を記述します。
上から順に DecisionDecisionTable を実行します。
Decision から Decision をサブデシジョンとして呼び出すこともできます。

記述方法

利用するTableTypeのサブヘッダ部に記述します。
ActionExecuteは Decision の必須項目です。
../../_images/action_execute.png
  1. キーワード
    Decision によるルールの実行などの処理を表す OpenRules のキーワードです。
  2. 列ラベル
    各処理の説明など列を識別するための情報です。
  3. 実行内容
    実行する DecisionMethod など実際の処理と順番を表します。
    上から順に設定された処理を実行します。
DecisionTable での利用例です。
以下の例では DecisionTable からサブデシジョンの呼び出しを行っています。
../../_images/action_execute_dt.png
  1. キーワード
    Decision によるルールの実行などの処理を表す OpenRules のキーワードです。
  2. 列ラベル
    各処理の説明など列を識別するための情報です。
  3. 実行内容(サブデシジョンなど)
    DecisionTable から呼び出す Decision 、または他の DecisionTable の名称です。

利用できる演算子

演算子は記述できません。

Action

特定の項目に返却する値(評価結果)を設定することができます。

記述方法

利用するTableTypeのサブヘッダ部に記述します。
../../_images/action.png
  1. キーワード
    (b) 論理名の項目への値の代入を表す OpenRules のキーワードです。
  2. 論理名
    Glossary で定義した項目の論理名です。
  3. 返却値
    (b) 論理名の項目に代入する値です。

利用できる演算子

演算子は記述できません。

Message

任意に設定した文字列をコンソールに出力します。
ログには出力されません。

記述方法

利用するTableTypeのサブヘッダ部に記述します。
  • Decision の場合

    ../../_images/message.png
    1. キーワード
      コンソールへのメッセージの出力を表す OpenRules のキーワードです。
    2. 列ラベル
      条件式の説明など列を識別するための情報です。
    3. メッセージ内容
      該当の処理実行時にコンソールに出力する内容です。
  • DecisionTable の場合

    ../../_images/message_dt.png
    1. キーワード
      コンソールへのメッセージの出力を表す OpenRules のキーワードです。
    2. 列ラベル
      条件式の説明など列を識別するための情報です。
    3. メッセージ内容
      該当の処理実行時にコンソールに出力する内容です。

利用できる演算子

演算子は記述できません。

実行イメージ

Messageで設定した内容は、コンソールに出力されます。

DecisionDecisionTable でMessageを利用した場合のコンソールへの出力例は以下の通りです。
  • Decision では、Messageに「Message from Decision」と設定します。

    ../../_images/message_ex_decision.png
  • DecisionTable では、Messageに「Message from DT」と設定します。

    ../../_images/message_ex_dt.png
  • コンソールの出力内容です。

    ../../_images/message_ex_console.png
    1. Decision の明細1行目で設定したメッセージです。
    2. DecisionTable に設定したメッセージのうち、条件に合致した明細3行目のメッセージです。
    3. Decision の明細2行目で設定したメッセージです。
    4. Decision の明細3行目で設定したメッセージです。
    5. Decision の明細4行目で設定したメッセージです。
Decision で設定した場合には、「(decision名):(Messageの内容)」という形式で出力されます。
DecisionTable で設定した場合には、条件に合致した行のMessageが「(Messageの内容)[produced by (Decision Table名)]」という形式で出力されます。

コラム

上の例で DecisionTable で設定したメッセージは”Rule ID”と組み合わせて、以下の形式で記述することもできます。
($RULE_IDは、 OpenRules 6.3.0以降で利用できます。)
  • DecisionTable に「Rule ID」列を追加し、 Message は1つの結合セルでまとめます。
    キーワードとして”#”を指定すると、 DecisionTable の各行を識別するIDの列として扱われます。
    ../../_images/message_ex_ruleid_1.png
    上記の DecisionTable を実行すると”$RULE_ID”に”Rule ID”を代入してコンソールに出力されます。
    例えば、2行目の条件(Rule 2)に合致した場合は以下のように出力されます。
    ../../_images/message_ex_ruleid_2.png

ActionIterate

オブジェクトの配列を受け取って配列中のオブジェクト1件ずつに対して、別の DecisionTable で定義したルールの評価を繰り返し実行することができます。
このキーワードは、 IM-BIS との連携では利用できません。

ActionRulesOnArray

配列型のデータを受け取って配列中のデータ1件ずつに対して、 DecisionTable などで定義したルールの評価を実行することができます。
このキーワードは、 IM-BIS との連携では利用できません。

ActionSort

オブジェクトの配列を受け取って配列中のオブジェクト1件ずつに対して、別の DecisionTable で定義したルールの評価に基づいたスコアを算出し、スコア順にソートすることができます。
このキーワードは、 IM-BIS との連携では利用できません。