You are on page 1of 4

Integrantes:

Benavides Chiln Cesar Alfonso


081566-k
Tuoque Galvez Abigail Lucero
082231-b
------------------------------------------------------------------------------------------------------------------------Asignacion Familiar-----------------------------------------------create proc j43
as
declare curA43 cursor for
select p.codigo_per,p.asigfamiliar_per from personal p
open curA43
declare @cper char(8),@monto numeric(9,2)
fetch next from curA43 into @cper, @monto
while(@@fetch_status=0)
begin
insert into detalleplanilla(codigo_plla,codigo_per,codigo_cplla,mon
to) values('3',@cper,'43',@monto)
fetch next from curA43 into @cper, @monto
end
close curA43
deallocate curA43
go
exec j43
-------------------------------------------------------------------------------------------------------------------------------------Aporte fondo AFP---------------------------------------------------------------create proc j10
as
declare curA10 cursor for
select p.codigo_per,(p.salariobasico_per*(porcentaje_aporte_afp/100)) from pe
rsonal p
inner join afp a on a.codigo_afp=p.codigo_afp
open curA10
declare @cper char(8),@monto numeric(9,2)
fetch next from curA10 into @cper, @monto
while(@@fetch_status=0)
begin
if @monto is null set @monto=0
insert into detalleplanilla(codigo_plla,codigo_per,codigo_cplla,mon
to) values('3',@cper,'10',@monto)
fetch next from curA10 into @cper, @monto
end
close curA10
deallocate curA10
go
exec j10
----------------------------------------------------------------------------------------------------------------------------------------Seguro AFP---------------------------------------------------------------------------create proc j11
as
declare curA11 cursor for
select p.codigo_per,(p.salariobasico_per*(porcentaje_seguro_afp/100)) from pe
rsonal p

inner join afp a on a.codigo_afp=p.codigo_afp


open curA11
declare @cper char(8),@monto numeric(9,2)
fetch next from curA11 into @cper, @monto
while(@@fetch_status=0)
begin
if @monto is null set @monto=0
insert into detalleplanilla(codigo_plla,codigo_per,codigo_cplla,mon
to) values('3',@cper,'11',@monto)
fetch next from curA11 into @cper, @monto
end
close curA11
deallocate curA11
go
exec j11
----------------------------------------------------------------------------------------------------------------------------------------------Comisin AFP---------------------------------------------------------------------------create proc j12
as
declare curA12 cursor for
select p.codigo_per,(p.salariobasico_per*(porcentaje_comision_afp/100)) from
personal p
inner join afp a on a.codigo_afp=p.codigo_afp
open curA12
declare @cper char(8),@monto numeric(9,2)
fetch next from curA12 into @cper, @monto
while(@@fetch_status=0)
begin
if @monto is null set @monto=0
insert into detalleplanilla(codigo_plla,codigo_per,codigo_cplla,mon
to) values('3',@cper,'12',@monto)
fetch next from curA12 into @cper, @monto
end
close curA12
deallocate curA12
go
exec j12
---------------------------------------------------------------------------------------------------------------------create proc Cursor8
as
declare curEmp cursor for
select distinct a.codigo_per,rtrim(apellidopat_per)+' '+rtrim(apellidoma
t_per)+' '+rtrim(nombres_per) as empleado,datename(mm,p.fechafin_plla),year(p.fe
chafin_plla) from personal a
inner join detalleplanilla dp on dp.codigo_per=a.codigo_per
inner join planilla p on p.codigo_plla=dp.codigo_plla
where p.codigo_plla=3
open curEmp
declare @idem char(9), @empleado varchar(40),@mes varchar(20),@ao int
fetch next from curEmp into @idem, @empleado,@mes,@ao
while(@@fetch_status=0)
begin
print SPACE(15)+'BOLETA DE PAGO'

print ' '


print 'Empleado: '+@empleado+space(35-len(@empleado))+'Periodo: '+@mes+s
pace(7-len(@mes))+cast(@ao as char(5))
print space(45) +'Fecha impresin'+ convert(char(10),getdate(),103)
print ' '
--inicio2curso--declare ingresos cursor for
select cp.descripcion_cplla,dp.monto from conceptosplanilla cp
inner join detalleplanilla dp on dp.codigo_cplla=cp.codigo_cplla
inner join personal p on p.codigo_per=dp.codigo_per
where p.codigo_per=@idem and tipo_cplla='I'
open ingresos
declare @ingre varchar(40), @monto numeric(9,2)
declare @total numeric(9,2)
set @total=0
fetch next from ingresos into @ingre,@monto
while(@@fetch_status=0)
begin
set @total=@total+@monto--Acumulador total anual
print space(5)+@ingre+space(40-len(@ingre))+cast(@monto as char(
8))
fetch next from ingresos into @ingre,@monto
end
print space(43)+replicate('-',10)
print space(5)+'TOTAL ingresos
'+cast(@total as
char(8))
print ' '
print ' '
close ingresos
deallocate ingresos
--fin2 cursor-declare egresos cursor for
select cp.descripcion_cplla,dp.monto from conceptosplanilla cp
inner join detalleplanilla dp on dp.codigo_cplla=cp.codigo_cplla
inner join personal p on p.codigo_per=dp.codigo_per
where p.codigo_per=@idem and tipo_cplla='E'
open egresos
declare @egre varchar(40), @monto1 numeric(9,2)
declare @total1 numeric(9,2)
set @total1=0
fetch next from egresos into @egre,@monto1
while(@@fetch_status=0)
begin
set @total1=@total1+@monto1--Acumulador total anual
print space(5)+@egre+space(40-len(@egre))+cast(@monto1 as char(8
))
fetch next from egresos into @egre,@monto1
end
print space(43)+replicate('-',10)
print space(5)+'TOTAL Egresos
'+cast(@total1 a
s char(8))
print ' '
close egresos
deallocate egresos
------suma total--declare @total3 numeric(9,2)
set @total3=sum(cast(@total as numeric(9,2))-cast(@total1 as numeric(9,2)))
print space(5)+'Neto a pagar: '+cast(@total3 as char(8))
print ' '

------fin------------fetch next from curEmp into @idem, @empleado,@mes,@ao


end
close curEmp
deallocate curEmp
go
exec Cursor8

You might also like