CREATE TRIGGER TTBFAMILIA_LOCALIZACAO_B02I FOR TBFAMILIA_LOCALIZACAO
ACTIVE BEFORE INSERT POSITION 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( NEW.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||'Registro incluido';
    END

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

CREATE TRIGGER TTBFAMILIA_LOCALIZACAO_B01U FOR TBFAMILIA_LOCALIZACAO
ACTIVE BEFORE UPDATE POSITION 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF (OLD.FAMILIA_ID <> NEW.FAMILIA_ID) THEN
    BEGIN
        HISTORICO = HISTORICO||' Familia no ID: '||OLD.ID||', Alterado: '|| OLD.FAMILIA_ID||'->'||NEW.FAMILIA_ID;
    END

    IF (OLD.GP_ID <> NEW.GP_ID) THEN
    BEGIN
        HISTORICO = HISTORICO||' Grupo no ID: '||OLD.ID||', Alterada: '|| OLD.GP_ID||'->'||NEW.GP_ID;
    END

    IF (OLD.PERFIL_UP <> NEW.PERFIL_UP) THEN
    BEGIN
        HISTORICO = HISTORICO||' Perfil no ID: '||OLD.ID||', Alterado: '|| OLD.PERFIL_UP||'->'||NEW.PERFIL_UP;
    END

    IF (OLD.LOCALIZACAO_TIPO_ID <> NEW.LOCALIZACAO_TIPO_ID) THEN
    BEGIN
        IF (NEW.LOCALIZACAO_TIPO_ID = '1') THEN
           HISTORICO = HISTORICO||' Tipo Localizacao no ID: '||OLD.ID||', Tipo Padrao.';
        IF (NEW.LOCALIZACAO_TIPO_ID = '2') THEN
           HISTORICO = HISTORICO||' Tipo Localizacao no ID: '||OLD.ID||', Tipo Revisao.';
        IF (NEW.LOCALIZACAO_TIPO_ID = '3') THEN
           HISTORICO = HISTORICO||' Tipo Localizacao no ID: '||OLD.ID||', Tipo Estragado.';
        IF (NEW.LOCALIZACAO_TIPO_ID = '4') THEN
           HISTORICO = HISTORICO||' Tipo Localizacao no ID: '||OLD.ID||', Tipo Sobra.';
        IF (NEW.LOCALIZACAO_TIPO_ID = '5') THEN
           HISTORICO = HISTORICO||' Tipo Localizacao no ID: '||OLD.ID||', Tipo Em Processo.';
        IF (NEW.LOCALIZACAO_TIPO_ID = '6') THEN
           HISTORICO = HISTORICO||' Tipo Localizacao no ID: '||OLD.ID||', Tipo Amostras.';
    END

    IF ( OLD.LOCALIZACAO_ID <> NEW.LOCALIZACAO_ID) THEN
    BEGIN
        HISTORICO = HISTORICO||' ID da Localizacao no ID: '||OLD.ID||', Alterada: '|| OLD.LOCALIZACAO_ID||'->'||NEW.LOCALIZACAO_ID;
    END

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

CREATE TRIGGER TTBFAMILIA_LOCALIZACAO_B01D FOR TBFAMILIA_LOCALIZACAO
ACTIVE BEFORE DELETE POSITION 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF (OLD.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||'Registro ID: '||old.ID||', Excluido. ';
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBFAMILIA_LOCALIZACAO',old.ID, HISTORICO);
    END
END;