Está en la página 1de 2

PROCEDURE SP_CUOTAS_AFIL(P_CIP IN CUENTACORRIENTE.NROCIP%TYPE, P_CANT IN NUMBER, IO_CURSOR OUT PKG_TIPOS.REF_CURSOR) IS V_CIP CUENTACORRIENTE.NROCIP%TYPE; V_CANT_TRAN NUMBER; V_TRAN CUENTACORRIENTE.

NROTRANSACCION%TYPE; V_NOMBRE VARCHAR(200); V_CAN_PAGO NUMBER; PROCEDURE SP_CUOTAS_AFIL(P_CIP IN CUENTACORRIENTE.NROCIP%TYPE, P_CANT IN NUMBER, IO_CURSOR OUT PKG_TIPOS.REF_CURSOR) IS V_CIP CUENTACORRIENTE.NROCIP%TYPE; V_CANT_TRAN NUMBER; V_TRAN CUENTACORRIENTE.NROTRANSACCION%TYPE; V_NOMBRE VARCHAR(200); V_CAN_PAGO NUMBER; BEGIN V_CIP := LPAD(P_CIP,6,'0'); SELECT DISTINCT DT.NROTRANSACCION, COUNT(DISTINCT DT.NROTRANSACCION), TRIM(C.PAT ERNO||' '||C.MATERNO||' '||C.NOMBRE1||' '||C.NOMBRE2) INTO V_TRAN, V_CANT_TRAN, V_NOMBRE FROM DATOSTRANSACCION DT, COLEGIADOS C, CUENTACORRIENTE CC WHERE C.NROCOLEGIATURA = V_CIP AND DT.NRORUC = C.NROLEDNI AND DT.NROTRANSACCION = CC.NROTRANSACCION AND CC.GRUPOCONCEPTO = '01' AND CC.SUBGRUPOCONCEPTO = '01' AND CC.CONCEPTO IN ('70801','70802') AND CC.ESTADO IN ('C','E') AND DT.NROCIP = '000000' GROUP BY DT.NROTRANSACCION, TRIM(C.PATERNO||' '||C.MATERNO||' '||C.NOMBRE1||' '| |C.NOMBRE2); SELECT COUNT(*) INTO V_CAN_PAGO FROM CUENTACORRIENTE CC WHERE CC.NROCIP = V_CIP AND CC.GRUPOCONCEPTO IN ('01','05') AND CC.SUBGRUPOCONCEPTO = '01' AND CC.CONCEPTO IN ('70801','70802') AND CC.ESTADO IN ('E','C'); IF V_CANT_TRAN > 0 THEN IF V_CANT_TRAN > 1 THEN OPEN IO_CURSOR FOR SELECT '0','ERROR DE MIGRACION COMUNICARSE CON INFORMATICA' FROM DUAL; RETURN; ELSE UPDATE DATOSTRANSACCION DT SET DT.NROCIP = V_CIP, DT.NOMBRE = V_NOMBRE WHERE DT.NROTRANSACCION = V_TRAN; UPDATE CUENTACORRIENTE CC SET CC.NROCIP = V_CIP WHERE CC.NROTRANSACCION = V_TRAN;

COMMIT; END IF;

--REGISTRAS PAGOS DEL CLUB COMO LO QUE HAY EN EL SACDELIMA EN NUEVOS CAMPOS D E TBL COLEGIADOS. --FIN OPEN IO_CURSOR FOR SELECT '1','SE MIGRO PAGOS DE AFILIACION CORRECTAMENTE' FROM DUAL;

END IF; END;

También podría gustarte