An event trigger checks for an event and when the event occurs, it runs the code associated with the trigger.
Oracle BI Publisher supports the following events: before data set is executed, after data set is executed and before a scheduled job is about to execute. There are three types of event triggers:
Before Data - Fires right before the data set is executed.
After Data - Fires right after the data engine executes all data sets and generates the XML.
Schedule Trigger - Fires when a scheduled job is triggered and before it runs.
Before data and after data triggers execute a PL/SQL function stored in a PL/SQL package in your Oracle Database. The return data type for a PL/SQL function inside the package must be a Boolean type and the function must explicitly return TRUE or FALSE.
A schedule trigger is associated with a scheduled job. It is a SQL query that executes at the time a report job is scheduled to run. If the SQL returns any data, the report job runs. If the SQL query returns no data, the job instance is skipped.
Event triggers are not used to populate data used by the bursting definition. See Adding Bursting Definitions.
You can add event triggers that fire before and after data.
If you define a default package then you must define all parameters as a global PL/SQL variable in the PL/SQL package. You can then explicitly pass parameters to your PL/SQL function trigger or all parameters are available as a global PL/SQL variable, see Setting Data Model Properties
A schedule trigger fires when a report job is scheduled to run. Schedule triggers are of type SQL Query.
When a report job is scheduled to run, the schedule trigger executes the SQL statement defined for the trigger. If data is returned, then the report job is submitted. If data is not returned from the trigger SQL query, the report job is skipped.
The schedule trigger that you associate with a report job can reside in any data model in the catalog. You do not need to create the schedule trigger in the data model of the report for which you which to execute it. You can reuse schedule triggers across multiple report jobs.