DimoSecurity BBDD- v1.0.0.0
Autor | Manuel Baez |
Fecha |
|
Estado |
|
Ambiente |
|
REGISTRO DE CAMBIOS
- CREAR UN PKG EN PROD.
OBJETOS AFECTADOS
BBDD BAPY@CREDITOPY (10.5.3.5:1521)
PRE-REQUISITOS
IMPLEMENTACION
- EJECUTAR EN LA BBDD DE BAPY@CREDITOPY (10.5.3.5:1521) EL SGTE QUERY:
INSERT PARA LAS VALIDACIONES
INSERT INTO CREDITOPY.API_CEIBO_PROCEDURES (ID_API_SP, CATEGORIA, DESCRIPCION, API_PATH_GROUP, API_PATH_VERSION, API_PATH_NAME, PROCEDURE_DATABASE, PROCEDURE_SCHEMA, PROCEDURE_NAME, SIMPLIFICAR_RESPONSE_S_N, FECHA_HORA_INS, USUARIO_INS, FECHA_HORA_UPD, USUARIO_UPD) VALUES(96, 'DIMO SECURITY', 'Obetner datos para validar datos de tarjetas', 'security', 'v1', 'validarPersona', 'BAPY', 'creditopy', 'PKG_DIMO_SECURITY.PR_VALIDAR_TOKEN_TARJ', 'S', SYSDATE , 'MBAEZ', SYSDATE, 'MBAEZ'); INSERT INTO CREDITOPY.API_CEIBO_PROCEDURES_PRMS_IN (ID_API_SP, NRO_ORDEN, PARAM_NAME, TIPO_DATO, REQUERIDO_API_S_N, NULABLE_S_N, DEFAULT_VALUE) VALUES(96, 1, 'P_NUM_TARJ', 'NUMERO', 'S', 'N', NULL); INSERT INTO CREDITOPY.API_CEIBO_PROCEDURES_PRMS_OUT (ID_API_SP, NRO_ORDEN, PARAM_NAME, TIPO_DATO, RETORNAR_API_S_N) VALUES(96, 1, 'P_AFINIDAD', 'NUMERO', 'S'); INSERT INTO CREDITOPY.API_CEIBO_PROCEDURES_PRMS_OUT (ID_API_SP, NRO_ORDEN, PARAM_NAME, TIPO_DATO, RETORNAR_API_S_N) VALUES(96, 2, 'P_EMISOR', 'NUMERO', 'S'); INSERT INTO CREDITOPY.API_CEIBO_PROCEDURES_PRMS_OUT (ID_API_SP, NRO_ORDEN, PARAM_NAME, TIPO_DATO, RETORNAR_API_S_N) VALUES(96, 3, 'P_VINCULADO', 'NUMERO', 'S'); INSERT INTO CREDITOPY.API_CEIBO_PROCEDURES_PRMS_OUT (ID_API_SP, NRO_ORDEN, PARAM_NAME, TIPO_DATO, RETORNAR_API_S_N) VALUES(96, 4, 'P_DOCUMENTO', 'TEXTO', 'S'); INSERT INTO CREDITOPY.API_CEIBO_PROCEDURES_PRMS_OUT (ID_API_SP, NRO_ORDEN, PARAM_NAME, TIPO_DATO, RETORNAR_API_S_N) VALUES(96, 5, 'P_VINC_DESC', 'TEXTO', 'S');
CREAR EL PAQUETE
CREATE OR REPLACE PACKAGE PKG_DIMO_SECURITY IS PROCEDURE PR_VALIDAR_TOKEN_TARJ ( P_NUM_TARJ IN NUMBER, P_AFINIDAD OUT NUMBER, P_EMISOR OUT NUMBER, P_VINCULADO OUT NUMBER, P_DOCUMENTO OUT VARCHAR2, P_VINC_DESC OUT VARCHAR2 ); END PKG_DIMO_SECURITY; CREATE OR REPLACE PACKAGE BODY PKG_DIMO_SECURITY IS PROCEDURE PR_VALIDAR_TOKEN_TARJ ( P_NUM_TARJ IN NUMBER, P_AFINIDAD OUT NUMBER, P_EMISOR OUT NUMBER, P_VINCULADO OUT NUMBER, P_DOCUMENTO OUT VARCHAR2, P_VINC_DESC OUT VARCHAR2 ) IS V_VALIDAR NUMBER; P_TARJ_ENCRI VARCHAR2(100); -- Declarar la variable que faltaba BEGIN SELECT CREDITOPY.FC_PAN2CRIPTO(P_NUM_TARJ) INTO P_TARJ_ENCRI FROM DUAL; -- Primera consulta corregida (remover la coma antes de INTO) SELECT T.EMISOR, T.DOCUMENTO, T.GRUPO_AFINIDAD INTO P_EMISOR, P_DOCUMENTO, P_AFINIDAD FROM CREDITOPY.TARJETAS T WHERE T.TARJETA = P_TARJ_ENCRI; P_DOCUMENTO := TO_CHAR(TO_NUMBER(SUBSTR(P_DOCUMENTO, 4))); BEGIN -- Tercera consulta SELECT ESTADO INTO V_VALIDAR FROM CREDITOPY.DIMO_TC_VINC_PROCESO dtvp WHERE dtvp.DOCUMENTO = P_DOCUMENTO AND dtvp.TARJETA = P_TARJ_ENCRI AND ROWNUM = 1 ORDER BY dtvp.fecha_hora_ins DESC; EXCEPTION WHEN NO_DATA_FOUND THEN V_VALIDAR := 3; -- Si no se encuentra ninguna fila, asigna el valor 3 END; -- Estructura condicional IF en lugar de CASE CASE V_VALIDAR WHEN 0 THEN P_VINCULADO := 0; P_VINC_DESC := 'EL USUARIO NO COMPLETO EL INTENTO'; WHEN 1 THEN P_VINCULADO := 1; P_VINC_DESC := 'EL USUARIO VINCULO CORRECTAMENTE'; WHEN 2 THEN P_VINCULADO := 0; P_VINC_DESC := 'EL USUARIO FALLO EN RESPONDER LAS PREGUNTAS DE SEGURIDAD'; ELSE P_VINCULADO := 0; P_VINC_DESC := 'EL USUARIO AUN NO INTENTO VINCULAR'; END CASE; END PR_VALIDAR_TOKEN_TARJ; END PKG_DIMO_SECURITY;
ROLLBACK
- NO POSEE ROLLBACK