CREATE OR ALTER TRIGGER TTBNFS_PARCELAMENTO_B01U FOR TBNFS_PARCELAMENTO
ACTIVE BEFORE UPDATE POSITION 0
AS
DECLARE VARIABLE CHEQUE VARCHAR(500);
DECLARE VARIABLE CHEQUE_ITEM INTEGER;
BEGIN
    
    CHEQUE = COALESCE((SELECT FIRST 1 FN_LPAD(B.ID, 4, '0')||' - '||B.NUMERO_CHEQUE FROM TBCHEQUE_ITEM A INNER JOIN TBCHEQUE B ON B.ID = A.CHEQUE_ID WHERE A.DOCUMENTO_ID = OLD.CONTROLE), '');
    CHEQUE_ITEM = COALESCE((SELECT FIRST 1 A.ID FROM TBCHEQUE_ITEM A WHERE A.DOCUMENTO_ID = OLD.CONTROLE), 0);

    IF((OLD.ESTABELECIMENTO_CODIGO <> NEW.ESTABELECIMENTO_CODIGO) OR (OLD.EMPRESA_CODIGO <> NEW.EMPRESA_CODIGO) OR (OLD.NUMERO_NOTAFISCAL <> NEW.NUMERO_NOTAFISCAL) OR (OLD.SERIE <> NEW.SERIE) /*OR (OLD.PAGAMENTO_FORMA <> NEW.PAGAMENTO_FORMA)*/OR (OLD.NFS_CONTROLE <> NEW.NFS_CONTROLE))THEN
    BEGIN
        IF(CHEQUE_ITEM > 0)THEN
        BEGIN
            exception "..." 'PARCELA: '||FN_LPAD(OLD.CONTROLE, 7, '0')||' VINCULADA AO CHEQUE: '||CHEQUE||', ALTERAÇÃO NÃO AUTORIZADA!';
        END           
    END
END;

CREATE INDEX ITBCONCILIACAO_CARTAO_05
ON TBCONCILIACAO_CARTAO (DATA_VENDA);

CREATE INDEX ITBCONCILIACAO_CARTAO_06
ON TBCONCILIACAO_CARTAO (ADQUIRENTE_ID);