When creating on-update triggers, consider the following information:
You must use a symmetric WHERE clause when defining the area specification for a trigger. See the MDX documentation in the MaxL section of the Oracle Essbase Technical Reference.
To enable Essbase to send e-mail alerts, you must have JVM installed on your system.
You cannot define a trigger that requires data from the following Essbase features:
You can specify whether all trigger data values are stored in the spool file or whether only the most current values are stored (for example, use the a log_value parameter on the MaxL create trigger statement or create and replace trigger statement). If the log_value parameter is set to ON, both the new value and old value are logged to the spool file. If the log_value parameter is set to OFF, values are not logged to the spool file. The log_value parameter is active only for data load and lock-and-send activities.
Consider data security when sending e-mail alerts. When Essbase activates a trigger and sends an e-mail, it cannot check whether the e-mail recipient is authorized to see the data referenced by the trigger condition.
Avoid referencing a sparse dimension member in a trigger condition. When Essbase executes a trigger on one data block, it must read another data block that may or may not be updated. Depending on the state of the second block, Essbase may activate the trigger in error.
The following example is based on the Sample.Basic database. Assume that East and West are sparse dimensions and that the following statement defines the trigger condition:
FIX (East, West, Sales, Jan, Actual, Cola) IF ((Sales -> East + Sales -> West) > 20) EMAIL sales@.com
Assume that the following Sales data values are stored for East and West:
Now assume that a user does a lock-and-send request to update the data values:
When Sales->East is updated to 15, temporarily, the database contains the following values:
So Essbase activates the trigger because 15 plus 6 is greater than 20. Subsequently, Essbase updates Sales -> West to 3. Now the data does not meet the trigger condition, because 15 + 3 < 20. However, Essbase has already activated the trigger.
When a data load is followed by a calculation, if both the loaded data and the calculated data meet the trigger condition, Essbase activates the trigger twice, once on the data load and once on the calculation.