DBA Data[Home] [Help]

TRIGGER: APPS.CZ_ARCHIVES_T3

Source

Description
CZ_ARCHIVES_T3
  BEFORE UPDATE OF NAME,DESCRIPTION,DELETED_FLAG
 ON "CZ"."CZ_ARCHIVES#"
 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;
  DELFLAG_CHANGED	INTEGER := 0;
BEGIN
  IF :OLD.NAME <> :NEW.NAME THEN
    NAME_CHANGED := 1;
  END IF;

  IF ( ( (:old.description IS NULL)<>(:new.description IS NULL) ) OR (:old.description <>:new.description) ) THEN
    DESCR_CHANGED := 1;
  END IF;

  IF :OLD.DELETED_FLAG <> :NEW.DELETED_FLAG THEN
    DELFLAG_CHANGED := 1;
  END IF;

 IF NAME_CHANGED+DESCR_CHANGED+DELFLAG_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.description, CZ_RP_ENTRIES.DESCRIPTION),
       DELETED_FLAG	= DECODE(DELFLAG_CHANGED, 1, :NEW.DELETED_FLAG, CZ_RP_ENTRIES.DELETED_FLAG)
    WHERE OBJECT_TYPE='ARC' AND OBJECT_ID=:OLD.ARCHIVE_ID;
 END IF;
END;