This is just an example of one of the messages. The user changes, and we can't trace it to one business unit, process, user, or action.
ERROR 2020-11-06 03:02:57,973 [Event Handler pool-5-thread-2] niku.odf (clarity:admin:40709585__885B82A5-68D4-47BF-BBD8-7F0E3A5DA9EA:none) java.lang.RuntimeException: ODF-0022: Invalid expression. Re-evaluate the OBS Expression. at com.niku.odf.exprbuilder.ExprToWhereClauseConverter.handleFunction(ExprToWhereClauseConverter.java:1220) at com.niku.odf.exprbuilder.ExprToWhereClauseConverter.handleChildren(ExprToWhereClauseConverter.java:565) at com.niku.odf.exprbuilder.JEPOBSFunction.evaluate(JEPOBSFunction.java:120) at org.nfunk.jep.EvaluatorVisitor.visit(Unknown Source) at org.nfunk.jep.ASTFunNode.jjtAccept(Unknown Source) at org.nfunk.jep.SimpleNode.childrenAccept(Unknown Source) at org.nfunk.jep.EvaluatorVisitor.visit(Unknown Source) at org.nfunk.jep.ASTFunNode.jjtAccept(Unknown Source) at org.nfunk.jep.SimpleNode.childrenAccept(Unknown Source) at org.nfunk.jep.EvaluatorVisitor.visit(Unknown Source) at org.nfunk.jep.ASTFunNode.jjtAccept(Unknown Source) at org.nfunk.jep.SimpleNode.childrenAccept(Unknown Source) at org.nfunk.jep.EvaluatorVisitor.visit(Unknown Source) at org.nfunk.jep.ASTFunNode.jjtAccept(Unknown Source) at org.nfunk.jep.SimpleNode.childrenAccept(Unknown Source) at org.nfunk.jep.EvaluatorVisitor.visit(Unknown Source) at org.nfunk.jep.ASTFunNode.jjtAccept(Unknown Source) at org.nfunk.jep.SimpleNode.childrenAccept(Unknown Source) at org.nfunk.jep.EvaluatorVisitor.visit(Unknown Source) at org.nfunk.jep.ASTFunNode.jjtAccept(Unknown Source) at org.nfunk.jep.SimpleNode.childrenAccept(Unknown Source) at org.nfunk.jep.EvaluatorVisitor.visit(Unknown Source) at org.nfunk.jep.ASTFunNode.jjtAccept(Unknown Source) at org.nfunk.jep.SimpleNode.childrenAccept(Unknown Source) at org.nfunk.jep.EvaluatorVisitor.visit(Unknown Source) at org.nfunk.jep.ASTFunNode.jjtAccept(Unknown Source) at org.nfunk.jep.SimpleNode.childrenAccept(Unknown Source) at org.nfunk.jep.EvaluatorVisitor.visit(Unknown Source) at org.nfunk.jep.ASTFunNode.jjtAccept(Unknown Source) at org.nfunk.jep.SimpleNode.childrenAccept(Unknown Source) at org.nfunk.jep.EvaluatorVisitor.visit(Unknown Source) at org.nfunk.jep.ASTFunNode.jjtAccept(Unknown Source) at org.nfunk.jep.SimpleNode.childrenAccept(Unknown Source) at org.nfunk.jep.EvaluatorVisitor.visit(Unknown Source) at org.nfunk.jep.ASTFunNode.jjtAccept(Unknown Source) at org.nfunk.jep.SimpleNode.childrenAccept(Unknown Source) at org.nfunk.jep.EvaluatorVisitor.visit(Unknown Source) at org.nfunk.jep.ASTFunNode.jjtAccept(Unknown Source) at org.nfunk.jep.SimpleNode.childrenAccept(Unknown Source) at org.nfunk.jep.EvaluatorVisitor.visit(Unknown Source) at org.nfunk.jep.ASTFunNode.jjtAccept(Unknown Source) at org.nfunk.jep.SimpleNode.childrenAccept(Unknown Source) at org.nfunk.jep.EvaluatorVisitor.visit(Unknown Source) at org.nfunk.jep.ASTFunNode.jjtAccept(Unknown Source) at org.nfunk.jep.SimpleNode.childrenAccept(Unknown Source) at org.nfunk.jep.EvaluatorVisitor.visit(Unknown Source) at org.nfunk.jep.ASTFunNode.jjtAccept(Unknown Source) at org.nfunk.jep.SimpleNode.childrenAccept(Unknown Source) at org.nfunk.jep.EvaluatorVisitor.visit(Unknown Source) at org.nfunk.jep.ASTFunNode.jjtAccept(Unknown Source) at org.nfunk.jep.SimpleNode.childrenAccept(Unknown Source) at org.nfunk.jep.EvaluatorVisitor.visit(Unknown Source) at org.nfunk.jep.ASTFunNode.jjtAccept(Unknown Source) at org.nfunk.jep.EvaluatorVisitor.getValue(Unknown Source) at org.nfunk.jep.JEP.getValueAsObject(Unknown Source) at org.nfunk.jep.JEP.getValue(Unknown Source) at com.niku.odf.exprbuilder.ExpressionEvaluator.evaluateExpression(ExpressionEvaluator.java:463) at com.niku.odf.exprbuilder.ExpressionEvaluator.evaluate(ExpressionEvaluator.java:166) at com.niku.bpm.engine.exprevaluator.omp.OMPExpressionEvaluator.evaluateAutoStartCondition(OMPExpressionEvaluator.java:85) at com.niku.bpm.engine.exprevaluator.ExpressionEvaluator.evaluate(ExpressionEvaluator.java:125) at com.niku.bpm.eventmgr.ObjectEventHandler.processEventToAutoStartProcesses(ObjectEventHandler.java:230) at com.niku.bpm.eventmgr.ObjectEventHandler.fireEvent(ObjectEventHandler.java:63) at com.niku.bpm.eventmgr.messageserver.BaseEventHandler.fireEvent(BaseEventHandler.java:27) at com.niku.bpm.eventmgr.messageserver.BaseEventHandler.run(BaseEventHandler.java:77) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834)
Release : 15.8.1
Component : CA PPM SAAS BUSINESS PROCESS MANAGEMENT
One of the processes had a start condition on the OBS's and there were a couple that didn't exist. After removing those OBS's and re-validating a process errors stop.
Query to identify all processes with expressions that have an OBS on it on the steps post condition:
select bdp.process_code, ofe.expression from odf_filter_expressions ofe
join bpm_def_step_conditions bdsc on ofe.object_instance_id = bdsc.id
join bpm_def_steps bds on bds.id = bdsc.step_id join bpm_def_stages bdst
on bdst.id = bds.stage_id join bpm_def_process_versions bdpv on
bdpv.id = bdst.process_version_id join bpm_def_processes bdp on
bdp.id = bdpv.process_id where ofe.object_code = 'BPM_DEF_STEPS'
and lower(ofe.expression) like '%obs%'
Query to identify processes with start condition that have an OBS:
select bdp.id, cc.name, bdp.process_code, ofe.expression
from bpm_def_processes bdp,
cmn_captions_nls cc,
bpm_def_process_versions bdpv,
odf_filter_expressions ofe
where cc.table_name = 'BPM_DEF_PROCESSES'
AND bdp.id = cc.pk_id
AND cc.language_code = 'en'
AND bdpv.process_id = bdp.id
AND ofe.object_instance_id = bdp.id
AND ofe.object_code = 'BPM_DEF_PROCESS_VERSIONS'
and lower(ofe.expression) like '%obs%'