SET TERM ^ ;

CREATE trigger ttbblocos_b01i for tbblocos
active before insert position 0
AS
   DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( NEW.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||'REGISTRO INCLUIDO:'||NEW.ID;
    END

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

SET TERM ; ^

SET TERM ^ ;

CREATE trigger ttbblocos_b01u for tbblocos
active before update position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(1000);
DECLARE VARIABLE MES_NOME_OLD VARCHAR(500);
DECLARE VARIABLE MES_NUMERO_OLD INTEGER;
DECLARE VARIABLE MES_NOME_NEW VARCHAR(500);
DECLARE VARIABLE MES_NUMERO_NEW INTEGER;
DECLARE VARIABLE ANO_OLD INTEGER;
DECLARE VARIABLE ANO_NEW INTEGER;
BEGIN

    HISTORICO = '';

    MES_NUMERO_OLD = EXTRACT(MONTH FROM OLD.MES_ANO_AQUISICAO);
    ANO_OLD        = EXTRACT(YEAR FROM OLD.MES_ANO_AQUISICAO);
    MES_NOME_OLD   = IIF(MES_NUMERO_OLD = 1, 'JANEIRO',
                     IIF(MES_NUMERO_OLD = 2, 'FEVEREIRO',
                     IIF(MES_NUMERO_OLD = 3, 'MARÇO',
                     IIF(MES_NUMERO_OLD = 4, 'ABRIL',
                     IIF(MES_NUMERO_OLD = 5, 'MAIO',
                     IIF(MES_NUMERO_OLD = 6, 'JUNHO',
                     IIF(MES_NUMERO_OLD = 7, 'JULHO',
                     IIF(MES_NUMERO_OLD = 8, 'AGOSTO',
                     IIF(MES_NUMERO_OLD = 9, 'SETEMBRO',
                     IIF(MES_NUMERO_OLD = 10, 'OUTUBRO',
                     IIF(MES_NUMERO_OLD = 11, 'NOVEMBRO',
                     IIF(MES_NUMERO_OLD = 12, 'DEZEMBRO',
                     ''))))))))))));

    MES_NUMERO_NEW = EXTRACT(MONTH FROM NEW.MES_ANO_AQUISICAO);
    ANO_NEW        = EXTRACT(YEAR FROM NEW.MES_ANO_AQUISICAO);
    MES_NOME_NEW   = IIF(MES_NUMERO_NEW = 1, 'JANEIRO',
                     IIF(MES_NUMERO_NEW = 2, 'FEVEREIRO',
                     IIF(MES_NUMERO_NEW = 3, 'MARÇO',
                     IIF(MES_NUMERO_NEW = 4, 'ABRIL',
                     IIF(MES_NUMERO_NEW = 5, 'MAIO',
                     IIF(MES_NUMERO_NEW = 6, 'JUNHO',
                     IIF(MES_NUMERO_NEW = 7, 'JULHO',
                     IIF(MES_NUMERO_NEW = 8, 'AGOSTO',
                     IIF(MES_NUMERO_NEW = 9, 'SETEMBRO',
                     IIF(MES_NUMERO_NEW = 10, 'OUTUBRO',
                     IIF(MES_NUMERO_NEW = 11, 'NOVEMBRO',
                     IIF(MES_NUMERO_NEW = 12, 'DEZEMBRO',
                     ''))))))))))));

    IF ( OLD.MES_ANO_AQUISICAO <> NEW.MES_ANO_AQUISICAO) THEN
    BEGIN
        HISTORICO = HISTORICO||'MES/ANO:'||MES_NOME_OLD||' DE '||ANO_OLD||'->'||MES_NOME_NEW||' DE '||ANO_NEW;
    END

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

    IF ( OLD.CONTA_CONTABIL <> NEW.ESTABELECIMENTO_ID) THEN
    BEGIN
        HISTORICO = HISTORICO||' C.CONT: '|| OLD.CONTA_CONTABIL||'->'||NEW.CONTA_CONTABIL;
    END

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

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

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

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

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

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

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

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

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

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

SET TERM ; ^

SET TERM ^ ;

CREATE trigger ttbblocos_b01d for tbblocos
active before delete position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( OLD.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||'REGISTRO EXCLUIDO';
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBBLOCOS',OLD.ID, HISTORICO);
    END
end
^

SET TERM ; ^



