DBA Data[Home] [Help]

TRIGGER: APPS.CZ_PROPERTIES_T2

Source

Description
CZ_PROPERTIES_T2
   BEFORE UPDATE OF NAME, DESC_TEXT, DELETED_FLAG
  ON "CZ"."CZ_PROPERTIES#"
  REFERENCING OLD AS OLD NEW AS NEW
  FOR EACH ROW
Type
BEFORE EACH ROW
Event
UPDATE
Column
When
Referencing
REFERENCING NEW AS NEW OLD AS OLD
Body
DECLARE
  NAME_CHANGED	INTEGER := 0;
  DESCR_CHANGED	INTEGER := 0;
  DELETED_CHANGED	INTEGER := 0;
BEGIN
  IF :OLD.NAME <> :NEW.NAME THEN
    NAME_CHANGED := 1;
  END IF;
  IF ( ( (:old.DESC_TEXT IS NULL)<>(:new.DESC_TEXT IS NULL) ) OR (:old.DESC_TEXT <>:new.DESC_TEXT) ) THEN
    DESCR_CHANGED := 1;
  END IF;
  IF :OLD.DELETED_FLAG <> :NEW.DELETED_FLAG THEN
    DELETED_CHANGED := 1;
  END IF;

  IF NAME_CHANGED + DESCR_CHANGED + DELETED_CHANGED > 0 THEN
    UPDATE CZ_RP_ENTRIES SET
       NAME			= DECODE(NAME_CHANGED, 1, :NEW.NAME, CZ_RP_ENTRIES.NAME),
       DESCRIPTION	= DECODE(DESCR_CHANGED, 1, :NEW.DESC_TEXT, CZ_RP_ENTRIES.DESCRIPTION),
       DELETED_FLAG	= DECODE(DELETED_CHANGED, 1, :NEW.DELETED_FLAG, CZ_RP_ENTRIES.DELETED_FLAG)
    WHERE OBJECT_TYPE = 'PRP' AND OBJECT_ID = :OLD.PROPERTY_ID;
  END IF;
END;