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

   IF (OLD.GRUPO_ID <> NEW.GRUPO_ID) THEN
       BEGIN
       HISTORICO = HISTORICO||' GRUPO:'||OLD.GRUPO_ID||'->'||NEW.GRUPO_ID;
       END
   IF (OLD.DESCRICAO <> NEW.DESCRICAO) THEN
       BEGIN
       HISTORICO = HISTORICO||' DESC:'||OLD.DESCRICAO||'->'||NEW.DESCRICAO;
       END
   IF (OLD.MATRIZ_ID <> NEW.MATRIZ_ID) THEN
       BEGIN
       HISTORICO = HISTORICO||' MATRIZ:'||OLD.MATRIZ_ID||'->'||NEW.MATRIZ_ID;
       END
   IF (OLD.SERIE <> NEW.SERIE) THEN
       BEGIN
       HISTORICO = HISTORICO||' SERIE:'||OLD.SERIE||'->'||NEW.SERIE;
       END
   IF (OLD.CODBARRAS <> NEW.CODBARRAS) THEN
       BEGIN
       HISTORICO = HISTORICO||' COD.BAR:'||OLD.CODBARRAS||'->'||NEW.CODBARRAS;
       END
   IF (OLD.DATA <> NEW.DATA) THEN
       BEGIN
       HISTORICO = HISTORICO||' DATA:'||OLD.DATA||'->'||NEW.DATA;
       END
   IF (OLD.LARG <> NEW.LARG OR OLD.COMP <> NEW.COMP OR OLD.ALT <> NEW.ALT) THEN
       BEGIN
       HISTORICO = HISTORICO||' DIM:'||OLD.LARG||' X '||OLD.COMP||' X '||OLD.ALT||' -> '||NEW.LARG||' X '||NEW.COMP||' X '||NEW.ALT;
       END
   IF (OLD.INDISP_INICIO <> NEW.INDISP_INICIO OR OLD.INDISP_FIM <> NEW.INDISP_FIM) THEN
       BEGIN
       HISTORICO = HISTORICO||' INDISP:'||OLD.INDISP_INICIO||' A '||OLD.INDISP_FIM||' -> '||NEW.INDISP_INICIO||' A '||NEW.INDISP_FIM;
       END
   IF (OLD.OBSERVACAO <> NEW.OBSERVACAO) THEN
       BEGIN
       HISTORICO = HISTORICO||' OBS:'||OLD.OBSERVACAO||'->'||NEW.OBSERVACAO;
       END
   IF (OLD.ENDERECAMENTO <> NEW.ENDERECAMENTO) THEN
       BEGIN
       HISTORICO = HISTORICO||' END:'||OLD.ENDERECAMENTO||'->'||NEW.ENDERECAMENTO;
       END
   IF (OLD.TEMPO_SETUP <> NEW.TEMPO_SETUP) THEN
       BEGIN
       HISTORICO = HISTORICO||' TMP.SET:'||OLD.TEMPO_SETUP||'->'||NEW.TEMPO_SETUP;
       END
   IF (OLD.TEMPO_SETUP_AQUECIMENTO <> NEW.TEMPO_SETUP_AQUECIMENTO) THEN
       BEGIN
       HISTORICO = HISTORICO||' TMP.SET.AQUEC:'||OLD.TEMPO_SETUP_AQUECIMENTO||'->'||NEW.TEMPO_SETUP_AQUECIMENTO;
       END
   IF (COALESCE(OLD.PERFIL,'') <> COALESCE(NEW.PERFIL,'')) THEN
       BEGIN
       HISTORICO = HISTORICO||' PERFIL:'||OLD.PERFIL||'->'||NEW.PERFIL;
       END

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

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

