IBM Support

RS02772: [DE] DECISION ENGINE CANNOT COMPILE FOR DECISION RUNNER

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • In BC, testing a decision service with DE fails with " An error
    
    has occurred in preparing the test suite for execution. Contact
    
    your administrator."
    
    Stack trace in server log:
    nullilog.rules.teamserver.model.IlrTestingException: ilog.rules.
    
    teamserver.brm.builder.IlrBuildException: null
        at ilog.rules.teamserver.ejb.service.validation.
    IlrTestSuiteService.asynchronousPrepare(IlrTestSuiteService.
    java:239)
        at ilog.rules.teamserver.ejb.service.validation.
    PrepareArchiveThreadService.run(PrepareArchiveThreadService.
    java:56)
        at com.google.common.util.concurrent.
    AbstractExecutionThreadService$1$1.run(
    AbstractExecutionThreadService.java:48)
        at java.lang.Thread.run(Thread.java:795)
    Caused by: ilog.rules.teamserver.brm.builder.IlrBuildException:
    
    ilog.rules.teamserver.brm.builder.IlrBuildException: null
        at ilog.rules.teamserver.rve.util.LogUtil.
    throwBuildException(LogUtil.java:65)
        at ilog.rules.teamserver.rve.producers.ArchiveProducer.
    write(ArchiveProducer.java:157)
        at ilog.rules.teamserver.ejb.ruleset.
    IlrRulesetArchiveGenerator.generateDERulesetArchive(
    IlrRulesetArchiveGenerator.java:1365)
        at ilog.rules.teamserver.ejb.ruleset.
    ValidationArchiveBuilder.buildArchive(ValidationArchiveBuilder.
    java:389)
        at ilog.rules.teamserver.ejb.ruleset.
    ValidationArchiveBuilder.buildTestingArchive(
    ValidationArchiveBuilder.java:112)
        at ilog.rules.teamserver.ejb.service.validation.
    IlrTestSuiteService.prepareRun(IlrTestSuiteService.java:280)
        at ilog.rules.teamserver.ejb.service.validation.
    IlrTestSuiteService.asynchronousPrepare(IlrTestSuiteService.
    java:201)
        ... 3 more
    Caused by: java.lang.RuntimeException
        at ilog.rules.brl.util.IlrBRLBuilder.buildRoles(
    IlrBRLBuilder.java:121)
        at ilog.rules.brl.util.IlrBRLBuilder$SentenceExpression.
    buildExpression(IlrBRLBuilder.java:316)
        at ilog.rules.brl.util.IlrBRLBuilder$Expression.build(
    IlrBRLBuilder.java:286)
        at ilog.rules.brl.util.IlrBRLBuilder.buildRole(
    IlrBRLBuilder.java:140)
        at ilog.rules.brl.util.IlrBRLBuilder.buildRoles(
    IlrBRLBuilder.java:123)
        at ilog.rules.brl.util.IlrBRLBuilder$SentenceExpression.
    buildExpression(IlrBRLBuilder.java:316)
        at ilog.rules.brl.util.IlrBRLBuilder$Expression.build(
    IlrBRLBuilder.java:286)
        at ilog.rules.brl.util.IlrBRLBuilder.buildRole(
    IlrBRLBuilder.java:140)
        at ilog.rules.brl.util.IlrBRLBuilder.buildRoles(
    IlrBRLBuilder.java:123)
        at ilog.rules.brl.util.IlrBRLBuilder$SentenceExpression.
    buildExpression(IlrBRLBuilder.java:316)
        at ilog.rules.brl.util.IlrBRLBuilder$Expression.build(
    IlrBRLBuilder.java:286)
        at com.ibm.rules.cdi.testing.PredicateTextBuilder$
    PredicateSyntaxTreeBuilder$PredicateAxiom.buildRoot(
    PredicateTextBuilder.java:288)
        at ilog.rules.brl.util.IlrBRLBuilder$Root.build(
    IlrBRLBuilder.java:274)
        at ilog.rules.brl.util.IlrBRLBuilder$Root.build(
    IlrBRLBuilder.java:266)
        at ilog.rules.brl.util.IlrBRLBuilder.buildAST(IlrBRLBuilder.
    
    java:50)
        at com.ibm.rules.cdi.testing.PredicateTextBuilder$
    PredicateSyntaxTreeBuilder.buildPredicate(PredicateTextBuilder.
    java:148)
        at com.ibm.rules.cdi.testing.PredicateTextBuilder.
    getSyntaxTree(PredicateTextBuilder.java:101)
        at com.ibm.rules.cdi.testing.TestingCompiler.parse(
    TestingCompiler.java:225)
        at com.ibm.rules.cdi.testing.TestingCompiler.
    buildEvaluatePredicatesMethod(TestingCompiler.java:405)
        at com.ibm.rules.cdi.testing.TestingCompiler.compile(
    TestingCompiler.java:183)
        at ilog.rules.teamserver.ejb.ruleset.
    ValidationArchiveBuilder$1.extendArchive(
    ValidationArchiveBuilder.java:148)
        at ilog.rules.teamserver.ejb.ruleset.
    IlrRulesetArchiveGenerator$3.processOutline(
    IlrRulesetArchiveGenerator.java:1334)
        at ilog.rules.teamserver.rve.producers.ArchiveProducer.
    write(ArchiveProducer.java:141)
        ... 8 more
    The problem is due to some generated tests that refer to static
    
    attributes of BOM class, and when compiling that kind of test
    the compiler does not handle the attribute as a static one.
    Like the following test that refer to the <i>_header </i>static
    
    attribute of the <i>RuleService</i> class:
    rule service$_$headercustomDate02PH$_$1494830426100$_$5 {
        when {
            java.lang.Object() from JRULES_TNS_PLACEHOLDERS_STATUS.
    getAnObjectIfValueIsDefinedForPlaceholder("PH_1494830426100_5");
    
        } then {
            try {
                if ((service._header.customDate02 == PH_
    1494830426100_5)) {
                    JRULES_TNS_REPORT.addSuccessForEqualsTest("the
    custom date02 of the rule service header equals ", PH_
    1494830426100_5, service._header.customDate02, "en_US");
                } else {
                    JRULES_TNS_REPORT.addFailureForEqualsTest("the
    custom date02 of the rule service header equals ", PH_
    1494830426100_5, service._header.customDate02, "en_US");
                }
        }
    

Local fix

Problem summary

  • The issue is due to generated tests that refer to static
    attributes of a BOM class. When compiling that kind of test the
    compiler does not handle these attributes as static ones.
    

Problem conclusion

  • the code is fixed.
    

Temporary fix

Comments

APAR Information

  • APAR number

    RS02772

  • Reported component name

    WS DECISION CTR

  • Reported component ID

    5725B6900

  • Reported release

    871

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-05-18

  • Closed date

    2017-05-31

  • Last modified date

    2017-05-31

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

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

Modules/Macros

  • 999
    

Fix information

  • Fixed component name

    WS DECISION CTR

  • Fixed component ID

    5725B6900

Applicable component levels

  • R871 PSY

       UP

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

Document Information

Modified date:
03 November 2021