create or replace TRIGGER CANCELA_ITENS_PA AFTER INSERT ON ITEMPRODUTO
FOR EACH ROW
DECLARE
    V_IDCANCELAITEM HISTLOGCANCNOTA.CDOPERCANCNF%TYPE;
BEGIN

   SELECT IDCANCELAITEM
     INTO V_IDCANCELAITEM
     FROM PAREXPEDICAO
    WHERE CDFILIAL = :NEW.CDFILIAL;

     -- SE O ITEM PEDIDO TEM NOTA FISCAL OS ITENS EM QQR SITUACAO SAO CANCELADOS MENOS OS QUE JA FORAM LIQUIDADOS
   IF V_IDCANCELAITEM = 'S' THEN

      UPDATE ITEMPEDIDO
         SET IDSITITEMPED = '5'
       WHERE NRPEDIDO = :NEW.NRPEDIDO
         AND CDFILIAL = :NEW.CDFILIAL
         AND IDSITITEMPED NOT IN ('6', '4');

     -- SE O PEDIDO TEM NOTA FISCAL DEVE ESTAR LIQUIDADO POIS SEUS ITENS SAO CANCELADOS E LIQUIDADOS
      UPDATE PEDIDO
         SET IDSITPEDIDO = '3'
       WHERE NRPEDIDO = :NEW.NRPEDIDO
         AND CDFILIAL = :NEW.CDFILIAL
         AND IDSITPEDIDO = '6';

   END IF;
END;
/

-- VERSAO --
BEGIN ATUVEROBJ('CANCELA_ITENS_PA','5.75.014'); END;
/
