CREATE OR REPLACE TRIGGER HOMOLOGA_POSESTATU
AFTER INSERT OR DELETE OR UPDATE 
ON POSESTATU FOR EACH ROW
BEGIN
   IF UPDATING THEN

   IF (NVL(:OLD.QTTOTALESTOQ  ,0) <> NVL(:NEW.QTTOTALESTOQ  ,0)) THEN
      DELETE FROM NOVOCODIGO
      WHERE CDCONTADOR = 'HFOS'||'POSESTATU'||'QTTOTALESTOQ'||:OLD.CDFILIAL||:OLD.CDPRODUTO;

      INSERT INTO NOVOCODIGO (CDCONTADOR, NRSEQUENCIAL)
      VALUES ('HFOS'||'POSESTATU'||'QTTOTALESTOQ'||:OLD.CDFILIAL||:OLD.CDPRODUTO, 'QTTOTALESTOQ');
   END IF;
   
   IF (:OLD.DTULTMOVIMEN) <> (:NEW.DTULTMOVIMEN) THEN
      DELETE FROM NOVOCODIGO
      WHERE CDCONTADOR = 'HFOS'||'POSESTATU'||'DTULTMOVIMEN'||:OLD.CDFILIAL||:OLD.CDPRODUTO;

      INSERT INTO NOVOCODIGO (CDCONTADOR, NRSEQUENCIAL)
      VALUES ('HFOS'||'POSESTATU'||'DTULTMOVIMEN'||:OLD.CDFILIAL||:OLD.CDPRODUTO, 'DTULTMOVIMEN');
   END IF;
   
   IF (:OLD.DTHOMOLOGAFOS) <> (:NEW.DTHOMOLOGAFOS) THEN
      DELETE FROM NOVOCODIGO
      WHERE CDCONTADOR LIKE 'HFOS'||'POSESTATU'||'DTHOMOLOGAFOS'||:OLD.CDFILIAL||'%';

      INSERT INTO NOVOCODIGO (CDCONTADOR, NRSEQUENCIAL)
      VALUES ('HFOS'||'POSESTATU'||'DTHOMOLOGAFOS'||:OLD.CDFILIAL||TO_CHAR(:NEW.DTHOMOLOGAFOS,'YYYYMMDDHH24MISS'), 'DTHOMOLOGAFOS');
   END IF;
   END IF;
   
   IF INSERTING OR DELETING THEN
      DELETE FROM NOVOCODIGO
      WHERE CDCONTADOR = 'HFOS'||'POSESTATU'||'CDPRODUTO'||'**********';
        
      INSERT INTO NOVOCODIGO (CDCONTADOR, NRSEQUENCIAL)
      VALUES ('HFOS'||'POSESTATU'||'CDPRODUTO'||'**********', 'CDPRODUTO');
   END IF;
   
END;
/

