Siebel Finance Guide > Business Services for Siebel Financial Services >
Fine-Tuning the Assignment Statement
You can use two fields available at the statement level to fine-tune the performance of Assignment Statements:
- Cache Flag
- Light Parser Flag
For most cases, it is recommended to leave these fields at their default values. It is only necessary to consider changing these values if performance is deemed poor.
About the Light Parser Flag
Within your Siebel application, calculation expressions are evaluated using Siebel Query Language Parser. This parser could be performance and resource intensive if the expressions are simple numeric. However, to improve performance, BRP includes a high-performance light parser, which is used solely to evaluate numeric expressions. In most cases, the light parser works many times faster than the Siebel Query Language for simple numeric.
The following examples are numeric expressions that can be handled by the light parser:
- 12 + 8 + [A]* [B]
- 5 + (12 + [A]* ([B] + [C]))
The following examples are considered complex and cannot be handled by the light parser:
- IIf ([A] > [B], 0, 1)
- [A] IS NULL
- LN (10)
When the Light Parser flag is checked, BRP attempts to use the light parser to parse and evaluate the expression. If this fails, BRP resorts to Siebel Query Language engine to parse the expression. By default, Light Parser Flag is checked.
TIP: If the Light Parser flag is checked, but the expression is not a simple expression, the BRP logs an entry in the log file at run time if the Siebel log level is informational or higher. Use these log entries to help you fine-tune assignment statements. See Logging Business Rules Processor Debug Messages for more information.
About the Cache Flag
Table 16 shows the options if the Cache flag is checked or unchecked. It is recommended that you leave this flag at its default value, that is, checked.
NOTE: The Cache flag is only meaningful when the expression is not handled by a light parser.
Table 16. Cache Flag Options
The Cache flag is checked.
Only one single parse tree is established for the expression within the object manager, irrespective of the number of open sessions.
Therefore, when all sessions share the same parse tree, the memory footprint is reduced, however an overhead for context switch is assumed.
The flag is not checked.
Each session has its own parse tree for the expression.
There will be no context switch, but the memory footprint is increased.