Page tree
Skip to end of metadata
Go to start of metadata

DimoSecurity  BBDD- v1.0.0.0

AutorManuel Baez
Fecha

 

Estado
  • PENDIENTE
  • IMPLEMENTADO
Ambiente
  • PRE-PRODUCCION
  • PRODUCCION

REGISTRO DE CAMBIOS

  1. CREAR UN PKG EN PROD.

OBJETOS AFECTADOS

  1. BBDD BAPY@CREDITOPY (10.5.3.5:1521)

PRE-REQUISITOS

IMPLEMENTACION

  1. 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

  1. NO POSEE ROLLBACK



  • No labels