IM-BIS for Accel Platform / OpenRules for IM-BIS 連携ガイド 第2版 2015-08-01

11.8. OpenRules のバージョンによる記法の差異

IM-BIS と OpenRules をアップデートする場合、 OpenRules のバージョンによって追加・変更が発生する事項をまとめています。
アップデートを行う際には、本項の内容に基づいて必要な対応を実施してください。

テーブルタイプ

DecisionTable

キーワードで「DecisionTableSingleHit」が利用可能

以下の表で”○”となった OpenRules のバージョンでは、 DecisionTable で「DecisionTableSingleHit」を利用することができます。
  • 利用できる OpenRules のバージョン

    OpenRules

    利用可否

    OpenRules 6.2.4

    ×

    OpenRules 6.2.6

    OpenRules 6.3.0

    OpenRules 6.3.1

DecisionTable1

キーワードで「DecisionTableMultiHit」が利用可能

以下の表で”○”となった OpenRules のバージョンでは、 DecisionTable1 で「DecisionTableMultiHit」を利用することができます。
  • 利用できる OpenRules のバージョン

    OpenRules

    利用可否

    OpenRules 6.2.4

    ×

    OpenRules 6.2.6

    OpenRules 6.3.0

    OpenRules 6.3.1

条件として利用できるキーワード

Condition

数値範囲の記載方法に[1..n]形式を追加

OpenRules 6.3.0では、数値範囲の表現方法で[5,15](5~15の範囲を表す)と同義の形式として[5..15]の形式でも記載できるようになりました。
  • 利用できる OpenRules のバージョン

    OpenRules

    利用可否

    OpenRules 6.2.4

    ×

    OpenRules 6.2.6

    ×

    OpenRules 6.3.0

    OpenRules 6.3.1

ConditionIntOperInt

特定のデータ型の項目( Data/Variable )同士を比較するためのキーワードの追加

OpenRules 6.3.0では、特定のデータ型の項目同士を簡単に比較するためのキーワードとして、「 ConditionIntOperInt 」を追加しました。
詳細については該当のキーワードのリファレンスを参照してください。
  • 利用できる OpenRules のバージョン

    OpenRules

    利用可否

    OpenRules 6.2.4

    ×

    OpenRules 6.2.6

    ×

    OpenRules 6.3.0

    OpenRules 6.3.1

ConditionRealOperReal

特定のデータ型の項目( Data/Variable )同士を比較するためのキーワードの追加

OpenRules 6.3.0では、特定のデータ型の項目同士を簡単に比較するためのキーワードとして、「 ConditionRealOperReal 」を追加しました。
詳細については該当のキーワードのリファレンスを参照してください。
  • 利用できる OpenRules のバージョン

    OpenRules

    利用可否

    OpenRules 6.2.4

    ×

    OpenRules 6.2.6

    ×

    OpenRules 6.3.0

    OpenRules 6.3.1

ConditionDateOperDate

特定のデータ型の項目( Data/Variable )同士を比較するためのキーワードの追加

OpenRules 6.3.0では、特定のデータ型の項目同士を簡単に比較するためのキーワードとして、「 ConditionDateOperDate 」を追加しました。
詳細については該当のキーワードのリファレンスを参照してください。
  • 利用できる OpenRules のバージョン

    OpenRules

    利用可否

    OpenRules 6.2.4

    ×

    OpenRules 6.2.6

    ×

    OpenRules 6.3.0

    OpenRules 6.3.1

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

Conclusion

式の記述時の()の扱いが変更

OpenRules 6.3.0では、::=で始まる式を Conclusion などと組み合わせて記載する場合、式を()で囲わなくてもよい形に変更になりました。
  • 利用できる OpenRules のバージョン

    OpenRules

    利用可否

    OpenRules 6.2.4

    ×

    OpenRules 6.2.6

    ×

    OpenRules 6.3.0

    OpenRules 6.3.1

ActionExecute

Decision からの Sub-Decision( Decision)、DecisionTable の呼び出し方法の変更

OpenRules 6.2.6では、 Decision からの呼び出し方法が変更になります。
OpenRules 6.2.6以降のバージョンの環境で、OpenRules 6.2.4以前に対応した記述でのルールを実行すると、シンタックスエラーが発生します。
  • OpenRules 6.2.4以前での記述方法

    ../../_images/actionexecute_6_2_4.png
    // Sub-Decision(Decisionから別のDecisionの呼び出し)
     := DecisionName(decision)
    
    // DecisionTable(DecisionからのDecisionの呼び出し)
     := DecisionTableName()
    
    • 利用できる OpenRules のバージョン

      OpenRules

      利用可否

      OpenRules 6.2.4

      OpenRules 6.2.6

      ×

      OpenRules 6.3.0

      ×

      OpenRules 6.3.1

      ×

  • OpenRules 6.2.6以降での記述方法

    ../../_images/actionexecute_6_2_6.png
    // Sub-Decision(Decisionからの別のDecisionの呼び出し)
     DecisionName
    
    // DecisionTable(DecisionからのDecisionの呼び出し)
     DecisionTableName
    
    • 利用できる OpenRules のバージョン

      OpenRules

      利用可否

      OpenRules 6.2.4

      ×

      OpenRules 6.2.6

      OpenRules 6.3.0

      OpenRules 6.3.1

Methodで利用できるキーワード(API)

全般

すべてのget/set/compareメソッドの呼び出し変更、getメソッドの代替マクロの追加

すべてのget/set/compareメソッドについて、実行されるメソッドがExcelファイル(DecisionTemplates.xls、DecisionTableExecuteTemplates.xls)からJavaに移行されたことに伴い、呼び出し方法の書き方が変わります。
また、getメソッドの代替の記述方法としてマクロが追加されました。
  • OpenRules 6.2.6以前での記述方法

    以下の記述方法は、下位互換を保持するために OpenRules 6.3.0でも動作しますが、非推奨メソッドの扱いとなります。
    ../../_images/accessor_6_2_6.png
    // get()の例
    
       getInt("項目の論理名")
    
    • 利用できる OpenRules のバージョン

      OpenRules

      利用可否

      OpenRules 6.2.4

      OpenRules 6.2.6

      OpenRules 6.3.0

      △(非推奨)

      OpenRules 6.3.1

      △(非推奨)

  • OpenRules 6.3.0以降での記述方法

    ../../_images/accessor_6_3_0.png
    // get()の例
    
       decision.getInt("項目の論理名")
       $I{項目の論理名}

Method からの Decision インスタンスに含まれるパラメータへのアクセス方法の変更

Glossary で定義した Business ConceptVariable(Glossary)Method で扱う場合には Decision インスタンスからアクセスします。
OpenRules 6.3.0では、この Decision インスタンスへのアクセス方法の記述が変更されました。
OpenRules 6.2.6以前での記述方法を利用している場合、複数のスレッドで同時にルールを実行する際に正しく対象のインスタンスにアクセスできないなどの問題がありますので、注意してください。
  • OpenRules 6.2.6以前での記述方法

    ../../_images/decision_6_2_6.png
  • OpenRules 6.3.0以降での記述方法

    ../../_images/decision_6_3_0.png
    • 利用できる OpenRules のバージョン

      OpenRules

      利用可否

      OpenRules 6.2.4

      ×

      OpenRules 6.2.6

      ×

      OpenRules 6.3.0

      OpenRules 6.3.1