ALTER TABLE TBPDV_CAIXA
ADD CAIXABANCO_ID INTEGER
DEFAULT 0;

CREATE OR ALTER TRIGGER TTBPDV_CAIXA_B01U FOR TBPDV_CAIXA
ACTIVE BEFORE UPDATE POSITION 3
AS
DECLARE VARIABLE HISTORICO VARCHAR(1000);
BEGIN
  HISTORICO = '';
  IF(NEW.DESCRICAO <> OLD.DESCRICAO) THEN
  BEGIN
     HISTORICO = HISTORICO||' DESC:'||OLD.DESCRICAO||'->'||NEW.DESCRICAO;
  END 

  IF(NEW.STATUS <> OLD.STATUS) THEN
  BEGIN
     HISTORICO = HISTORICO||' STATUS:'||OLD.STATUS||'->'||NEW.STATUS;
  END

  IF(NEW.TABELA_PRECO_ID <> OLD.TABELA_PRECO_ID) THEN
  BEGIN
     HISTORICO = HISTORICO||' TBL.PRECO:'||FN_LPAD(OLD.TABELA_PRECO_ID,4,0)||'->'||FN_LPAD(NEW.TABELA_PRECO_ID,4,0);
  END  

  IF(NEW.CAIXABANCO_ID <> OLD.CAIXABANCO_ID) THEN
  BEGIN
     HISTORICO = HISTORICO||' CX.BCO:'||FN_LPAD(OLD.CAIXABANCO_ID,4,0)||'->'||FN_LPAD(NEW.CAIXABANCO_ID,4,0);
  END

  IF(HISTORICO <> '') THEN
  BEGIN
     HISTORICO = 'CAIXA ID:'||fn_lpad(OLD.ID,4,0)||' ALTERADO '||HISTORICO;
     EXECUTE PROCEDURE SPI_HISTORICO('TBPDV', NEW.PDV_ID, FN_ELIPSES(HISTORICO,500));
  END
END;

