CREATE OR REPLACE TRIGGER DTULTATU_ITEMPRECOGER_CASCADE
BEFORE INSERT OR UPDATE OR DELETE
ON ITEMPRECOGER FOR EACH ROW
BEGIN

   IF INSERTING THEN
      :NEW.DTULTATU := SYSDATE;

      UPDATE PRODUTO
      SET DTULTATUPROD = SYSDATE
      WHERE CDPRODUTO  = :NEW.CDPRODUTO; 

      UPDATE ITMENUCONFTE
      SET DTULTATUITCT = SYSDATE
      WHERE CDIDENTBUTON  = :NEW.CDPRODUTO;

      UPDATE PRODOCORRE
      SET DTULTATUPOCO = SYSDATE
      WHERE CDPRODUTO  = :NEW.CDPRODUTO;

      UPDATE PRODLOJA
      SET DTULTATUPLOJ = SYSDATE
      WHERE CDPRODUTO  = :NEW.CDPRODUTO;

      UPDATE PRODUTOSEG
      SET DTULTATUPSEG = SYSDATE
      WHERE CDPRODUTO  = :NEW.CDPRODUTO; 

   END IF;
   IF UPDATING THEN
      :NEW.DTULTATU := SYSDATE;

      UPDATE PRODUTO
         SET DTULTATUPROD = SYSDATE
       WHERE CDPRODUTO  = :OLD.CDPRODUTO;

      UPDATE ITMENUCONFTE
         SET DTULTATUITCT = SYSDATE
       WHERE CDIDENTBUTON  = :OLD.CDPRODUTO;

      UPDATE ITEMPRECODIAGER
         SET DTULTATUITPD = SYSDATE
       WHERE CDTABEPREC = :OLD.CDTABEPREC
         AND DTINIVGPREC = :OLD.DTINIVGPREC
         AND CDPRODUTO = :OLD.CDPRODUTO
         AND CDPRPAITABPR = :OLD.CDPRPAITABPR;
   END IF;
   IF DELETING THEN
      INSERT INTO DELETECACHE (NMTABLECACHE, CDFILICACHE, DSKEYCACHE, DTULTATUCACH)
                       VALUES ('ITEMPRECOGER', NULL, 'CDTABEPREC='||:OLD.CDTABEPREC||';DTINIVGPREC='||TO_CHAR(:OLD.DTINIVGPREC,'DD/MM/YYYY')||';CDPRODUTO='||:OLD.CDPRODUTO||';CDPRPAITABPR='||:OLD.CDPRPAITABPR||';', SYSDATE);
   END IF;
END;
/

-- VERSAO --
BEGIN ATUVEROBJ('DTULTATU_ITEMPRECOGER_CASCADE','6.35.043'); END;
/

