On Oracle and IBM DB2 systems that are configured for UTF-8 and the database stored procedures are enabled, SAS OnDemand Decision Engine reports the following error when there are Unicode characters in the V segment keys:
2025-04-16T15:50:33,494 [Engine 1] WARN TRANSACTION_FAILED elapsed=177.4ms cmx_tran_id=0032014037119450 smh_acct_type="CS" smh_activity_type="CA" smh_rtn_code="12" smh_reason_code="ERRR"
java.lang.AssertionError: null
at com.sas.finance.fraud.engine.meh.sql.UpdateStoredProc$Update.createUpdateObject
(UpdateStoredProc.java:132)
~[sas.finance.fraud.engine.jar:602001.3.0.20240903104000_f0rapt62]
at com.sas.finance.fraud.engine.meh.sql.UpdateStoredProc$Update.
createUpdatesArray(UpdateStoredProc.java:191)
~[sas.finance.fraud.engine.jar:602001.3.0.20240903104000_f0rapt62]
at com.sas.finance.fraud.engine.meh.sql.UpdateStoredProc$Update.execute
(UpdateStoredProc.java:226)
~[sas.finance.fraud.engine.jar:602001.3.0.20240903104000_f0rapt62]
at com.sas.finance.fraud.engine.meh.sql.UpdateStoredProc.update
(UpdateStoredProc.java:96)
~[sas.finance.fraud.engine.jar:602001.3.0.20240903104000_f0rapt62]
at com.sas.finance.fraud.engine.meh.sql.SQLMEHConnection.updateStore
(SQLMEHConnection.java:843)
~[sas.finance.fraud.engine.jar:602001.3.0.20240903104000_f0rapt62]
at com.sas.finance.fraud.engine.meh.MEHConnection.store
(MEHConnection.java:211)
~[sas.finance.fraud.engine.jar:602001.3.0.20240903104000_f0rapt62]
at com.sas.finance.fraud.engine.action.MehStoreAction.execute
(MehStoreAction.java:36)
~[sas.finance.fraud.engine.jar:602001.3.0.20240903104000_f0rapt62]
at com.sas.finance.fraud.engine.client.action.ActionList.execute
(ActionList.java:40)
~[sas.finance.fraud.engine.jar:602001.3.0.20240903104000_f0rapt62]
at com.sas.finance.fraud.engine.client.action.FieldActionMap$MapMatcher.matches
(FieldActionMap.java:90)
~[sas.finance.fraud.engine.jar:602001.3.0.20240903104000_f0rapt62]
at com.sas.finance.fraud.engine.client.action.FieldPredicate.evaluate0
(FieldPredicate.java:78)
~[sas.finance.fraud.engine.jar:602001.3.0.20240903104000_f0rapt62]
at com.sas.finance.fraud.engine.client.action.Predicate.evaluate
(Predicate.java:62)
~[sas.finance.fraud.engine.jar:602001.3.0.20240903104000_f0rapt62]
at com.sas.finance.fraud.engine.client.action.Predicate.execute
(Predicate.java:58)
~[sas.finance.fraud.engine.jar:602001.3.0.20240903104000_f0rapt62]
at com.sas.finance.fraud.engine.client.action.ActionList.execute
(ActionList.java:40)
~[sas.finance.fraud.engine.jar:602001.3.0.20240903104000_f0rapt62]
at com.sas.finance.fraud.engine.action.TryAction.execute
(TryAction.java:31)
~[sas.finance.fraud.engine.jar:602001.3.0.20240903104000_f0rapt62]
at com.sas.finance.fraud.engine.client.utils.ElapsedTimeStats.execute
(ElapsedTimeStats.java:60)
~[sas.finance.fraud.engine.jar:602001.3.0.20240903104000_f0rapt62]
at com.sas.finance.fraud.engine.ServerTransaction.run_
(ServerTransaction.java:393)
~[sas.finance.fraud.engine.jar:602001.3.0.20240903104000_f0rapt62]
at com.sas.finance.fraud.engine.ServerTransaction.run
(ServerTransaction.java:449)
~[sas.finance.fraud.engine.jar:602001.3.0.20240903104000_f0rapt62]
at java.util.concurrent.ThreadPoolExecutor.runWorker
(ThreadPoolExecutor.java:1128)
~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run
(ThreadPoolExecutor.java:628)
~[?:?]
at java.lang.Thread.run
(Thread.java:829)
~[?:?]
at com.sas.finance.fraud.engine.client.utils.LoggingThread.run
(LoggingThread.java:28)
~[sas.finance.fraud.engine.jar:602001.3.0.20240903104000_f0rapt62]
In addition, the transaction might not be inserted into the Multi-Entity History (MEH) or the Transaction Data Repository (TDR) databases.
If stored procedures are disabled, the error does not occur. To disable stored procedures, update the ose.xml configuration file to set both the selectStoredProcedureEnabled and the updateStoredProcedureEnabled beans to false.