Duplicidad
Saludos
Tengo un código donde se realizan unos embargos y tengo un inconveniente muy delicado que es la duplicidad, lo he revisado varias veces pero no veo el error, agradecería toda la orientación posible para corregirla.
PROCEDURE embargos IS
embargos NUMBER:=0;
–porcentaje NUMBER:=0;
–bene_orig NUMBER;
–desc_orig VARCHAR2(60);
w_emba_oficio NUMBER:=0;
— ** Saldo del embargo sin cancelar ** —
–BEGIN
BEGIN
SELECT emba_valor-NVL(SUM(mvem_valor),0),emba_oficio /* CarlosQ */
INTO :w_salembargo,w_emba_oficio
FROM cxp.te_tmvemb,cxp.te_tembargo
WHERE mvem_auxi(+) = emba_auxi
AND mvem_juzgado(+) = emba_juzgado
AND mvem_tpju(+) = emba_tpju
AND mvem_ciud(+) = emba_ciud
AND mvem_oficio(+) = emba_oficio
AND emba_auxi = :w_auxiembargo
AND emba_benefi = (SELECT DISTINCT emba_benefi
FROM cxp.te_tembargo e
WHERE e.emba_auxi = :w_auxiembargo
AND emba_status<>‘C’
AND e.emba_feccre=(SELECT min(emba_feccre)
FROM cxp.te_tembargo
WHERE emba_auxi = :w_auxiembargo
AND emba_status<>‘C’ ))
AND emba_status<>‘C’
/* CarlosQ */
AND emba_feccre=(SELECT min(emba_feccre)
FROM cxp.te_tembargo
WHERE emba_auxi = :w_auxiembargo
AND emba_status<>‘C’ )
/* CarlosQ */
GROUP BY emba_valor,emba_oficio, emba_auxi, emba_porcentaje;
IF :w_salembargo <> 0 THEN
— IF :w_salembargo >= :w_valororpa THEN
message(‘SALDO EMBARGO: ‘||TO_CHAR(:w_salembargo,’$999,999,999,999.90’)||chr(13)||’EMBARGO OFICIO: ‘||TO_CHAR(w_emba_oficio) );
— message(‘SALDO EMBARGO: ‘||TO_CHAR(:w_salembargo,’$999,999,999,999.90’));
— :w_mvte_valor:=:w_valororpa;
— :w_saldobene:=:w_salembargo-:w_valororpa;
— ELSE
— message(‘SALDO DE EMBARGO’||TO_CHAR(:w_salembargo,’$999,999,999,999.90′)||’ menor AL PAGO’||TO_CHAR(:w_valororpa,’$999,999,999,999.90′));
— :w_mvte_valor:=:w_salembargo;
–trae_val_orig;
— :w_saldobene:=:w_salembargo-:w_valororpa;
END IF;
–ELSE
— :mvte_benefi:=:mvte_auxi;
–:w_mvte_valor:=:w_saldobene;
— :w_mvte_valor:=:w_neto;
–END IF;
EXCEPTION WHEN no_data_found THEN null;
— :w_salembargo:=embargos;
END;
–END;
Gracias.