SET TERM ^ ;

CREATE OR ALTER trigger ttbtributacao_icms_inter_b01u for tbtributacao_icms_interestadual
active before update position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
declare variable TIPO_HISTORICO INTEGER;
BEGIN

    HISTORICO = '';

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

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

    SELECT T.ID FROM TBUF T WHERE T.UF = NEW.UF_ORIGEM INTO TIPO_HISTORICO;

    IF (HISTORICO <> '') THEN
    BEGIN
        HISTORICO = ' TRIBUTACAO: '||' - '||NEW.ID||', UF ORIGEM: '||NEW.UF_ORIGEM||', UF DESTINO: '||NEW.UF_DESTINO||' ALTERADO: '||HISTORICO;
        EXECUTE PROCEDURE SPI_HISTORICO('TBUF', :TIPO_HISTORICO, HISTORICO);
    END
END
^

SET TERM ; ^

