SET TERM ^ ;

ALTER TABLE TBDRE_FINANCEIRA_GRUPOS
ADD NATUREZA VARCHAR(1) CHARACTER SET UTF8 
COLLATE UTF8 ^

ALTER TABLE TBDRE_FINANCEIRA_GRUPOS ALTER COLUMN NATUREZA SET DEFAULT ''^

UPDATE TBDRE_FINANCEIRA_GRUPOS SET NATUREZA = ''^

CREATE OR ALTER TRIGGER TTBDRE_FINANCEIRA_GRUPOS_B01U FOR TBDRE_FINANCEIRA_GRUPOS
ACTIVE BEFORE UPDATE POSITION 0
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.ORDEM <> NEW.ORDEM) THEN
    BEGIN
        HISTORICO = HISTORICO||' ORDEM:'||OLD.ORDEM||'->'||NEW.ORDEM;
    END

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

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

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

    IF(COALESCE(OLD.NATUREZA,'') <> COALESCE(NEW.NATUREZA,''))THEN
    BEGIN
       HISTORICO = HISTORICO||' NAT:'||COALESCE(OLD.NATUREZA,'')||'->'||COALESCE(NEW.NATUREZA,'');
    END

    IF (HISTORICO <> '') THEN
    BEGIN

        HISTORICO = 'GRUPO: '||FN_LPAD(OLD.ID,4,0)||' - '||COALESCE(OLD.DESCRICAO, '')||' ALTERADO: '||HISTORICO;

        EXECUTE PROCEDURE SPI_HISTORICO('TBDRE_FINANCEIRA',NEW.DRE_FINANCEIRA_ID, HISTORICO);
    END
END^

SET TERM ; ^