Version 7.4.4
 —  Triggers and Stored Procedures  —

Terminology

Adabas trigger driver

Part of the Adabas nucleus that has overall control of the Adabas triggers and stored procedures facility. It detects trigger and stored procedure requests and initializes the Natural trigger driver to execute them.

Natural trigger driver

The Natural nucleus component that runs as a batch Natural environment. The Natural trigger driver is responsible for the actual execution of both triggers and stored procedures. Operating in conjunction with the Adabas trigger driver, it handles the interprocess communications between the Adabas nucleus and the Natural subsystem that executes the procedure.

Pre- and post-trigger queues

Contain the procedures waiting to be executed for the pre- and post-command triggers that have been fired. See the Trigger entry for information about pre- and post-command triggers.

Procedure

A Natural subprogram that is written and tested using standard Natural facilities. The same types of parameters are passed to the subprogram whether it is a trigger or a stored procedure.

Stored procedure

A procedure executed by the DBMS, but invoked directly or manually by an application.

STPLNK

The stored procedure link routine used to invoke a stored procedure request.

STPRBE

The record buffer extraction routine, which is called by a procedure and used to retrieve the parameters passed by the calling routine.

STPUTRAK

A routine that tracks every request to invoke a procedure and every procedure invoked. You can use this routine to write trace messages or audit triggers processing for each subsystem. A default STPUTRAK routine is supplied with the Adabas triggers and stored procedures facility.

Trigger

A procedure that is executed automatically by the DBMS when a specified set of criteria is met. The set of criteria is determined for each Adabas command sent to the DBMS and is based on the target file number and optionally the command type and/or field. The command type refers to the commands find, read, store, update, and delete. The field must be in the corresponding format buffer of the command.

A pre-command (or `pre-') trigger is executed before the initiating Adabas command is processed by the Adabas nucleus. Before an Adabas command is executed, a check is made to verify whether a trigger should be fired.

A post-command (or `post-') trigger executes after the initiating Adabas command is processed by the Adabas nucleus. The triggered procedure executes only if the return code for the command from the Adabas nucleus is zero. If the return code is non-zero, no checking for triggers is done, and processing continues in the normal way. For a successfully executed command, the command is checked for any triggers before processing of the command completes.

An asynchronous trigger executes independently of the initiating Adabas command. Adabas command processing for the user continues uninterrupted while the triggered procedure executes as a separate process. The triggered procedure may execute after the user has already received the response from the initiating command.

A synchronous trigger requires a suspension of Adabas command processing for that user. The initiating Adabas command is suspended until the triggered procedure completes execution. It is possible that the results of the procedure will affect the Adabas command.

A participating trigger must be synchronous. Such a trigger results in the execution of a procedure that is assigned the same user ID as the Adabas command that caused the participating trigger to be fired; thus, it can participate fully in the logic of the transaction.

A non-participating trigger can be synchronous or asynchronous. It has a user ID that is different from that of the Adabas user queue element (UQE) that identifies the initiating command; thus, it does not participate in the initiating command's transaction logic.

Trigger definition

The name and attributes of the procedure to be executed, and the selection criteria that compose the triggering event (Adabas command type, file name or number, and field name).

Trigger Maintenance facility

A Natural application accessible from the selectable unit Adabas Online System (AOS). A system of menus allows you to create and maintain trigger definitions, define the Adabas triggers profile, and monitor and to some extent control trigger activity within the nucleus.

Trigger table

A buffer in the Adabas nucleus that holds the trigger definitions.

Top of page