A continuación, en este documento citaremos los pasos necesarios a llevar a cabo para dar de alta una entidad emisora de tarjetas de crédito.

Declaración de cabecera y cierre del script completo

Dentro de la declaración de cabecera se declaran las variables a las cuales se le asignan los valores que se encuentran en el documento xlsx de alta de entidad provisto por los compañeros de entidades u operaciones, el cual menciona los valor a ser utilizados por la entidad para los parámetros de sus tarjetas de credito.

declare
  pi_emisor number;
  pi_descripcion VARCHAR2(100);
  pi_ruc_emisor  VARCHAR2(16);
  pi_direccion   VARCHAR2(100);
  pi_telefono    VARCHAR2(100);
  pi_contacto    VARCHAR2(100);
  pi_email_contacto VARCHAR2(100);
  pi_debcta_s_n CHAR(1);
  pi_seguro_vida_s_n CHAR(1);
  pi_calc_impuesto_s_n CHAR(1);
  pi_tasa_int_punit NUMBER;
  pi_cuotas_financi_s_n CHAR(1);
  pi_calculo_interes_s_n CHAR(1);
  pi_decaimeinto_compulsi_s_n CHAR(1);
  pi_apli_comis_mora_s_n CHAR(1);
  pi_apli_comis_combus_s_n CHAR(1);
  pi_apli_comis_super_s_n CHAR(1);
  pi_apli_comis_adelefect_s_n CHAR(1);
  pi_apli_comis_exceso_s_n CHAR(1);
  pi_apli_entrega_extracto_s_n CHAR(1);
  pi_apli_compra_ext_s_n CHAR(1);
  pi_valida_mora_debaut_s_n CHAR(1);
  pi_dias_perm_mora_debaut NUMBER;
  pi_debita_cta_comercio_s_n CHAR(1);
  pi_afinidad number := 0;
  pi_cartera number  := 0;
  pi_tasa_interes_corriente number;
  pi_tasa_plan_normal number;
  pi_tasa_interes_moratorio number;
  pi_tasa_interes_punitorio number;
  pi_comision_ATM NUMBER;
  pi_comision_Ventanilla NUMBER;
  pi_aplica_s_n CHAR(1);
  pi_monto_cargo number;
  pi_cantidad_TRX_ATM NUMBER;
  pi_cantidad number;
  pi_aplica_seguro_fraude_s_n CHAR(1);
  pi_aplica_seguro_vida_s_n CHAR(1);
  pi_aplica_costo_emision NUMBER;
  pi_montocostoemi_titu NUMBER;
  pi_montocostoemi_adic NUMBER;
  pi_cantcuotas_emision number;
  pi_financiar_costorenov_s_n CHAR(1);
  pi_cargo_anual_titular   number;
  pi_cargo_anual_adicional number;
  po_retorno varchar2(512);
  pi_aplica_costo_renovacion NUMBER;--1-AL GENERAR/2-AL ACTIVAR/0-NO APLICA
  pi_montocostorenov_titu number;
  pi_montocostorenov_adic number;
  pi_cant_cuotas_renovacion number;
  pi_financiar_costo_renov_s_n CHAR(1);
  pi_porcentaje_pm number;
  pi_importe_monto_pm number;
  pi_aplica_comision_x_mora CHAR(1);
  pi_aplica_cargo_x_exceso_s_n CHAR(1);
  pi_aplica_cargo_com_exte_s_n CHAR(1);
  pi_monto_cargo_com_exterior number;
  pi_dias_mora_inhabilitar number;
  pi_saldo_mora_inhabilitar number;
  pi_dias_mora_bloq_auto    number;
  pi_saldo_mora_bloq_auto number;
  pi_cargo_mora_inhabilitar number;
  pi_porcen_cargo_excesolc number;
  pi_usuario varchar2(8):= 'CEIBO';
  vc_bandera varchar2(512);
  VC_PROMOTOR varchar2(20);
  VC_BIN VARCHAR2(16);
  VC_BIN_CRIPTO VARCHAR2(16);
  VC_BIN_EMISOR VARCHAR2(20);
  VN_BIN_ID NUMBER(8);
  vc_sftp_entidad varchar2(20);
  vn_id_admin number;
  vn_lc_minima number;
  vn_lc_maximo number;
  vc_linea_unificada char(1);
  vc_descuenta_cuota char(1);
begin 
  pi_emisor :=125;
  VC_PROMOTOR :='COOP. REDUCTO LTDA.';
  VC_BIN      := '604394';
  VC_BIN_EMISOR := 'COOP. REDUCTO LTDA.';
  VN_BIN_ID     := 201;
  vc_sftp_entidad := 'COOP. REDUCTO LTDA.';
  vn_lc_minima := 500000;
  vn_lc_maximo := 50000000;
  vc_linea_unificada :='1';
  vc_descuenta_cuota := '0';
  pi_descripcion:='COOP. REDUCTO LTDA.';
  pi_ruc_emisor:='80018850-0';
  pi_direccion:='AV. LA VICTORIA C/ JUAN PABLO II';
  pi_telefono:='21595000';
  pi_contacto:='MG. ANGELA MARTINEZ';
  pi_email_contacto:='amartinez@coopreducto.coop.py';
  pi_debcta_s_n:='N';
  pi_seguro_vida_s_n:='S';
  pi_calc_impuesto_s_n:='N';
  pi_tasa_int_punit:=30;
  pi_cuotas_financi_s_n:='N';
  pi_calculo_interes_s_n:='S';
  pi_decaimeinto_compulsi_s_n:='N';
  pi_apli_comis_mora_s_n:='S';
  pi_apli_comis_combus_s_n:='N';
  pi_apli_comis_super_s_n:='N';
  pi_apli_comis_adelefect_s_n:='S';
  pi_apli_comis_exceso_s_n:='S';
  pi_apli_entrega_extracto_s_n:='N';
  pi_apli_compra_ext_s_n:='N';
  pi_valida_mora_debaut_s_n:='S';
  pi_dias_perm_mora_debaut:=40;
  pi_debita_cta_comercio_s_n:='N';
  pi_tasa_interes_corriente :=17;
  pi_tasa_plan_normal       :=17;
  pi_tasa_interes_moratorio :=17;
  pi_tasa_interes_punitorio :=5.1;
  pi_comision_ATM           := 6;
  pi_comision_Ventanilla    := 8.5;
  pi_aplica_s_n             :='S';
  pi_monto_cargo            :=0;
  pi_cantidad_TRX_ATM       :=0;
  pi_aplica_seguro_fraude_s_n := 'N';
  pi_aplica_seguro_vida_s_n   :='S';
  pi_montocostoemi_titu :=0;
  pi_montocostoemi_adic :=100000;
  pi_cantcuotas_emision :=2;
  pi_financiar_costorenov_s_n :='S';
  pi_aplica_costo_emision := 2;
  pi_cargo_anual_titular   :=130000;
  pi_cargo_anual_adicional :=130000;
  pi_aplica_costo_renovacion :=2;
  pi_montocostorenov_titu   :=100000;
  pi_montocostorenov_adic   :=100000;
  pi_cant_cuotas_renovacion :=2;
  pi_financiar_costo_renov_s_n :='S';
  pi_porcentaje_pm :=10;
  pi_importe_monto_pm :=50000;
  pi_aplica_comision_x_mora :='S';
  pi_aplica_cargo_x_exceso_s_n := 'S';
  pi_aplica_cargo_com_exte_s_n :='N';
  pi_monto_cargo_com_exterior  :=0;
  pi_dias_mora_inhabilitar     :=10;
  pi_saldo_mora_inhabilitar    :=1;
  pi_dias_mora_bloq_auto       :=30;
  pi_saldo_mora_bloq_auto      :=1;
  pi_cargo_mora_inhabilitar :=15000;
  pi_porcen_cargo_excesolc :=1.5;

  SELECT FC_PAN2CRIPTO@bapy(RPAD(VC_BIN,16,'F')) bin 
    INTO VC_BIN_CRIPTO
    from dual;  
  
  vn_id_admin:=79;

  /*------------------------------------------
  Luego aquí van los pasos expuestos mas abajo
  ------------------------------------------*/

end;


Paso 1 - Alta del emisor

En este paso, se utiliza el procedimiento almacenado ubicado en el paquete PKG_PARAMETROS llamado SP_ALTA_ENTIDAD y le pasamos los valores de las variables previamente mencionadas, luego se habilita el emisor asignando el valor 'A' en el campo BASE_PAGO_MINIMO de la tabla EMISORES ubicada en el esquema DEBCREDPY.

  -- =============== 1. ALTA EMISOR ================ --
  vc_bandera := '1. ALTA EMISOR';
  pkg_entidades.sp_alta_entidad(pi_emisor,
                                pi_descripcion,
                                pi_ruc_emisor,
                                pi_direccion,
                                pi_telefono,
                                pi_contacto,
                                pi_email_contacto,
                                pi_debcta_s_n,
                                pi_seguro_vida_s_n,
                                pi_calc_impuesto_s_n,
                                pi_tasa_int_punit,
                                pi_cuotas_financi_s_n,
                                pi_calculo_interes_s_n,
                                pi_decaimeinto_compulsi_s_n,
                                pi_apli_comis_mora_s_n,
                                pi_apli_comis_combus_s_n,
                                pi_apli_comis_super_s_n,
                                pi_apli_comis_adelefect_s_n,
                                pi_apli_comis_exceso_s_n,
                                pi_apli_entrega_extracto_s_n,
                                pi_apli_compra_ext_s_n,
                                pi_valida_mora_debaut_s_n,
                                pi_dias_perm_mora_debaut,
                                pi_debita_cta_comercio_s_n,
                                pi_usuario); 
  UPDATE DEBCREDPY.EMISORES E SET E.BASE_PAGO_MINIMO = 'A' WHERE E.EMISOR = 125;


Paso  2 - Insertar un registro en la tabla EMISORES_PRODUCTOS

En esta tabla de encuentran una gran cantidad de parámetros definidos por la entidad para sus tarjetas de crédito, los cuales estan definidos tambien por las variables previamente declaradas.

-- =============== 2. EMISORES PRODUCTOS ================ --
  vc_bandera := '2. EMISORES PRODUCTOS';
  DBMS_OUTPUT.put_line(pi_emisor||';'||vc_bandera||';emisores_productos;Registrado!');
  insert into debcredpy.emisores_productos
    (EMISOR,
     PRODUCTO,
     GRUPO_AFINIDAD,
     PROCESADOR,
     SERIE_FACTURA,
     NUMERO_FACTURA,
     GRACIA_VENCIMIENTO,
     PORC_SOBREGIRO_CONT,
     PORC_SOBREGIRO_EFEC,
     PORC_SOBREGIRO_PLAN,
     PORC_LIMITE_EFECTIVO,
     TIPO_MONEDA_PM,
     PISO_PAGO_MINIMO,
     CUOTAS_FINANCIACION,
     TIPO_DE_TASA,
     LAPSO,
     DIAS_LAPSO_TASA,
     COSTO_FRANQUEO,
     ARANCEL,
     FONDO_DE_GARANTIA,
     ARANCEL_POR_RAMO,
     GENERA_NROCTA_P_SUC,
     MODO_ESTADO_CTA,
     PORC_AGROCABAL,
     CORREL_LIQ,
     CARPETA_FRAUDE,
     PORC_REFINAN,
     GESTION_COBRO,
     MIN_LINEA_CREDITO,
     MAX_LINEA_CREDITO,
     MIN_LINEA_CUOTA,
     MAX_LINEA_CUOTA,
     MIN_CARGO_MORA,
     MIN_CARGO_EXCESO,
     MIN_CARGO_LINEA,
     COBERTURA_FRAUDE,
     MIN_PAGO_MINIMO,
     GASTOS_ADMIN,
     FORMA_PAGO,
     CIUDAD,
     CODIGO_NACIONALIDAD,
     CODIGO_OCUPACION,
     CARTERA,
     CODIGO_CAPTADOR,
     CODIGO_CORRESPONDENCIA,
     ENCARGADO_DE_CUENTA,
     DURACION_TARJETA,
     DOCUMENTO_OBLIG,
     TELEFONO_OBLIG,
     FECHA_NAC_OBLIG,
     ESTADO_CIVIL_OBLIG,
     CUENTA_BANCARIA_OBLIG,
     NUMERO_INTERNO_OBLIG,
     DIRECCION_ADIC_OBLIG,
     DOCUMENTO_ADIC_OBLIG,
     TELEFONO_ADIC_OBLIG,
     FECHA_NAC_ADIC_OBLIG,
     ESTADO_CIVIL_ADIC_OBLIG,
     HABIL_ALTA,
     HABIL_RENOVACION,
     HABIL_REGRABACION,
     TITULAR_TIPO_COSTO,
     TITULAR_ACCION,
     TITULAR_COSTO,
     ADICIONAL_TIPO_COSTO,
     ADICIONAL_ACCION,
     ADICIONAL_COSTO,
     GEN_CARGOS_FIN_DIAS,
     GEN_CARGOS_FIN_OPCION,
     TITULAR_CUOTA_ANUAL,
     TITULAR_SEGURO_FRAUDE,
     ADICIONAL_CUOTA_ANUAL,
     ADICIONAL_SEGURO_FRAUDE,
     ATM_COBRA_CARGO,
     ATM_IMPORTE_CARGO,
     ATM_CANT_TRANSACC,
     ATM_ADELANTO_EFECTIVO,
     ATM_CONSULTA_SALDOS)
  values
    (pi_emisor,
     1,
     pi_emisor || '001',
     5001,
     'A',
     0,
     10 --40¿?--***************************************************************************
    ,
     10 --15
    ,
     0.00 --¿?--***************************************************************************
    ,
     0.00 --¿?--***************************************************************************
    ,
     100 --17
    ,
     1,
     0.00 --14¿?
    ,
     0,
     2,
     1,
     365,
     0.00,
     0,
     3.00,
     0,
     0,
     1,
     0.00,
     5,
     '1240001',
     100.00,
     'N',
     vn_lc_minima,
     vn_lc_maximo,
     0,
     0,
     10000.00,
     0.00,
     0.00,
     15000.00,
     30000.00,
     0.00,
     'V',
     2307,
     600,
     102,
     1,
     '1',
     'D',
     1,
     24,
     'S',
     'N',
     'S',
     'S',
     'N',
     'N',
     'N',
     'S',
     'N',
     'S',
     'S',
     'N',
     'N',
     'N',
     '1',
     'N',
     30000.00,
     '1',
     'N',
     30000.00,
     60,
     'A',
     20000.00,
     15000.00,
     10000.00,
     15000.00,
     'S',
     5000.00,
     1,
     'S',
     'S');