drop table cosentrada;
create table cosentrada as 
select a.cod_cia,a.sucursal,a.tip_movto,a.cod_movto,a.num_docto,
a.cod_bodega,a.cod_articulo,sum(a.sub_total) sub_total
from inv_detmovimiento a,inv_encabmovimiento b
where a.cod_Cia=b.cod_cia
and   a.sucursal=b.sucursal
and   a.tip_movto='E'
and   b.tip_movto='E'
and   a.cod_Movto='18'
and   b.cod_movto='18'
and   a.num_docto=b.num_docto
and   b.estado='D'
and   b.ano_fiscal=2005
and   b.per_proceso=2
group by a.cod_cia,a.sucursal,a.tip_movto,a.cod_movto,a.num_docto,
a.cod_bodega,a.cod_articulo;


select sum(a.sub_total) sub_total
from inv_detmovimiento a,inv_encabmovimiento b
where a.cod_Cia=b.cod_cia
and   a.sucursal=b.sucursal
and   a.tip_movto='E'
and   b.tip_movto='E'
and   a.cod_Movto='18'
and   b.cod_movto='18'
and   a.num_docto=b.num_docto
and   b.estado='D'
and   b.ano_fiscal=2005
and   b.per_proceso=2;


declare cursor xx is select * from cosentrada;
begin
  for a in xx loop
    update inv_detmovimiento
    set sub_total=a.sub_total*(1+(25400967.42/188653295))
    where cod_cia=a.cod_cia
    and   sucursal=a.sucursal
    and   tip_movto=a.tip_movto
    and   cod_Movto=a.cod_movto
    and   num_docto=a.num_docto
    and   cod_bodega=a.cod_bodega
    and   cod_articulo=a.cod_articulo;
  end loop;
end;
/


delete inv_acum_periodo
where cod_cia='001'
and sucursal='001'
and cod_bodega in ('004','001')
and ano_fiscal=2005
and per_proceso=2
and clase_movto<>'EI';

insert into inv_acum_periodo
(cod_cia,sucursal,cod_bodega,cod_articulo,ano_fiscal,per_proceso,
clase_movto,cantidad,monto)
select  a.cod_cia,a.sucursal,a.cod_bodega,a.cod_articulo,b.ano_fiscal,b.per_proceso,
c.clase_movto,sum(a.can_articulo) cantidad,sum(a.SUB_TOTAL) monto
from inv_detmovimiento a,inv_encabmovimiento b,inv_concepmovto c
where a.cod_cia   = b.cod_cia
and   a.sucursal  = b.sucursal
and   a.tip_movto = b.tip_movto
and   a.cod_movto = b.cod_movto
and   a.num_docto = b.num_docto
and   a.cod_cia   = c.cod_cia
and   a.tip_movto = c.tip_Movto
and   a.cod_movto = c.cod_movto
and   a.cod_bodega in ('004','001')
and   b.ano_fiscal=2005 
and   b.per_proceso=2
and   b.estado    = 'D'
group by a.cod_cia,a.sucursal,a.cod_bodega,a.cod_articulo,
b.ano_fiscal,b.per_proceso,c.clase_movto;



--------------------------------------------------------------------------
 drop table xy;
 create table xy as 
 select cod_cia,sucursal,cod_articulo,
 sum(decode(substr(clase_movto,1,1),'E',monto,-monto)) monto,
 sum(decode(substr(clase_movto,1,1),'E',cantidad,-cantidad)) cantidad
 from inv_acum_periodo
 where ano_fiscal=2005 and per_proceso=2
 and cod_bodega='004' 
 group by cod_cia,sucursal,cod_articulo;


insert into inv_detmovimiento
(cod_cia,sucursal,tip_movto,cod_movto,num_docto,cod_bodega,cod_lote,
cod_articulo,medida,doc_referen,can_articulo,can_despachada,
can_bonificada,localiza,ccosto,impuesto_vtas,sub_total,codmovto_ref)
select a.cod_Cia,a.sucursal,'E','03',9904,'004','001',
a.cod_articulo,b.medida,null,1,0,
0,null,'0',0,1,null
from xy a,inv_articulo b
where a.cod_articulo=b.cod_articulo
and  a.cantidad=0 and monto>0;


insert into inv_detmovimiento
(cod_cia,sucursal,tip_movto,cod_movto,num_docto,cod_bodega,cod_lote,
cod_articulo,medida,doc_referen,can_articulo,can_despachada,
can_bonificada,localiza,ccosto,impuesto_vtas,sub_total,codmovto_ref)
select a.cod_Cia,a.sucursal,'S','07',528,'004','001',
a.cod_articulo,b.medida,null,1,0,
0,null,'0',0,a.monto,null
from xy a,inv_articulo b
where a.cod_articulo=b.cod_articulo and a.monto>0 and a.cantidad=1;


delete inv_detmovimiento
where cod_cia='001'
and sucursal='001'
and tip_movto='S'
and cod_movto='07'
and num_docto=527;


delete inv_detmovimiento
where cod_cia='001'
and sucursal='001'
and tip_movto='E'
and cod_movto='04'
and num_docto=9904;

