Many ABL statements and functions can generate database or internal events automatically, based active audit policies. In other words, OpenEdge defines events that certain ABL statements and functions always generate when audit policies specify them to do so. These include statements, for example, that participate in database transactions and that control the assertion of user identities, among others.
ABL also allows you to explicitly generate application events using the AUDIT-CONTROL system handle. These include events that you define and OpenEdge-defined events that control audit event context. If database options are set to enforce it, the database connection ID for a database must have the Application Audit Event Inserter privilege in order to generate and record audit events using the AUDIT-CONTROL system handle. The following table lists the AUDIT-CONTROL handle methods that you can use to explicitly generate events in your application:
Table 32. Methods for generating application events
This AUDIT-CONTROL method...
Provides this function...
BEGIN-EVENT-GROUP( )
Starts an event group
CLEAR-APPL-CONTEXT( )
Clears the current application context
END-EVENT-GROUP( )
Ends the current event group
LOG-AUDIT-EVENT( )
Records an application-defined audit event
SET-APPL-CONTEXT( )
Sets the current application context
The following sections describe how to code these methods.