If you create a rule with a name that contains unbalanced parentheses, both the rule test and rule estimation fail with a syntax error. In addition, SAS OnDemand Decision Engine reports a fatal error and does not start.
The error displayed when you run a rule test is as follows:
The rule estimation error reported in the estimation.log file is as follows:
ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted string, arrayname, #, (, +, /, //, ;, @, @@, OVERPRINT, _ALL_, _BLANKPAGE_, _ODS_, _PAGE_.
In addition, SAS OnDemand Decision Engine reports the following error in the console log:
2026-04-21T17:21:26,892 [main] FATAL Main
com.sas.finance.fraud.engine.client. ConfigurationException: SAS exited, see the SAS log, rc=2
at com.sas.finance.fraud.engine.sas. SharedMemorySAS$Primordial.<init>(SharedMemorySAS.java:753) ~[sas.finance.fraud.engine.jar: 6020101.2.0.20260303111557_f1rapt62p]
The syntax error reported in the SAS log for the SAS OnDemand Decision Engine is as follows:
ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted string, arrayname, #, (, +, /, //, ;, @, @@, OVERPRINT, _ALL_, _BLANKPAGE_, _ODS_, _PAGE_.
To work around this issue, rename the rule to include the same number of “(“ and “)” characters. Once the parentheses are balanced, the syntax error is resolved. After you promote the updated rule to production and redeploy a new rules file, SAS OnDemand Decision Engine starts.