drop table xx;
create table xx  as
select cod_articulo,round( ((precio_unitario/costo)-1)*100,4) utilidad
from fac_det_precios
where costo>0 and precio_unitario>0;

declare cursor xy is select * from xx where utilidad<1000;
begin
  for a in xy loop
     update fac_det_precios
     set porc_utilidad=a.utilidad
     where cod_cia='001'
     and   cod_lista_precio='001'
     and   cod_articulo=a.cod_articulo;
  end loop;
end;


declare cursor xx is select * from inv_artic_bodega;
begin
  for a in xx loop
     update fac_det_precios
     set costo=a.cos_promedio
     where cod_cia='001'
     and   cod_lista_precio='001'
     and   cod_articulo=a.cod_articulo;
  end loop;
end;



       SELECT  cod_bodega,sucursal,cod_articulo,
           sum(decode(substr(clase_movto,1,1),'E',cantidad,-Cantidad)) Cantidad,
           sum(decode(substr(clase_movto,1,1),'E',monto,-monto)) monto
        FROM Inv_Acum_periodo A
        WHERE A.Cod_Cia      = '001'    AND
              A.sucursal     = '001'    AND
              A.cod_bodega   = '001'    and
              A.Ano_Fiscal   = 2003     AND
              A.Per_Proceso  = 12       and
              A.cod_articulo='425172'
        group by cod_bodega,sucursal,cod_articulo;                



declare cursor xx is select * from com_det_factura;
begin
  for a in xx loop
     update predetlista
     set costo=a.subtotal_cif/a.cantidad
     where cod_cia = a.cod_Cia
     and   cod_lista_precio='001'
     and   cod_articulo=a.cod_articulo;
  end loop;
end;
/


declare cursor xx is select * from predetlista;
vprecio predetlista.precio_unitario%type;
begin
  for a in xx loop
     if a.documento is not null and a.costo>0 then
       vprecio:= a.Precio_unitario/1.13;
       update predetlista
       set porc_utilidad=100*(vprecio/costo-1)
       where cod_cia = a.cod_Cia
       and   cod_lista_precio='001'
       and   cod_articulo=a.cod_articulo;
     end if;
  end loop;
end;
/      