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:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| CREATE OR REPLACE PROCEDURE CREDITOPY.PR_INSERT_TCO_CUENTAS_V1(P_DOCUMENTO IN VARCHAR2,
P_TARJETA_ENCR IN VARCHAR2) IS
BEGIN
DECLARE
PO_DOCUMENTO VARCHAR2(40);
PO_TARJETA_DESEN VARCHAR2(40);
BEGIN
PO_DOCUMENTO := P_DOCUMENTO;
PO_TARJETA_DESEN:= CREDITOPY.FC_CRIPTO2PAN(P_TARJETA_ENCR);
--RECUPERAR EL CLIENTE_ID
SELECT dc.CLIENTE_ID INTO PO_DOCUMENTO
FROM DIMO_SICOOP.D_CLIENTE@SICOOP dc
WHERE dc.CI = P_DOCUMENTO;
--HACER EL INSERT
INSERT INTO DIMO_SICOOP.D_CUENTA@SICOOP
(CUENTA_ID, CLIENTE_ID, PARTICIPANTE_ID, NRO_CUENTA, TIPO_CUENTA, NRO_CONTRATO, MONEDA, ENABLED, LAST_USER, LAST_TIME, CUENTA_MADRE_FLAG, CODIGO_NOVEDAD, FAVORITO)
VALUES(DIMO_SICOOP.S_D_CUENTA.nextval@SICOOP, PO_DOCUMENTO, 1, PO_TARJETA_DESEN, 'TCO', '0', 'GUA', 1, 'administrador', SYSDATE(), 0, NULL, 0);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
PO_DOCUMENTO := 'ALGO REVIENTA';
PO_TARJETA_DESEN := SQLCODE;
END;
END PR_INSERT_TCO_CUENTAS_V1
| |||||||
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'); |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
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