Old and new values in Oracle Form

Nacho321 picture Nacho321 · Sep 26, 2012 · Viewed 16.8k times · Source

I'm working with Oracle Forms. I have a field named SOLD_TO_CUST_PARTY_NAME. I have to execute a process if I detect a change in the field's value. I tried using when_validate, but it's executed even if you just click the field and move to another field (validation ALWAYS occurs whether you change the value or not). Is there anyway I can check :old and :new or something similar to execute a process only if the field is modified?

EDIT: Can't use personalizations. It has to be done with pl/sql.

Answer

Laggel picture Laggel · Sep 26, 2012

There is a property called database value that let you check if the field has been modified and if it has not you just have to exit the validation trigger.

Ex.

    BEGIN

    IF :BLOCK.ITEM = GET_ITEM_PROPERTY('BLOCK.ITEM', database_value) THEN
     RETURN;
    END IF;

     /* VALIDATION */

    END;