Vous êtes sur la page 1sur 2

create or replace FUNCTION FN_OBT_FECHA_TERMINO_PAGO(p_nro_socio NUMBER) RETURN

DATE IS
v_fecha_termino DATE;
BEGIN
SELECT fecha_otorga_cred +(total_cuotas_credito*30)
INTO v_fecha_termino
FROM credito_socio
WHERE nro_socio = p_nro_socio;
RETURN v_fecha_termino;
END;

create or replace FUNCTION FN_OBT_SALDO_POR_PAGAR(p_saldo_pagado NUMBER,p_mes_acno


VARCHAR2) RETURN NUMBER IS
v_monto_pagado NUMBER(8);
v_fecha VARCHAR2(7);
v_mensaje_error VARCHAR(300);

BEGIN

SELECT p_saldo_pagado - cs.monto_total_credito


INTO v_monto_pagado
FROM credito_socio cs JOIN cuota_credito_socio ccs
ON cs.nro_solic_credito = ccs.nro_solic_credito
WHERE to_char(ccs.fecha_pago_cuota,'MM/YYYY') = p_mes_acno;
RETURN v_monto_pagado ;
end;

CREATE OR REPLACE FUNCTION FN_OBT_DIAS_ATRASO(p_nro_solicitud VARCHAR2) RETURN


VARCHAR2 IS
v_dias_atraso VARCHAR2(10);
BEGIN
SELECT fecha_venc_cuota - fecha_pago_cuota
INTO v_dias_atraso
FROM cuota_credito_socio;
EXCEPTION
WHEN OTHERS THEN
RETURN 0 ;
RETURN v_dias_atraso;
END;

CREATE OR REPLACE PROCEDURE SP_PAGO_MENSUAL_CREDITO(p_mes_anno_proc VARCHAR2) IS


DECLARE
CURSOR cur_cuotas_socios IS
SELECT cs.nro_socio,s.numrun||'-'|| s.dvrun rut_socio,
s.pnombre||' '|| s.snombre||' '|| s.appaterno||' '|| s.apmaterno nombre_socio,
cs.nro_solic_credito,c.nombre_credito
,cs.monto_total_credito,cs.total_cuotas_credito,
ccs.nro_cuota,ccs.valor_cuota,ccs.fecha_venc_cuota
FROM socio s JOIN credito_socio cs
ON s.nro_socio = cs.nro_socio
JOIN credito c
ON c.cod_credito=cs.cod_credito
JOIN cuota_credito_socio ccs
ON cs.nro_solic_credito = ccs.nro_solic_credito
AND TO_CHAR(ccs.fecha_venc_cuota, 'MM/YYYY') = '05/2018'
ORDER BY ccs.fecha_venc_cuota ;
BEGIN
EXECUTE IMMEDIATE 'TRUNCATE TABLE PAGO_MENSUAL_CREDITO';
FOR reg_pagocredito IN cur_cuotas_socios LOOP
BEGIN

SP_PAGO_MENSUAL_CREDITO(SEQ_PAGO_MENSUAL_CREDITO..NEXTVAL,
p_mes_anno_proc,reg_pagocredito.nro_socio,reg_pagocredito.rut_socio,
reg_pagocredito.nombre_socio,
reg_pagocredito.nro_solic_credito, reg_pagocredito.nombre_credito,
reg_pagocredito.monto_total_Credito,
reg_pagocredito.total_cuotas_credito,
reg_pagocredito.nro_cuota,reg_pagocredito.valor_cuota,
reg_pagocredito.fecha_venc_cuota);

Vous aimerez peut-être aussi