In Version 8.4 Build 2722, the rule processed successfully but in Version 8.5 Build 2822, I get an Internal error.
The rule is attached to to the Buseness Object and is:
Code: Select all
If TestSub.SerialNumber IS DEFINED AND SUBSTRING(TestSub.SerialNumber,0,3)='ABC' Then
TestSub.Account=123
Code: Select all
ENTER NEW TestSub
In Version 8.5 Build 2822, executing the process brings up the following error message:
Internal error. String index out of range:3
Here are the logs from version 8.5 Build 2822
Server Output
com.bas.basserver.executionengine.ExecutionException: Internal error. String index out of range: 3
at com.bas.basserver.executionengine.rliproc.H.A(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.execute(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.A(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.startChildProcess(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.A(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.doRecalculateObject(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.calculateInitialValues(Unknown Source)
at com.bas.basserver.executionengine.rliproc.I.C(Unknown Source)
at com.bas.basserver.executionengine.rliproc.I.B(Unknown Source)
at com.bas.basserver.executionengine.rliproc.I.A(Unknown Source)
at com.bas.basserver.executionengine.rliproc.F.M(Unknown Source)
at com.bas.basserver.executionengine.rliproc.F.S(Unknown Source)
at com.bas.basserver.executionengine.rliproc.F.P(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.A(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.C(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.U(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.B(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.A(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.execute(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.A(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.A(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.A(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.executeProcess(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.bas.basserver.bsmanager.E.B(Unknown Source)
at com.bas.basserver.bsmanager.E.A(Unknown Source)
at com.bas.basserver.bsmanager.E.A(Unknown Source)
at com.bas.basserver.iopipes.ComponentSink.processMessage(Unknown Source)
at org.openadaptor.adaptor.STPipelineController.processMessage(STPipelineController.java:68)
at com.bas.openadaptor.NonTransactionalController.processMessage(NonTransactionalController.java:136)
at org.openadaptor.adaptor.AbstractSimplePipe.processMessage(AbstractSimplePipe.java:222)
at org.openadaptor.adaptor.STPipelineController.processMessage(STPipelineController.java:68)
at com.bas.openadaptor.NonTransactionalController.processMessage(NonTransactionalController.java:136)
at org.openadaptor.adaptor.AbstractSimpleSource.processMessage(AbstractSimpleSource.java:403)
at org.openadaptor.adaptor.AbstractSimpleSource.sourceProcess(AbstractSimpleSource.java:1049)
at org.openadaptor.adaptor.AbstractSimpleSource.sourceProcess(AbstractSimpleSource.java:1012)
at com.bas.openadaptor.MTJMSListener$JMSMessageHandler.run(MTJMSListener.java:275)
at java.lang.Thread.run(Thread.java:745)
com.bas.basserver.executionengine.ExecutionException: Internal error. String index out of range: 3
at com.bas.basserver.executionengine.rliproc.H.A(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.execute(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.A(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.startChildProcess(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.A(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.doRecalculateObject(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.calculateInitialValues(Unknown Source)
at com.bas.basserver.executionengine.rliproc.I.C(Unknown Source)
at com.bas.basserver.executionengine.rliproc.I.B(Unknown Source)
at com.bas.basserver.executionengine.rliproc.I.A(Unknown Source)
at com.bas.basserver.executionengine.rliproc.F.M(Unknown Source)
at com.bas.basserver.executionengine.rliproc.F.S(Unknown Source)
at com.bas.basserver.executionengine.rliproc.F.P(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.A(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.C(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.U(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.B(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.A(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.execute(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.A(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.A(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.A(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.executeProcess(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.bas.basserver.bsmanager.E.B(Unknown Source)
at com.bas.basserver.bsmanager.E.A(Unknown Source)
at com.bas.basserver.bsmanager.E.A(Unknown Source)
at com.bas.basserver.iopipes.ComponentSink.processMessage(Unknown Source)
at org.openadaptor.adaptor.STPipelineController.processMessage(STPipelineController.java:68)
at com.bas.openadaptor.NonTransactionalController.processMessage(NonTransactionalController.java:136)
at org.openadaptor.adaptor.AbstractSimplePipe.processMessage(AbstractSimplePipe.java:222)
at org.openadaptor.adaptor.STPipelineController.processMessage(STPipelineController.java:68)
at com.bas.openadaptor.NonTransactionalController.processMessage(NonTransactionalController.java:136)
at org.openadaptor.adaptor.AbstractSimpleSource.processMessage(AbstractSimpleSource.java:403)
at org.openadaptor.adaptor.AbstractSimpleSource.sourceProcess(AbstractSimpleSource.java:1049)
at org.openadaptor.adaptor.AbstractSimpleSource.sourceProcess(AbstractSimpleSource.java:1012)
at com.bas.openadaptor.MTJMSListener$JMSMessageHandler.run(MTJMSListener.java:275)
at java.lang.Thread.run(Thread.java:745)
com.bas.basserver.executionengine.ExecutionException: Internal error. String index out of range: 3
at com.bas.basserver.executionengine.rliproc.H.A(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.execute(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.A(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.startChildProcess(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.A(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.doRecalculateObject(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.calculateInitialValues(Unknown Source)
at com.bas.basserver.executionengine.rliproc.I.C(Unknown Source)
at com.bas.basserver.executionengine.rliproc.I.B(Unknown Source)
at com.bas.basserver.executionengine.rliproc.I.A(Unknown Source)
at com.bas.basserver.executionengine.rliproc.F.M(Unknown Source)
at com.bas.basserver.executionengine.rliproc.F.S(Unknown Source)
at com.bas.basserver.executionengine.rliproc.F.P(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.A(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.C(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.U(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.B(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.A(Unknown Source)
at com.bas.basserver.executionengine.rliproc.H.execute(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.A(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.A(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.A(Unknown Source)
at com.bas.basserver.executionengine.ExecutionEngine.executeProcess(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.bas.basserver.bsmanager.E.B(Unknown Source)
at com.bas.basserver.bsmanager.E.A(Unknown Source)
at com.bas.basserver.bsmanager.E.A(Unknown Source)
at com.bas.basserver.iopipes.ComponentSink.processMessage(Unknown Source)
at org.openadaptor.adaptor.STPipelineController.processMessage(STPipelineController.java:68)
at com.bas.openadaptor.NonTransactionalController.processMessage(NonTransactionalController.java:136)
at org.openadaptor.adaptor.AbstractSimplePipe.processMessage(AbstractSimplePipe.java:222)
at org.openadaptor.adaptor.STPipelineController.processMessage(STPipelineController.java:68)
at com.bas.openadaptor.NonTransactionalController.processMessage(NonTransactionalController.java:136)
at org.openadaptor.adaptor.AbstractSimpleSource.processMessage(AbstractSimpleSource.java:403)
at org.openadaptor.adaptor.AbstractSimpleSource.sourceProcess(AbstractSimpleSource.java:1049)
at org.openadaptor.adaptor.AbstractSimpleSource.sourceProcess(AbstractSimpleSource.java:1012)
at com.bas.openadaptor.MTJMSListener$JMSMessageHandler.run(MTJMSListener.java:275)
at java.lang.Thread.run(Thread.java:745)
2020-10-05 09:50:41,003 ERROR Test#admin -Execution Exception after starting process TestIt message Internal error. String index out of range: 3
Production Log
2020-10-05 09:50:40,990 RULE_EVALUATION Test#admin -20 Executing process TestIt
2020-10-05 09:50:40,990 RULE_EVALUATION Test#admin -29 Started evaluation of rules
2020-10-05 09:50:40,990 RULE_EVALUATION Test#admin -22 Evaluating rule 'EnterIt' ENTER NEW TestSub
2020-10-05 09:50:40,990 RULE_EVALUATION Test#admin -2 Adding action ENTER NEW TestSub to the agenda
2020-10-05 09:50:40,990 RULE_EVALUATION Test#admin -16 Finished rule evaluation
2020-10-05 09:50:40,991 RULE_EVALUATION Test#admin -16 Finished evaluation of rules
2020-10-05 09:50:40,991 RULE_EVALUATION Test#admin -15 Executing action ENTER NEW TestSub
2020-10-05 09:50:40,995 RULE_EVALUATION Test#admin -31 Started calculating initial values for business object TestSub
2020-10-05 09:50:40,997 RULE_EVALUATION Test#admin -29 Started evaluation of rules
2020-10-05 09:50:40,997 RULE_EVALUATION Test#admin -22 Evaluating rule 'PopNbr' If TestSub.SerialNumber IS DEFINED AND SUBSTRING(TestSub.SerialNumber,0,3)='ABC' Then
TestSub.Account=123
2020-10-05 09:50:40,997 RULE_EVALUATION Test#admin -6 Evaluating condition TestSub.SerialNumber IS DEFINED
2020-10-05 09:50:40,997 RULE_EVALUATION Test#admin -7 Condition evaluated to false: <UNDEFINED>
2020-10-05 09:50:40,998 RULE_EVALUATION Test#admin -6 Evaluating condition SUBSTRING(TestSub.SerialNumber,0,3)='ABC'
2020-10-05 09:50:40,998 RULE_EVALUATION Test#admin -16 Finished rule evaluation
2020-10-05 09:50:40,998 RULE_EVALUATION Test#admin -16 Finished evaluation of rules
2020-10-05 09:50:41,000 RULE_EVALUATION Test#admin -16 Finished calculating initial values for business object TestSub
2020-10-05 09:50:41,000 ERROR Test#admin -Exception while executing method ENTER NEW Exception class=com.bas.basserver.executionengine.ExecutionException message Internal error. String index out of range: 3
2020-10-05 09:50:41,000 RULE_EVALUATION Test#admin -16 Finished executing action ENTER NEW TestSub
2020-10-05 09:50:41,000 RULE_EVALUATION Test#admin -25 Started evaluation of rules after data has been changed by the actions
2020-10-05 09:50:41,000 RULE_EVALUATION Test#admin -6 Checking rule EnterIt
2020-10-05 09:50:41,000 RULE_EVALUATION Test#admin -16 Finished evaluation of rules after data has been changed by the actions
2020-10-05 09:50:41,003 RULE_EVALUATION Test#admin -18 Process TestIt has failed
In contrast, the Production Log from Version 8.4 Build 2722
Production Log
2020-10-05 10:19:39,771 RULE_EVALUATION Test#admin -20 Executing process TestIt
2020-10-05 10:19:39,775 RULE_EVALUATION Test#admin -29 Started evaluation of rules
2020-10-05 10:19:39,775 RULE_EVALUATION Test#admin -22 Evaluating rule 'EnterIt' ENTER NEW TestSub
2020-10-05 10:19:39,776 RULE_EVALUATION Test#admin -2 Adding action ENTER NEW TestSub to the agenda
2020-10-05 10:19:39,777 RULE_EVALUATION Test#admin -16 Finished rule evaluation
2020-10-05 10:19:39,777 RULE_EVALUATION Test#admin -16 Finished evaluation of rules
2020-10-05 10:19:39,777 RULE_EVALUATION Test#admin -15 Executing action ENTER NEW TestSub
2020-10-05 10:19:39,790 RULE_EVALUATION Test#admin -31 Started calculating initial values for business object TestSub
2020-10-05 10:19:39,795 RULE_EVALUATION Test#admin -29 Started evaluation of rules
2020-10-05 10:19:39,795 RULE_EVALUATION Test#admin -22 Evaluating rule 'PopNbr' If TestSub.SerialNumber IS DEFINED AND SUBSTRING(TestSub.SerialNumber,0,3)='ABC' Then
TestSub.Account=123
2020-10-05 10:19:39,797 RULE_EVALUATION Test#admin -6 Evaluating condition TestSub.SerialNumber IS DEFINED
2020-10-05 10:19:39,797 RULE_EVALUATION Test#admin -7 Condition evaluated to false: <UNDEFINED>
2020-10-05 10:19:39,804 RULE_EVALUATION Test#admin -6 Evaluating condition SUBSTRING(TestSub.SerialNumber,0,3)='ABC'
2020-10-05 10:19:39,805 RULE_EVALUATION Test#admin -7 Condition evaluated to false: (<UNDEFINED>,0,3):<UNDEFINED>=ABC
2020-10-05 10:19:39,805 RULE_EVALUATION Test#admin -16 Finished rule evaluation
2020-10-05 10:19:39,805 RULE_EVALUATION Test#admin -16 Finished evaluation of rules
2020-10-05 10:19:39,805 RULE_EVALUATION Test#admin -16 Finished calculating initial values for business object TestSub
2020-10-05 10:19:39,807 RULE_EVALUATION Test#admin -16 Finished executing action ENTER NEW TestSub
2020-10-05 10:19:39,808 RULE_EVALUATION Test#admin -25 Started evaluation of rules after data has been changed by the actions
2020-10-05 10:19:39,808 RULE_EVALUATION Test#admin -6 Checking rule EnterIt
2020-10-05 10:19:39,808 RULE_EVALUATION Test#admin -16 Finished evaluation of rules after data has been changed by the actions
2020-10-05 10:19:39,850 RULE_EVALUATION Test#admin -21 Process TestIt is suspended. Its id is 1