Characteristics of Trigger Programs


Trigger programs have certain characteristics depending on the statement that triggers them. Some trigger programs execute before the triggering statement executes; some after. Oracle OLAP passes arguments to programs triggered by some statements, but not others. Oracle OLAP does not change dimension status before most trigger programs execute, but does change dimension status before some MAINTAIN statements trigger program execution. In most cases, you can give a trigger program any name that you choose, but some events require a program with a specific name.

Table: Trigger Program Characteristics lists the OLAP DML statements that trigger programs, the required name of the program (if any), whether or not Oracle OLAP uses values returned by the program, and whether or not Oracle OLAP passes arguments to the program.

Keep the following points in mind when designing trigger programs:

Trigger Program Characteristics

Triggering Statement (event) Program Name Return Values Passed Arguments
= (assignement) statement (SET) No required name No Yes
AW command
TRIGGER_AW
No No
DEFINE
TRIGGER_DEFINE
No No
MAINTAIN ADD
No required name No No
MAINTAIN DELETE (not ALL) No required name Yes No
MAINTAIN DELETE ALL No required name Yes No
MAINTAIN MERGE
No required name No No
MAINTAIN MOVE
No required name Yes Yes
MAINTAIN RENAME
No required name Yes Yes
PROPERTY
No required name Yes Yes
UPDATE (Update AW) TRIGGER_AFTER_UPDATE
No No
UPDATE (Update AW) TRIGGER_BEFORE_UPDATE
Yes No
UPDATE (Update Multi) No required name No No

Arguments Passed to Trigger Programs

Event Argument1 Argument2
Property When the PROPERTY statement is assigning a property to an object, the name of the property. When the PROPERTY statement is deleting one or more properties, the literal DELETE. (TEXT data type) When the value of argument1 is DELETE, the name of the property or the literal ALL. In all other cases, the name of the property. (WORKSHEET data type)
Assignment The value that you want to assign. When you know the data type of the object to which the value is assigned, specify that data type for the argument. When you do not know the actual data type, specify WORKSHEET as the data type of the argument. None. Oracle OLAP passes only one argument to the program.
Maintain Add
(Dimension surrogates only) The value added. (WORKSHEET data type)
Maintain Rename The dimension value that you want to rename. (TEXT data type) The new name of the dimension member. (WORKSHEET data type)
Maintain Merge
(Dimension surrogates only) The value merged. (WORKSHEET data type)
Maintain Move The position of the dimension value that you want to move. (TEXT data type) The literal BEFORE or AFTER. (WORKSHEET data type)

How Programs Triggered by Maintain Events Effect Dimension Status

Event Subevent Dimension Status Before Program Execution
Maintain Add Status set to dimension values just added.
Maintain Delete Status set to dimension values about to be deleted.
Maintain Delete All Current status is not changed.
Maintain Merge Status set to dimension values just merged.
Maintain Move Status set to dimension values about to be moved.
Maintain Rename Current status is not changed.