IBM Support

RS03808: IN SOME CASES, ALL NUMERIC TYPES ARE TREATED AS DOUBLE IN ARL WHICH CAUSES BINDING ISSUE AND PREVENTS THE RULE FROM BEING EXECUT

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Using Decision Engine, when dealing with a list of Long (or
    Integer, Float) that is returned by a method such as
    public List<Long> listWrapperLongMethod()
    
    The BRL rule below
       definitions
           set 'a Long' to a number in 'test
    input'.listWrapperLongMethod() ;
       if
           true
       then
           print "Long list method: " + 'a Long' ;
    
    is translated in ARL as follows:
       rule `Long list method` {
         ilog.rules.business_name = "Long list method"
         ilog.rules.dt = ""
         ilog.rules.package_name = ""
         status = "new"
         when {
           sample.Test() from $EngineData.this.test_input;
           `a Long` : java.lang.Double() in
    $EngineData.this.test_input.listWrapperLongMethod();
           evaluate ( true);
         }
         then {
           ilog.rules.brl.System.printMessage("Long list method: " +
    `a Long`);
         }
       }
    
    and the rule is not executed.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Users executing decision services with decision engine mode. *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Using Decision Engine, when dealing with a list of Long (or  *
    * Integer, Float) that is returned by a method such as         *
    * public List<Long> listWrapperLongMethod()                    *
    *                                                              *
    * The BRL rule below                                           *
    *    definitions                                               *
    *        set 'a Long' to a number in 'test                     *
    * input'.listWrapperLongMethod() ;                             *
    *    if                                                        *
    *        true                                                  *
    *    then                                                      *
    *        print "Long list method: " + 'a Long' ;               *
    *                                                              *
    * is translated in ARL as follows:                             *
    *    rule `Long list method` {                                 *
    *      ilog.rules.business_name = "Long list method"           *
    *      ilog.rules.dt = ""                                      *
    *      ilog.rules.package_name = ""                            *
    *      status = "new"                                          *
    *      when {                                                  *
    *        sample.Test() from $EngineData.this.test_input;       *
    *        `a Long` : java.lang.Double() in                      *
    * $EngineData.this.test_input.listWrapperLongMethod();         *
    *        evaluate ( true);                                     *
    *      }                                                       *
    *      then {                                                  *
    *        ilog.rules.brl.System.printMessage("Long list method: *
    * " +                                                          *
    * `a Long`);                                                   *
    *      }                                                       *
    *    }                                                         *
    *                                                              *
    * and the rule is not executed.                                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • The code is fixed.
    

Temporary fix

Comments

APAR Information

  • APAR number

    RS03808

  • Reported component name

    WDS FOR RULES

  • Reported component ID

    5725B6903

  • Reported release

    8A0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2021-06-08

  • Closed date

    2021-06-10

  • Last modified date

    2021-06-10

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WDS FOR RULES

  • Fixed component ID

    5725B6903

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSQP76","label":"IBM Decision Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8A0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
29 April 2022