CREATE OR ALTER trigger ttbempresa_grupo_contas_b01u for tbempresa_grupo_contas
active before update position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
DECLARE VARIABLE DESC_EMPRESA VARCHAR(100);
DECLARE VARIABLE TIPO CHAR(1);
BEGIN

    HISTORICO = '';
    SELECT TRIM(W.NOMEFANTASIA) FROM TBEMPRESA W WHERE W.CODIGO = NEW.EMPRESA_ID INTO DESC_EMPRESA;
    SELECT TRIM(T.TIPO) FROM TBEMPRESA_GRUPO T WHERE T.ID = NEW.EMPRESA_GRUPO_ID INTO TIPO;

    IF(TIPO = 'C' AND OLD.EMPRESA_GRUPO_ID <> NEW.EMPRESA_GRUPO_ID) THEN
    BEGIN
        HISTORICO = HISTORICO||' CLIENTE REALOCADO DE: '||OLD.EMPRESA_GRUPO_ID||' - '||(SELECT FIRST 1 T.DESCRICAO FROM TBEMPRESA_GRUPO T WHERE T.ID = OLD.EMPRESA_GRUPO_ID)||' PARA: '||NEW.EMPRESA_GRUPO_ID||' - '||(SELECT FIRST 1 T.DESCRICAO FROM TBEMPRESA_GRUPO T WHERE T.ID = NEW.EMPRESA_GRUPO_ID);
    END


    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBEMPRESA_GRUPO',NEW.EMPRESA_GRUPO_ID,HISTORICO);
    END
END;