CREATE OR ALTER trigger ttbfluxo_producao_b9u for tbfluxo_producao
active before update position 9
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

   HISTORICO = '';

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

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

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

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

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

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

   IF (OLD.TEMPO_VAR_COR1 <> NEW.TEMPO_VAR_COR1) THEN
       BEGIN
       HISTORICO = HISTORICO||' ACRES.TMP SE MUDAR COR:'||OLD.TEMPO_VAR_COR1||' -> '||NEW.TEMPO_VAR_COR1;
       END

   IF (OLD.TEMPO_VAR_COR2 <> NEW.TEMPO_VAR_COR2) THEN
       BEGIN
       HISTORICO = HISTORICO||' ACRES.TMP AO MUDAR COR:'||OLD.TEMPO_VAR_COR2||' -> '||NEW.TEMPO_VAR_COR2;
       END

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


--   IF (OLD.QUANTIDADE_INICIAL<> NEW.QUANTIDADE_INICIAL OR OLD.QUANTIDADE_FINAL <> NEW.QUANTIDADE_FINAL) THEN
--       BEGIN
--       HISTORICO = HISTORICO||' QUANT. '||OLD.QUANTIDADE_INICIAL||'-> '||NEW.QUANTIDADE_INICIAL||' E '||OLD.QUANTIDADE_FINAL||' -> '||NEW.QUANTIDADE_FINAL;
--       END

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

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

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

   IF (OLD.STATUS <> NEW.STATUS) THEN
       BEGIN
           HISTORICO = HISTORICO||' STATUS:'||OLD.STATUS||'->'||NEW.STATUS;
       END
 
   IF (HISTORICO <> '') THEN
       BEGIN
       HISTORICO = 'REGISTRO ALTERADO: '||HISTORICO;
       INSERT INTO TBHISTORICO (
       TABELA, TABELA_ID, USUARIO, IP, HISTORICO) VALUES (
      'TBFLUXO_PRODUCAO', OLD.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;

