DROP TABLE XX;
CREATE TABLE XX AS
SELECT A.COD_PROVEEDOR,A.COD_MONEDA,SUM(DECODE(B.TIP_SALDO,'C',A.MON_SALDO,-A.MON_SALDO)) SALDO
FROM CXP_ENC_MOVIMIENTO A,CXP_DOCUMENTO B
WHERE A.TIP_DOC=B.TIP_DOC
AND   A.ESTADO='A'
AND   A.COD_CIA='001'
group by a.cod_proveedor,a.cod_moneda;

declare cursor xy is
select a.cod_proveedor,a.cod_moneda,b.saldo,a.saldo saldoact
from cxp_credito a,xx b
where a.cod_proveedor=b.cod_proveedor
and   a.cod_moneda=b.cod_moneda
and   a.saldo<>b.saldo
AND   A.COD_CIA='001';
begin
  for a in xy loop
     update cxp_credito
     set saldo=a.saldo
     where cod_cia='001'
     and cod_moneda=a.cod_moneda
     and cod_proveedor=a.cod_proveedor;
  end loop;
  commit;
end;
select a.cod_proveedor,a.saldo,b.saldo
from cxp_credito a,xx b
where a.cod_proveedor=b.cod_proveedor
and   a.saldo<>b.saldo;




DROP TABLE XX;
CREATE TABLE XX AS
SELECT A.COD_CLIENTE,A.LINEA,SUM(DECODE(B.TIP_SALDO,'D',A.MON_SALDO,-A.MON_SALDO)) SALDO
FROM CXC_ENC_MOVIMIENTO A,CXC_DOCUMENTO B
WHERE A.TIP_DOC=B.TIP_DOC
AND   A.ESTADO='A'
group by a.cod_cliente,A.LINEA;


declare cursor xy is
select a.cod_cliente,a.linea,b.saldo
from cxc_credito a,xx b
where a.cod_cliente=b.cod_cliente
and   a.linea=b.linea
and   a.saldo<>b.saldo;
begin
  for a in xy loop
     update cxc_credito
     set saldo=a.saldo
     where cod_cia='001'
     and linea=a.linea
     and cod_cliente=a.cod_cliente;
  end loop;
  commit;
end;
/

declare cursor xx is 
select a.cod_cliente,a.tip_doc,a.num_doc,a.mon_saldo,b.mon_saldo saldo,a.sucursal
from cxc_enc_movimiento a,cxc_movimientotmp b
where a.cod_cia=b.cod_cia
and  a.sucursal=b.sucursal
and  a.tip_doc=b.tip_doc
and  a.num_doc=b.num_doc
and  a.mon_saldo<>b.mon_saldo
and  a.tip_doc='004';
begin
  for a in xx loop
    update cxc_enc_movimiento
    set mon_saldo=a.saldo
    where tip_doc=a.tip_doc
    and sucursal=a.sucursal
    and num_doc=a.num_doc;
    update cxc_obligacion
    set mon_saldo=a.saldo
    where tip_doc='001'
    and sucursal=a.sucursal
    and num_doc=a.num_doc;
  end loop;
end;
/