CREATE TRIGGER TTBREGRA_CALCULO_CUSTO_B03I FOR TBREGRA_CALCULO_CUSTO
ACTIVE BEFORE INSERT POSITION 9
AS
declare variable HISTORICO VARCHAR(500);
BEGIN
   HISTORICO = '';
   IF(NEW.ID IS NOT NULL)then
   BEGIN
       HISTORICO = HISTORICO||'Reg. Incluido.';
   END

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

CREATE TRIGGER TTBREGRA_CALCULO_CUSTO_B02U FOR TBREGRA_CALCULO_CUSTO
ACTIVE BEFORE UPDATE POSITION 9
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF(OLD.FAMILIA_PRODUCAO <> NEW.FAMILIA_PRODUCAO) THEN
    BEGIN
        HISTORICO = HISTORICO||'Agrup.Fam.'||OLD.FAMILIA_PRODUCAO||'->'||NEW.FAMILIA_PRODUCAO;
    END

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

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

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

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

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

    IF(OLD.CALCULO_REBOBINAMENTO <> NEW.CALCULO_REBOBINAMENTO) THEN
    BEGIN
        HISTORICO = HISTORICO||'Calc.Rebob.'||OLD.CALCULO_REBOBINAMENTO||'->'||NEW.CALCULO_REBOBINAMENTO;
    END

    IF(OLD.CALCULO_CONFORMACAO <> NEW.CALCULO_CONFORMACAO) THEN
    BEGIN
        HISTORICO = HISTORICO||'Calc.Conf.'||OLD.CALCULO_CONFORMACAO||'->'||NEW.CALCULO_CONFORMACAO;
    END

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

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

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

    IF(OLD.REMESSAS_DEFEITO <> NEW.REMESSAS_DEFEITO) THEN
    BEGIN
        HISTORICO = HISTORICO||'Rem.Def.'||OLD.REMESSAS_DEFEITO||'->'||NEW.REMESSAS_DEFEITO;
    END

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

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

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

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

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

CREATE TRIGGER TTBREGRA_CALCULO_CUSTO_B01D FOR TBREGRA_CALCULO_CUSTO
ACTIVE BEFORE DELETE POSITION 9
AS
declare variable HISTORICO VARCHAR(500);
BEGIN
   HISTORICO = '';
   IF(OLD.ID IS NOT NULL)then
   BEGIN
       HISTORICO = HISTORICO||'Reg. Excluido.';
   END

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

