Kbase P76003: ASSIGN trigger is not fired when the field is not modified
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  6/10/2010 |
|
Status: Verified
SYMPTOM(s):
ASSIGN trigger is not fired when the field is not modified
ASSIGN trigger does not fire when ASSIGN statement, assignment statement using "=", SET statement, or UPDATE statement is executed, but the value assigned to the field is the same as the original value.
FACT(s) (Environment):
Progress 9.x
OpenEdge 10.x
All Supported Operating Systems
CAUSE:
This is expected behavior.
In order to keep performance high, Progress does not reassign the value of a database field if that value hasn't actually changed as there's no real reason to do so.
As the assign doesn't take place if the field is unmodified, the assign trigger will not fire either.
FIX:
If the value needs to be checked whenever a record has changed, use a WRITE trigger on the table instead, or avoid using database triggers altogether and place the validation logic in a regular 4GL procedure.