Remove Physical File Trigger (RMVPFTRG)
Where allowed to run: All environments (*ALL)
Threadsafe: ConditionalParameters
Examples
Error messagesThe 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:
- You must have object alter (*OBJALTER) or object management (*OBJMGT) authority to the physical file and execute (*EXECUTE) authority to the library that contains the file.
- If the physical file or a dependent logical file or Structured Query Language (SQL) view is opened in this or another job, the trigger cannot be removed.
- While this command is running, neither the physical file nor any dependent logical files can be opened.
- This command is conditionally threadsafe. In multithreaded jobs, this command is not threadsafe for distributed files and fails for distributed files that use relational databases of type *SNA.
Top
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
Top
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.
Top
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.
Top
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.
Top
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:
- TRG(*ALL) TRGTIME(*ALL) TRGEVENT(*ALL) - All triggers are removed.
- TRG(*ALL) TRGTIME(*INSERT) TRGEVENT(*AFTER) - All *INSERT *AFTER triggers are removed.
- TRG(ABC) TRGTIME(*ALL) TRGEVENT(*ALL) - The triggers named ABC are removed.
- TRG(ABC) TRGTIME(*BEFORE) TRGEVENT(*INSERT) - The trigger named ABC is removed if the trigger time is *BEFORE and the triggered event is *INSERT. If the trigger time and triggered event do not match, trigger ABC will not be removed.
Top
Trigger library (TRGLIB)
Specifies the library for the trigger being removed.
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.
Top
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.
Example 3: Removing a Trigger for a Program Called After an Insert Event
RMVPFTRG FILE(EMP) TRGTIME(*AFTER) TRGEVENT(*INSERT)This command removes the trigger for the program called after an insert operation from the physical file named EMP.
Top
Error messages
*ESCAPE Messages
- CPF32C6
- Trigger operation not successful.
Top