ALTER TABLE TBFORMA_PAGAMENTO_SAT
ADD CONTA_RECEBER_BANCO INTEGER,
ADD CONTA_RECEBER_MODALIDADE INTEGER,
ADD CONTA_RECEBER_POSICAO INTEGER,
ADD CONTA_RECEBER_COBRANCA INTEGER;
ADD CONTA_RECEBER_OPERACAO INTEGER;

CREATE TRIGGER TTBFORMA_PAGAMENTO_SAT_B02I FOR TBFORMA_PAGAMENTO_SAT
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('TBFORMA_PAGAMENTO_SAT',NEW.ID, HISTORICO);
    END
end;

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

    HISTORICO = '';

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

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

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

    IF ( OLD.ID_NFE <> NEW.ID_NFE) THEN
    BEGIN
        HISTORICO = HISTORICO||',ID da NFE:'|| OLD.ID_NFE||'->'||NEW.ID_NFE;
    END

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

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

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

    IF ( OLD.PAGAMENTO_FORMA_ID <> NEW.PAGAMENTO_FORMA_ID) THEN
    BEGIN
        HISTORICO = HISTORICO||',Forma de Pagamento:'|| OLD.PAGAMENTO_FORMA_ID||'->'||NEW.PAGAMENTO_FORMA_ID;
    END

    IF ( OLD.CONTA_RECEBER_BANCO <> NEW.CONTA_RECEBER_BANCO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Agencia bancaria:'|| OLD.CONTA_RECEBER_BANCO||'->'||NEW.CONTA_RECEBER_BANCO;
    END

    IF ( OLD.CONTA_RECEBER_MODALIDADE <> NEW.CONTA_RECEBER_MODALIDADE) THEN
    BEGIN
        HISTORICO = HISTORICO||',Forma de Modalidade:'|| OLD.CONTA_RECEBER_MODALIDADE||'->'||NEW.CONTA_RECEBER_MODALIDADE;
    END

    IF ( OLD.CONTA_RECEBER_POSICAO <> NEW.CONTA_RECEBER_POSICAO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Forma de Recebimento:'|| OLD.CONTA_RECEBER_POSICAO||'->'||NEW.CONTA_RECEBER_POSICAO;
    END

    IF ( OLD.CONTA_RECEBER_COBRANCA <> NEW.CONTA_RECEBER_COBRANCA) THEN
    BEGIN
        HISTORICO = HISTORICO||',Forma de Cobranca:'|| OLD.CONTA_RECEBER_COBRANCA||'->'||NEW.CONTA_RECEBER_COBRANCA;
    END

    IF ( OLD.CONTA_RECEBER_OPERACAO <> NEW.CONTA_RECEBER_OPERACAO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Forma de Operacao:'|| OLD.CONTA_RECEBER_OPERACAO||'->'||NEW.CONTA_RECEBER_OPERACAO;
    END

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

CREATE TRIGGER TTBFORMA_PAGAMENTO_SAT_B01D FOR TBFORMA_PAGAMENTO_SAT
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('TBFORMA_PAGAMENTO_SAT',old.ID, HISTORICO);
    END
end;





