IBM Support

RS03718: BUILDING A RULE WITH "THERE IS ONE <INTERFACE>" USING DECISION ENGINE FAILS

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Building with Decision Engine a rule with a condition "there is
    one" on an interface throws below
    exception:
    java.lang.IllegalStateException
    at com.ibm.rules.brl.
    code.compiler.rve.SemanticsBuilder$DiagnosticHandler.noAggregate
    Function(SemanticsBuilder.java:1941)
    at com.ibm.rules.engine.lan
    g.semantics.SemAbstractCheckedLanguageFactory.lookForAggregateCl
    assWithOneArg(SemAbstractCheckedLanguageFactory.java:1310)
    at co
    m.ibm.rules.engine.lang.semantics.SemAbstractCheckedLanguageFact
    ory.lookForAggregateClass(SemAbstractCheckedLanguageFactory.java
    :1250)
    at com.ibm.rules.engine.lang.semantics.SemAbstractChecked
    LanguageFactory.checkedAggregateApplication(SemAbstractCheckedLa
    nguageFactory.java:1211)
    at com.ibm.rules.brl.code.compiler.rve.
    SemanticsBuilder.buildAggregateCondition(SemanticsBuilder.java:9
    92)
    at com.ibm.rules.brl.code.compiler.rve.SemanticsBuilder.buil
    dCondition(SemanticsBuilder.java:960)
    at com.ibm.rules.brl.code.
    compiler.rve.SemanticsBuilder.buildConditions(SemanticsBuilder.j
    ava:951)
    at com.ibm.rules.brl.code.compiler.rve.SemanticsBuilder
    .buildSimpleRuleContent(SemanticsBuilder.java:898)
    at com.ibm.ru
    les.brl.code.compiler.rve.SemanticsBuilder.buildRuleContent(Sema
    nticsBuilder.java:875)
    at com.ibm.rules.brl.code.compiler.rve.Se
    manticsBuilder.buildRule(SemanticsBuilder.java:787)
    at com.ibm.r
    ules.brl.code.compiler.rve.SemanticsBuilder.buildRule(SemanticsB
    uilder.java:150)
    at com.ibm.rules.studio.rve.builder.BusinessRul
    eCompiler.compile(BusinessRuleCompiler.java:136)
    at com.ibm.rule
    s.studio.rve.builder.RVERuleCompiler.compileProjectElement(RVERu
    leCompiler.java:422)
    at com.ibm.rules.studio.rve.builder.RVERule
    Compiler.compile(RVERuleCompiler.java:303)
    at ilog.rules.studio.
    model.builder.IncrementalRuleProjectBuilder.compile(IncrementalR
    uleProjectBuilder.java:1105)
    at ilog.rules.studio.model.builder.
    IncrementalRuleProjectBuilder.build(IncrementalRuleProjectBuilde
    r.java:1056)
    at ilog.rules.studio.model.builder.IncrementalRuleP
    rojectBuilder.build(IncrementalRuleProjectBuilder.java:314)
    at o
    rg.eclipse.core.internal.events.BuildManager$2.run(BuildManager.
    java:735)
    at
    org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at o
    rg.eclipse.core.internal.events.BuildManager.basicBuild(BuildMan
    ager.java:206)
    at org.eclipse.core.internal.events.BuildManager.
    basicBuild(BuildManager.java:246)
    at org.eclipse.core.internal.e
    vents.BuildManager$1.run(BuildManager.java:301)
    at
    org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at o
    rg.eclipse.core.internal.events.BuildManager.basicBuild(BuildMan
    ager.java:304)
    at org.eclipse.core.internal.events.BuildManager.
    basicBuildLoop(BuildManager.java:360)
    at org.eclipse.core.intern
    al.events.BuildManager.build(BuildManager.java:383)
    at org.eclip
    se.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:1
    42)
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBui
    ldJob.java:232)
    at org.eclipse.core.internal.jobs.Worker.run(Wor
    ker.java:56)
    
    Problem is specific to:
    1/ Decision Engine
    2/ use
    of "there is one"
    3/ use of an interface
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Users building rules with decision engine.                   *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Building with Decision Engine a rule with a condition "there *
    * is one" on an interface throws below exception:              *
    * java.lang.IllegalStateException                              *
    * at                                                           *
    * com.ibm.rules.brl.code.compiler.rve.SemanticsBuilder$Diagnos *
    * ticHandler.noAggregateFunction(SemanticsBuilder.java:1941)   *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.SemAbstractCheckedLangua *
    * geFactory.lookForAggregateClassWithOneArg(SemAbstractChecked *
    * LanguageFactory.java:1310)                                   *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.SemAbstractCheckedLangua *
    * geFactory.lookForAggregateClass(SemAbstractCheckedLanguageFa *
    * ctory.java:1250)                                             *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.SemAbstractCheckedLangua *
    * geFactory.checkedAggregateApplication(SemAbstractCheckedLang *
    * uageFactory.java:1211)                                       *
    * at                                                           *
    * com.ibm.rules.brl.code.compiler.rve.SemanticsBuilder.buildAg *
    * gregateCondition(SemanticsBuilder.java:992)                  *
    * at                                                           *
    * com.ibm.rules.brl.code.compiler.rve.SemanticsBuilder.buildCo *
    * ndition(SemanticsBuilder.java:960)                           *
    * at                                                           *
    * com.ibm.rules.brl.code.compiler.rve.SemanticsBuilder.buildCo *
    * nditions(SemanticsBuilder.java:951)                          *
    * at                                                           *
    * com.ibm.rules.brl.code.compiler.rve.SemanticsBuilder.buildSi *
    * mpleRuleContent(SemanticsBuilder.java:898)                   *
    * at                                                           *
    * com.ibm.rules.brl.code.compiler.rve.SemanticsBuilder.buildRu *
    * leContent(SemanticsBuilder.java:875)                         *
    * at                                                           *
    * com.ibm.rules.brl.code.compiler.rve.SemanticsBuilder.buildRu *
    * le(SemanticsBuilder.java:787)                                *
    * at                                                           *
    * com.ibm.rules.brl.code.compiler.rve.SemanticsBuilder.buildRu *
    * le(SemanticsBuilder.java:150)                                *
    * at                                                           *
    * com.ibm.rules.studio.rve.builder.BusinessRuleCompiler.compil *
    * e(BusinessRuleCompiler.java:136)                             *
    * at                                                           *
    * com.ibm.rules.studio.rve.builder.RVERuleCompiler.compileProj *
    * ectElement(RVERuleCompiler.java:422)                         *
    * at                                                           *
    * com.ibm.rules.studio.rve.builder.RVERuleCompiler.compile(RVE *
    * RuleCompiler.java:303)                                       *
    * at                                                           *
    * ilog.rules.studio.model.builder.IncrementalRuleProjectBuilde *
    * r.compile(IncrementalRuleProjectBuilder.java:1105)           *
    * at                                                           *
    * ilog.rules.studio.model.builder.IncrementalRuleProjectBuilde *
    * r.build(IncrementalRuleProjectBuilder.java:1056)             *
    * at                                                           *
    * ilog.rules.studio.model.builder.IncrementalRuleProjectBuilde *
    * r.build(IncrementalRuleProjectBuilder.java:314)              *
    * at                                                           *
    * org.eclipse.core.internal.events.BuildManager$2.run(BuildMan *
    * ager.java:735)                                               *
    * at                                                           *
    * org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)  *
    * at                                                           *
    * org.eclipse.core.internal.events.BuildManager.basicBuild(Bui *
    * ldManager.java:206)                                          *
    * at                                                           *
    * org.eclipse.core.internal.events.BuildManager.basicBuild(Bui *
    * ldManager.java:246)                                          *
    * at                                                           *
    * org.eclipse.core.internal.events.BuildManager$1.run(BuildMan *
    * ager.java:301)                                               *
    * at                                                           *
    * org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)  *
    * at                                                           *
    * org.eclipse.core.internal.events.BuildManager.basicBuild(Bui *
    * ldManager.java:304)                                          *
    * at                                                           *
    * org.eclipse.core.internal.events.BuildManager.basicBuildLoop *
    * (BuildManager.java:360)                                      *
    * at                                                           *
    * org.eclipse.core.internal.events.BuildManager.build(BuildMan *
    * ager.java:383)                                               *
    * at                                                           *
    * org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBu *
    * ildJob.java:142)                                             *
    * at                                                           *
    * org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJ *
    * ob.java:232)                                                 *
    * at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56) *
    *                                                              *
    * Problem is specific to:                                      *
    * 1/ Decision Engine                                           *
    * 2/ use of "there is one"                                     *
    * 3/ use of an interface                                       *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • Rules now build using decision engine.
    

Temporary fix

Comments

APAR Information

  • APAR number

    RS03718

  • 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

    2020-11-26

  • Closed date

    2020-12-01

  • Last modified date

    2020-12-01

  • 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

  • R8A0 PSY

       UP

[{"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:
28 April 2022