SET TERM ^ ;

CREATE OR ALTER trigger ttbpdv_conferencia_item_b09u for tbpdv_conferencia_item
active before update position 9
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN
    HISTORICO = '';

    IF(OLD.PRODUTO_ID IS DISTINCT FROM NEW.PRODUTO_ID) THEN
    BEGIN
       HISTORICO = HISTORICO||' PROD:'||FN_IS_EMPTY(OLD.PRODUTO_ID)||'->'||FN_IS_EMPTY(NEW.PRODUTO_ID);
    END

    IF(OLD.EAN IS DISTINCT FROM NEW.EAN) THEN
    BEGIN
       HISTORICO = HISTORICO||' EAN:'||FN_IS_EMPTY(OLD.EAN)||'->'||FN_IS_EMPTY(NEW.EAN);
    END

    IF(OLD.QUANTIDADE IS DISTINCT FROM NEW.QUANTIDADE) THEN
    BEGIN
       HISTORICO = HISTORICO||' QTD:'||FN_IS_EMPTY(OLD.QUANTIDADE)||'->'||FN_IS_EMPTY(NEW.QUANTIDADE);
    END

    IF(OLD.VALOR_UNITARIO IS DISTINCT FROM NEW.VALOR_UNITARIO) THEN
    BEGIN
       HISTORICO = HISTORICO||' VL.UNIT:'||FN_IS_EMPTY(OLD.VALOR_UNITARIO)||'->'||FN_IS_EMPTY(NEW.VALOR_UNITARIO);
    END

    IF(OLD.VALOR_DESCONTO IS DISTINCT FROM NEW.VALOR_DESCONTO) THEN
    BEGIN
       HISTORICO = HISTORICO||' VL.DESC:'||FN_IS_EMPTY(OLD.VALOR_DESCONTO)||'->'||FN_IS_EMPTY(NEW.VALOR_DESCONTO);
    END

    IF(HISTORICO <> '') THEN
    BEGIN
        HISTORICO = 'MODELO: '||NEW.MODELO_DESCRICAO||', COR:'||NEW.COR_DESCRICAO||', TAM: '||NEW.TAM_DESCRICAO||' ALTERADO '||HISTORICO;
        EXECUTE PROCEDURE SPI_HISTORICO('TBPDV_CONFERENCIA', NEW.PDV_CONFERENCIA_ID, HISTORICO);
    END
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER trigger ttbpdv_conferencia_item_b09i for tbpdv_conferencia_item
active before insert position 9
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

  HISTORICO = '';

  IF(NEW.ID > 0) THEN
  BEGIN
    HISTORICO = 'MODELO: '||NEW.MODELO_DESCRICAO||', COR:'||NEW.COR_DESCRICAO||', TAM: '||NEW.TAM_DESCRICAO||' INCLUIDO';
  END

  IF(HISTORICO <> '') THEN
  BEGIN
    EXECUTE PROCEDURE SPI_HISTORICO('TBPDV_CONFERENCIA', NEW.PDV_CONFERENCIA_ID, HISTORICO);
  END
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER trigger tbpdv_conferencia_item_b09d for tbpdv_conferencia_item
active before delete position 9
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

  HISTORICO = '';

  IF(OLD.ID > 0) THEN
  BEGIN
    HISTORICO = 'MODELO: '||OLD.MODELO_DESCRICAO||', COR:'||OLD.COR_DESCRICAO||', TAM: '||OLD.TAM_DESCRICAO||' EXCLUIDO';
  END

  IF(HISTORICO <> '') THEN
  BEGIN
    EXECUTE PROCEDURE SPI_HISTORICO('TBPDV_CONFERENCIA', OLD.PDV_CONFERENCIA_ID, HISTORICO);
  END
END
^

SET TERM ; ^

