CREATE OR ALTER trigger ttbconsumo_requisicao_b0u_03 for tbconsumo_requisicao
active before update position 2
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

   HISTORICO = '';

   IF (OLD.USUARIO_ID <> NEW.USUARIO_ID) THEN
       BEGIN
       HISTORICO = HISTORICO||' USU.: '||OLD.USUARIO_ID||'->'||NEW.USUARIO_ID;
       END
   IF (OLD.ESTABELECIMENTO_ID <> NEW.ESTABELECIMENTO_ID) THEN
       BEGIN
       HISTORICO = HISTORICO||' ESTAB.:'||OLD.ESTABELECIMENTO_ID||'->'||NEW.ESTABELECIMENTO_ID;
       END
   IF (OLD.DOCUMENTO <> NEW.DOCUMENTO) THEN
       BEGIN
       HISTORICO = HISTORICO||' DOC.:'||OLD.DOCUMENTO||'->'||NEW.DOCUMENTO;
       END
   IF (OLD.CCUSTO <> NEW.CCUSTO) THEN
       BEGIN
       HISTORICO = HISTORICO||' CCUSTO:'||OLD.CCUSTO||'->'||NEW.CCUSTO;
       END
   IF (OLD.TURNO_ID <> NEW.TURNO_ID) THEN
       BEGIN
       HISTORICO = HISTORICO||' TURNO:'||OLD.TURNO_ID||'->'||NEW.TURNO_ID;
       END
   IF (OLD.PRODUTO_ID <> NEW.PRODUTO_ID) THEN
       BEGIN
       HISTORICO = HISTORICO||' PROD.:'||OLD.PRODUTO_ID||'->'||NEW.PRODUTO_ID;
       END
   IF (OLD.QUANTIDADE <> NEW.QUANTIDADE) THEN
       BEGIN
       HISTORICO = HISTORICO||' QTD.:'||OLD.QUANTIDADE||'->'||NEW.QUANTIDADE;
       END
   IF (OLD.TAMANHO <> NEW.TAMANHO) THEN
       BEGIN
       HISTORICO = HISTORICO||' TAM.:'||OLD.TAMANHO||'->'||NEW.TAMANHO;
       END
   IF (OLD.OBSERVACAO <> NEW.OBSERVACAO) THEN
       BEGIN
       HISTORICO = HISTORICO||' OBS.:'||OLD.OBSERVACAO||'->'||NEW.OBSERVACAO;
       END
   IF (OLD.SALDO <> NEW.SALDO) THEN
       BEGIN
       HISTORICO = HISTORICO||' SALDO:'||OLD.SALDO||'->'||NEW.SALDO;
       END

   IF (OLD.STATUS <> NEW.STATUS) THEN
       BEGIN
       IF (NEW.STATUS = '0') THEN
           HISTORICO = HISTORICO||'STATUS BAIXADO' ||' - '|| NEW.PRODUTO_ID;
       IF (NEW.STATUS = '1') THEN
           HISTORICO = HISTORICO||'STATUS PENDENTE' ||' - '|| NEW.PRODUTO_ID;
       IF (NEW.STATUS = '2') THEN
           HISTORICO = HISTORICO||'STATUS ENCERRADO' ||' - '|| NEW.PRODUTO_ID;
       END

   IF (HISTORICO <> '') THEN
       BEGIN
       INSERT INTO TBHISTORICO (
       TABELA, TABELA_ID, USUARIO, IP, HISTORICO) VALUES (
      'TBCONSUMO_REQUISICAO_PAI', OLD.CONSUMO_REQUISICAO_PAI_ID,
      (SELECT FIRST 1 MON$USER FROM MON$ATTACHMENTS WHERE MON$ATTACHMENT_ID = CURRENT_CONNECTION),
      (SELECT FIRST 1 MON$REMOTE_ADDRESS FROM MON$ATTACHMENTS WHERE MON$ATTACHMENT_ID = CURRENT_CONNECTION),
       :HISTORICO);
       END
END;