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

    HISTORICO = '';

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

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

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

    HISTORICO = '';

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

    IF ( OLD.MES <> NEW.MES) THEN
    BEGIN
        HISTORICO = HISTORICO||', Campo Mes:'|| OLD.MES||'->'||NEW.MES;
    END

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

    IF ( OLD.STATUSEXCLUSAO <> NEW.STATUSEXCLUSAO) THEN
    BEGIN
        HISTORICO = HISTORICO||', Status Exclusao:'|| OLD.STATUSEXCLUSAO||'->'||NEW.STATUSEXCLUSAO;
    END

    IF ( OLD.DATAHORA_INSERT <> NEW.DATAHORA_INSERT) THEN
    BEGIN
        HISTORICO = HISTORICO||', Data/Hora insercao:'|| OLD.DATAHORA_INSERT||'->'||NEW.DATAHORA_INSERT;
    END

    IF ( OLD.DATAHORA_UPDATE <> NEW.DATAHORA_UPDATE) THEN
    BEGIN
        HISTORICO = HISTORICO||', Data/Hora alteracao:'|| OLD.DATAHORA_UPDATE||'->'||NEW.DATAHORA_UPDATE;
    END

    IF ( OLD.DATAHORA_DELETE <> NEW.DATAHORA_DELETE) THEN
    BEGIN
        HISTORICO = HISTORICO||', Data/Hora exclusao:'|| OLD.DATAHORA_DELETE||'->'||NEW.DATAHORA_DELETE;
    END

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