ALTER DOMAIN RDB$176605 TYPE VARCHAR(100) CHARACTER SET UTF8;

CREATE OR ALTER trigger ttbremessa_b9u for tbremessa
active before update position 9
AS
/*****************************
 *                           *
 *       REGISTRA LOG        *
 *       DE ALTERAÇÃO        *
 *                           *
 *****************************/

DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

      HISTORICO = '';

   IF (OLD.ESTABELECIMENTO_CODIGO <> NEW.ESTABELECIMENTO_CODIGO) THEN
       BEGIN
       HISTORICO = HISTORICO||' ESTAB.: '||OLD.ESTABELECIMENTO_CODIGO||'->'||NEW.ESTABELECIMENTO_CODIGO;
       END
   IF (OLD.NUMERO <> NEW.NUMERO) THEN
       BEGIN
       HISTORICO = HISTORICO||' CÓD.REM.: '||OLD.NUMERO||'->'||NEW.NUMERO;
       END
   IF (OLD.FAMILIA_CODIGO <> NEW.FAMILIA_CODIGO) THEN
       BEGIN
       HISTORICO = HISTORICO||' FAMILIA: '||OLD.FAMILIA_CODIGO||'->'||NEW.FAMILIA_CODIGO;
       END
   IF (OLD.TURNO_CODIGO <> NEW.TURNO_CODIGO) THEN
       BEGIN
       HISTORICO = HISTORICO||' TURNO: '||OLD.TURNO_CODIGO||'->'||NEW.TURNO_CODIGO;
       END
   IF (OLD.DATA <> NEW.DATA) THEN
       BEGIN
       HISTORICO = HISTORICO||' DATA: '||OLD.DATA||'->'||NEW.DATA;
       END
   IF (OLD.TIPO <> NEW.TIPO) THEN
       BEGIN
       HISTORICO = HISTORICO||' TIPO: '||OLD.TIPO||'->'||NEW.TIPO;
       END
   IF (OLD.TONALIDADE <> NEW.TONALIDADE) THEN
       BEGIN
       HISTORICO = HISTORICO||' TONALID.: '||OLD.TONALIDADE||'->'||NEW.TONALIDADE;
       END
   IF (OLD.PROJECAO <> NEW.PROJECAO) THEN
       BEGIN
       HISTORICO = HISTORICO||' PROJECAO: '||OLD.PROJECAO||'->'||NEW.PROJECAO;
       END
   IF (OLD.OC <> NEW.OC) THEN
       BEGIN
       HISTORICO = HISTORICO||' OC: '||OLD.OC||'->'||NEW.OC;
       END
   IF (OLD.CLASSIFICACAO <> NEW.CLASSIFICACAO) THEN
       BEGIN
       HISTORICO = HISTORICO||' CLASSIF.: '||OLD.CLASSIFICACAO||'->'||NEW.CLASSIFICACAO;
       END
   IF (OLD.BLOQ <> NEW.BLOQ) THEN
       BEGIN
       HISTORICO = HISTORICO||' BLOQ.: '||OLD.BLOQ||'->'||NEW.BLOQ;
       END
   IF (OLD.STATUS <> NEW.STATUS) THEN
       BEGIN
       HISTORICO = HISTORICO||' STATUS: '||OLD.STATUS||'->'||NEW.STATUS;
       END
   IF (OLD.PERFIL <> NEW.PERFIL) THEN
       BEGIN
       HISTORICO = HISTORICO||' PERFIL: '||OLD.PERFIL||'->'||NEW.PERFIL;
       END
   IF (OLD.REMESSA <> NEW.REMESSA) THEN
       BEGIN
       HISTORICO = HISTORICO||' REMESSA: '||OLD.REMESSA||'->'||NEW.REMESSA;
       END
   IF (OLD.AGRUPAMENTO_ID <> NEW.AGRUPAMENTO_ID) THEN
       BEGIN
       HISTORICO = HISTORICO||' AGRUPAM.: '||OLD.AGRUPAMENTO_ID||'->'||NEW.AGRUPAMENTO_ID;
       END
   IF (OLD.FAMILIA_MP <> NEW.FAMILIA_MP) THEN
       BEGIN
       HISTORICO = HISTORICO||' FAM.MP.: '||OLD.FAMILIA_MP||'->'||NEW.FAMILIA_MP;
       END
   IF (OLD.REQUISICAO <> NEW.REQUISICAO) THEN
       BEGIN
       HISTORICO = HISTORICO||' REQ.: '||OLD.REQUISICAO||'->'||NEW.REQUISICAO;
       END
   IF (OLD.DESCRICAO <> NEW.DESCRICAO) THEN
       BEGIN
       HISTORICO = HISTORICO||' DESC.: '||OLD.DESCRICAO||'->'||NEW.DESCRICAO;
       END
   IF (OLD.DATA_BSC <> NEW.DATA_BSC) THEN
       BEGIN
       HISTORICO = HISTORICO||' DATA BSC: '||OLD.DATA_BSC||'->'||NEW.DATA_BSC;
       END
   IF (OLD.DATAHORA <> NEW.DATAHORA) THEN
       BEGIN
       HISTORICO = HISTORICO||' DATA/HORA: '||OLD.DATAHORA||'->'||NEW.DATAHORA;
       END
   IF (OLD.GP_ID <> NEW.GP_ID) THEN
       BEGIN
       HISTORICO = HISTORICO||' GP.: '||OLD.GP_ID||'->'||NEW.GP_ID;
       END
   IF (OLD.CONTROLE_TALAO <> NEW.CONTROLE_TALAO) THEN
       BEGIN
       HISTORICO = HISTORICO||' CTRL.TALAO: '||OLD.CONTROLE_TALAO||'->'||NEW.CONTROLE_TALAO;
       END
   IF (OLD.COMPONENTE <> NEW.COMPONENTE) THEN
       BEGIN
       HISTORICO = HISTORICO||' COMPONENTE: '||OLD.COMPONENTE||'->'||NEW.COMPONENTE;
       END
   IF (OLD.WEB <> NEW.WEB) THEN
       BEGIN
       HISTORICO = HISTORICO||' WEB: '||OLD.WEB||'->'||NEW.WEB;
       END

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

        IF (HISTORICO <> '') THEN
        BEGIN
            EXECUTE PROCEDURE SPI_HISTORICO('TBREMESSA',NEW.NUMERO,:HISTORICO);
        END
END;