create or replace view Vlibmensu_pend as
	select g.cia,g.sucursal,g.curso,m.carne,m.documento,m.grupo,m.fecha,m.pagohasta,m.monto
 	from libgrupo g,libmensualidad m
 	where g.cia='001' 
 	and g.grupo=m.grupo
 	and m.cia=g.cia
 	and m.estado='P';

create or replace view Vlibfactura as
	select cia,sucursal,documento,caja,carne,nombre,moneda,tipocambio,
	       cambiobase,fecha,fecha_aplic,TotalesFact(cia,sucursal,documento,'I') as impuesto,
	       TotalesFact(cia,sucursal,documento,'D') as descuento,
	       TotalesFact(cia,sucursal,documento,'T') as total,
	       vuelto,estado
 	from libfactura;

CREATE OR REPLACE 
FUNCTION TOTALESFACT(pcia IN VARCHAR2,psuc IN VARCHAR2,
               			       pdoc IN NUMBER,ptipo IN VARCHAR2) RETURN NUMBER IS
	v_total	 libdetfactura.totallinea%TYPE;													 
BEGIN
  select decode(ptipo,'D',sum(descuento),'I',sum(impuesto),'T',sum(totallinea)) 
  into v_total
  from libdetfactura
  where cia=pcia
  	and sucursal=psuc
  	and documento=pdoc;
  return v_total;
END;
/


create table libImpAnuFac(cia char(3), sucursal char(3), factura number(10));
