ALTER TABLE TBCAIXABANCO_LANCAMENTO_REG
    ADD COMPROVANTE VARCHAR(50);

/****************************************************************************************/
/****************************************************************************************/

SET TERM ^ ;

CREATE OR ALTER trigger ttbcaixabanco_lanc_reg_b03u for tbcaixabanco_lancamento_reg
active before update position 9
AS
DECLARE VARIABLE HISTORICO VARCHAR(5000);
BEGIN

    HISTORICO = '';

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

    IF(OLD.CAIXABANCO_CONTROLE <> NEW.CAIXABANCO_CONTROLE) THEN
    BEGIN
        HISTORICO = HISTORICO||' LANC.ID:'||OLD.CAIXABANCO_CONTROLE||'->'||NEW.CAIXABANCO_CONTROLE;
    END

    IF(OLD.DATA <> NEW.DATA) THEN
    BEGIN
        HISTORICO = HISTORICO||' DT.VENC:'||OLD.DATA||'->'||NEW.DATA;
    END

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

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

    IF(OLD.NFE_PARCELAMENTO_CONTROLE <> NEW.NFE_PARCELAMENTO_CONTROLE) THEN
    BEGIN
        HISTORICO = HISTORICO||' NFE.PARC.CTRL:'||OLD.NFE_PARCELAMENTO_CONTROLE||'->'||NEW.NFE_PARCELAMENTO_CONTROLE;
    END 

    IF(OLD.NFS_PARCELAMENTO_CONTROLE <> NEW.NFS_PARCELAMENTO_CONTROLE) THEN
    BEGIN
        HISTORICO = HISTORICO||' NFS.PARC.CTRL:'||OLD.NFS_PARCELAMENTO_CONTROLE||'->'||NEW.NFS_PARCELAMENTO_CONTROLE;
    END 

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

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

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

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

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

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

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

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

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

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

    IF(OLD.NFE_CONTROLE <> NEW.NFE_CONTROLE) THEN
    BEGIN
        HISTORICO = HISTORICO||' NFE.CTRL:'||OLD.NFE_CONTROLE||'->'||NEW.NFE_CONTROLE;
    END

    IF(OLD.NFS_CONTROLE <> NEW.NFS_CONTROLE) THEN
    BEGIN
        HISTORICO = HISTORICO||' NFS.CTRL:'||OLD.NFS_CONTROLE||'->'||NEW.NFS_CONTROLE;
    END

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

    IF(OLD.MOVCONTABIL_ID <> NEW.MOVCONTABIL_ID) THEN
    BEGIN
        HISTORICO = HISTORICO||' MOV.CONT.ID:'||OLD.MOVCONTABIL_ID||'->'||NEW.MOVCONTABIL_ID;
    END

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

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

    IF (HISTORICO <> '') THEN
    BEGIN
         HISTORICO = 'LANC.ID:'||OLD.CONTROLE||' DT.'||FN_DATE_TO_STRING(OLD.DATA)||' DOC.'||OLD.DOCUMENTO_NUMERO||' SER.'||OLD.SERIE||' PARC.'||OLD.PARCELA||' ALTERADA.'||HISTORICO;
         IF(OLD.CAIXABANCO_CONTROLE > 0) THEN
         BEGIN
            EXECUTE PROCEDURE SPI_HISTORICO('TBCAIXABANCO_LANCAMENTO', OLD.CAIXABANCO_CONTROLE, FN_ELIPSES(HISTORICO,500));
         END
         IF(OLD.CAIXABANCO_CONTROLE = 0 AND OLD.NFS_PARCELAMENTO_CONTROLE > 0) THEN
         begin
            EXECUTE PROCEDURE SPI_HISTORICO('TBNFS_PARCELAMENTO', OLD.NFS_PARCELAMENTO_CONTROLE, FN_ELIPSES(HISTORICO,500));
         END
         IF(OLD.CAIXABANCO_CONTROLE = 0 AND OLD.NFE_PARCELAMENTO_CONTROLE > 0) THEN
         begin
            EXECUTE PROCEDURE SPI_HISTORICO('TBNFE_PARCELAMENTO', OLD.NFE_PARCELAMENTO_CONTROLE, FN_ELIPSES(HISTORICO,500));
         END
    END
END
^

SET TERM ; ^

