Remove Physical File Trigger (RMVPFTRG)

The Remove Physical File Trigger (RMVPFTRG) command removes the triggers that call trigger programs from a specified physical file. The triggers to be removed can be specified by trigger events, trigger times or trigger name. A trigger program is a program that has been added to the specified physical file by the Add Physical File Trigger (ADDPFTRG) command (system trigger) or the SQL CREATE TRIGGER statement (SQL trigger).

If a trigger time, trigger event and trigger name are specified and the trigger time and event do not match the time and event for the trigger definition name, the trigger will not be removed.

Once a trigger is removed from the physical file for a specified trigger time or event or name, the trigger program is no longer called when the trigger event occurs within the file. If the trigger was a system trigger, the trigger program continues to exist on the system. If the trigger was an SQL trigger, the trigger program is deleted.

An exclusive-no-read lock is held on the physical file when removing the trigger from that file. All logical files which are built over the physical file are also held with the exclusive no-read lock.

Restrictions:

Parameters

Keyword Description Choices Notes
FILE Physical file Qualified object name Required, Positional 1
Qualifier 1: Physical file Name
Qualifier 2: Library Name, *LIBL, *CURLIB
TRGTIME Trigger time *ALL, *BEFORE, *AFTER Optional, Positional 2
TRGEVENT Trigger event *ALL, *INSERT, *DELETE, *UPDATE, *READ Optional, Positional 3
TRG Trigger Character value, *ALL Optional
TRGLIB Trigger library Name, *FILE, *CURLIB Optional

Physical file (FILE)

Specifies the physical file from which the trigger is to be removed. The specified file must exist on the system.

This is a required parameter.

Qualifier 1: Physical file

name
Specify the name of the file from which the trigger is to be removed.

Qualifier 2: Library

*LIBL
All libraries in the library list for the current thread are searched until the first match is found.
*CURLIB
The current library for the job is searched. If no library is specified as the current library for the job, the QGPL library is used.
name
Specify the name of the library to be searched.

Trigger time (TRGTIME)

Specifies the trigger to be removed, based on the time when the trigger program is called.

*ALL
All triggers for programs called either before or after a trigger event are removed.
*BEFORE
The triggers for programs called before a trigger event are removed.
*AFTER
The triggers for programs called after a trigger event are removed.

Trigger event (TRGEVENT)

Specifies the trigger event for which the associated triggers are removed.

*ALL
All triggers for insert, delete, and update operations are removed.
*INSERT
The triggers for insert operations are removed.
*DELETE
The triggers for delete operations are removed.
*UPDATE
The triggers for update operations are removed.
*READ
The triggers for read operations are removed.

Trigger (TRG)

Specifies the name of the trigger being removed.

*ALL
All trigger definitions are removed, including SQL triggers.
character-value
Specify the name of the trigger. You can specify a maximum of 128 characters without delimiters, or 258 characters with quotation mark (") delimiters.

The following are examples of the TRG parameter dependencies:

Trigger library (TRGLIB)

Specifies the library for the trigger being removed.

Note: The special values *LIBL and *CURLIB are the values of the job running when the trigger is removed.

*FILE
The library for the file specified for the Physical file (FILE) parameter is used.
*CURLIB
The current library for the job is used. If no library is specified as the current library for the job, the QGPL library is used.
name
Specify the name of the library to be used.

Examples

Example 1: Removing All Triggers for Insert Events

RMVPFTRG   FILE(EMP)  TRGEVENT(*INSERT)

This command removes all triggers for programs called by insert operations from the physical file named EMP.

Example 2: Removing All Triggers for Programs Called Before a Trigger Event

RMVPFTRG   FILE(EMP)  TRGTIME(*BEFORE)

This command removes all triggers for programs called before trigger events from the physical file named EMP.

Error messages

*ESCAPE Messages

CPF32C6
Trigger operation not successful.