Está en la página 1de 2

IF @A�O=> 2 AND @A�O=<9 0.

04
IF @A�O=< 10 AND @A�O=<12 0.06
IF @A�O=< 13 AND @A�O=<17 0.07
IF @A�O> 17 AND @A�O=<30 0.10

IF (@A�O>= 2) AND (@A�O<=9)-- 0.04)


SELECT @RUT Rut,@SUELDO Sueldo,@MOVI Movicilacion,
@A�O A�O1
ELSE
IF @A�O>= 10 AND @A�O<=12-- 0.06
SELECT @RUT Rut,@SUELDO Sueldo,@MOVI
Movicilacion, @A�O A�O2
ELSE
IF @A�O>= 13 AND @A�O<=17-- 0.07
SELECT @RUT Rut,@SUELDO Sueldo,@MOVI
Movicilacion, @A�O A�O3
ELSE
IF @A�O> 17 AND @A�O<=30-- 0.10
SELECT @RUT Rut,@SUELDO Sueldo,@MOVI
Movicilacion, @A�O A�O4
end

DECLARE C_ASIGNACION CURSOR FOR SELECT


sec_annos_contratado,annos_inferior,annos_superior,porc_bonif FROM
PORC_BONIF_ANNOS_CONTRATO
DECLARE @SEC_AN NUMERIC
DECLARE @AN_IN NUMERIC
DECLARE @AN_SU NUMERIC
DECLARE @POR_BO NUMERIC
BEGIN
OPEN C_ASIGNACION
FETCH NEXT FROM C_ASIGNACION INTO
@SEC_AN,@AN_IN,@AN_SU,@POR_BO
WHILE @@FETCH_STATUS = 0

BEGIN
IF @A�O>= @AN_IN AND @A�O<=@AN_SU
SELECT @VALOR_ASGN_AN = (@SUELDO * @POR_BO)/100

SELECT @MOVI Movilizacion,@COL Colacion, @CAR_F


Carga_Familiar,@VALOR_ASGN_AN Asignacion, @A�O a�o

FETCH NEXT FROM CUR_MOV INTO


@SEC_AN,@AN_IN,@AN_SU,@POR_BO
END

CLOSE C_ASIGNACION
DEALLOCATE C_ASIGNACION
END

SELECT @MOVI =(@SUELDO * 9.7)/100,@COL =(@SUELDO *


8.5)/100,@CAR_F =(@SUELDO * 1.2)/100
DECLARE C_ASIGNACION CURSOR FOR SELECT sec_annos_contratado
FROM PORC_BONIF_ANNOS_CONTRATO
DECLARE @SEC_AN NUMERIC
DECLARE @AN_IN NUMERIC
DECLARE @AN_SU NUMERIC
DECLARE @POR_BO NUMERIC(3,2)
DECLARE @VALOR_ASGN_AN NUMERIC
BEGIN
OPEN C_ASIGNACION
FETCH NEXT FROM C_ASIGNACION INTO @SEC_AN
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @AN_IN=
annos_inferior ,@AN_SU=annos_superior,@POR_BO=
porc_bonif,@A�O=annos_emp,@SUELDO=sueldo_base_emp FROM
PORC_BONIF_ANNOS_CONTRATO,empleado
IF @A�O>= @AN_IN AND @A�O<=@AN_SU
SELECT @VALOR_ASGN_AN = (@SUELDO * @POR_BO)/100

FETCH NEXT FROM C_ASIGNACION


INTO @SEC_AN

END
SELECT @SEC_AN,@A�O,@VALOR_ASGN_AN,@SUELDO,@POR_BO

CLOSE C_ASIGNACION
DEALLOCATE C_ASIGNACION

--

END

También podría gustarte