Fixes are available
APAR status
Closed as program error.
Error description
An NPE exception is thrown during ruleset parsing. Exception in thread "main" java.lang.NullPointerException at ilog.jit.lang.IlxJITInvokeExpr.getType(Unknown Source) at ilog.jit.coding.IlxJITStatCoder.visit(Unknown Source) at ilog.jit.lang.IlxJITReturnStat.accept(Unknown Source) .. at ilog.rules.engine.sequential.platform.IlrSEQTaskFactory.a(Unknow n Source) at ilog.rules.engine.sequential.platform.IlrSEQTaskFactory.newTaskI mpl(Unknown Source) at ilog.rules.engine.IlrRuleset$4.run(Unknown Source) at java.security.AccessController.doPrivileged(AccessController.jav a:202) at ilog.rules.engine.IlrRuleset.generateTaskImpl(Unknown Source) at ilog.rules.engine.IlrRuleset$3.run(Unknown Source) .. at ilog.rules.engine.IlrRuleset.a(Unknown Source) at ilog.rules.engine.IlrRulesetArchiveParser.for(Unknown Source) .. at ilog.rules.engine.IlrRulesetArchiveParser.parseArchive(Unknown Source) at SimpleRuleEngineRunner.main(SimpleRuleEngineRunner.java:36) The rule task algorithm is defined as Fastpath. Problem also exist in Sequential The issue is due to a certain rule binding: when a variable is bind to an Enum and then in the "if" section, one checks whether this variable is one of the object in a list of another class. An example of such rule is as follows:- definitions set 'record' to a record in the records of 'the application' ; set 'my history details' to a history detail in the hists of record ; set 'my code' to an enum code modificator in the code modificators of 'my history details' ; set 'info' to an additional info ; if 'my code' is one of the code modificators of info then print "test";
Local fix
1) Use Rete 2) The issue occurs in a rule statement where one looks for an <enum> in a list of <enum>. In order to avoid the problem the <enum> object should be looked into an array of <enum> Converting the method returning a list of Enum into an method returning an array can be done at the B2X level. - Change the type of this BOM method to the array of the <enum> ( xom.MyEnum[ )] In it's b2x return the array of the <enum> instead of List. return (xom.MyEnum[])this.getMyBOMMember().toArray(new xom.MyEnum[this.getMyBOMMember().size()]);
Problem summary
the code generating the executable code corresponding to teh condition does not handle a list of enum
Problem conclusion
The code is modified so that list of enums are generated properly
Temporary fix
Comments
APAR Information
APAR number
RS01143
Reported component name
WS ILOG RTS
Reported component ID
5724Y0000
Reported release
711
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-10-25
Closed date
2012-10-26
Last modified date
2012-10-26
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
None 999
Fix information
Fixed component name
WS ILOG RTS
Fixed component ID
5724Y0000
Applicable component levels
R711 PSY
UP
Rate this page:
Average rating
Copyright and trademark information
IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.