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

1ER PASO

Modificar el Excel modelo con las tablas provistas por la gente de entidades.

Se debe copiar las tablas CABAL y PANAL en las hojas que tienen los mismos nombres, el resto de las hojas se modifican automáticamente, que son las que utilizaremos para crear las tablas temporales en la BD.

 Ejemplo

Planilla provista por entidades:

Las hojas CABAL y PANAL tenemos que copiar desde la columna cod. cabal a email para ambas hojas.

Planilla modelo:

Luego copiamos en este archivo en las hojas con sus respectivos nombres.

Las demás hojas se generan de forma automática mediante las formulas que poseen.

Una vez hayamos realizado la copia de las hojas dentro del archivo modelo, las hojas que utilizaremos para crear las tablas temporales son:

Para las tablas temporales de CABAL

  • novedadesComerciosCabal.
  • novedadesAcuerdosContadoCabal.
  • novedadesAcuerdosPlanCabal.
  • novedadesDireccionesCabal.

Para las tablas temporales de PANAL

  • novedadesComerciosPanal.
  • novedadesAcuerdosContadoPanal.
  • novedadesAcuerdosPlanPanal.
  • novedadesDireccionesPanal.

2DO PASO

En este paso el objetivo es llegar a generar las sentencias de inserción para el respaldo de cada una de las tablas previamente mencionadas(4 CABAL y 4 PANAL).

Lo que debemos hacer es ejecutar cada uno de los selects por separado, esto nos pedirá los parámetros a consultar dentro de las tablas mencionadas en los scripts.

Parámetros a definir:

  • emisor procesador - nc.emisor_procesador
  • comercio desde - comercio_desde
  • comercio hasta - comercio_hasta

El emisor procesador para CABAL es 805 y para PANAL es 806.

Comercio desde seria 1 y hasta la cantidad de comercios totales a dar de alta.

En el sql_output tenemos que pegar la tabla que corresponda al script ejecutado, luego debemos exportar los resultados como un archivo sql.

Esto nos generara las sentencias de inserción de las tablas de forma automática que luego un compañero o la persona encargada de IT debe ejecutar en la BD BAPY_PROD.

Script
----Generar sentencias de insercion para respaldo.
--NOVEDADES_COMERCIOS. Hoja novedadesComerciosCabal
--NOVEDADES_COMERCIOS. Hoja novedadesComerciosPanal

SELECT * FROM NOVEDADES_COMERCIOS NC
WHERE NC.EMISOR_PROCESADOR=&procesador AND NC.COMERCIO BETWEEN &COMERCIO_DESDE AND &COMERCIO_HASTA
FOR UPDATE;

----Generar sentencias de insercion para respaldo.
--NOVEDADES_ACUERDOS PLAN 1 CONTADO. Hoja novedadesAcuerdosContadoCabal
--NOVEDADES_ACUERDOS PLAN 1 CONTADO. Hoja novedadesAcuerdosContadoPanal

SELECT * FROM NOVEDADES_ACUERDOS NA
WHERE NA.EMISOR=&procesador AND NA.PLAN_VENTA=1 AND NA.COMERCIO BETWEEN &COMERCIO_DESDE AND &COMERCIO_HASTA 
FOR UPDATE;

----Generar sentencias de insercion para respaldo.
--NOVEDADES_ACUERDOS PLAN 3 CABAL. Hoja novedadesAcuerdosPlanCabal
--NOVEDADES_ACUERDOS PLAN 3 CABAL. Hoja novedadesAcuerdosPlanPanal

SELECT * FROM NOVEDADES_ACUERDOS NA
WHERE NA.EMISOR=&procesador AND NA.PLAN_VENTA=3 AND NA.COMERCIO BETWEEN &COMERCIO_DESDE AND &COMERCIO_HASTA 
FOR UPDATE;

----Generar sentencias de insercion para respaldo.
--NOVEDADES_DIR_COMERCIOS. Hoja novedadesDireccionesCabal
--NOVEDADES_DIR_COMERCIOS. Hoja novedadesDireccionesPanal

SELECT * FROM NOVEDADES_DIR_COMERCIOS NDC
--UPDATE NOVEDADES_DIR_COMERCIOS NDC SET NDC.pais=1
WHERE NDC.EMISOR_PROCESADOR=&procesador AND NDC.COMERCIO BETWEEN &COMERCIO_DESDE AND &COMERCIO_HASTA 
FOR UPDATE;
 Ejemplo de copiar, pegar y exportar los resultados.

El ejemplo lo realizaremos con el 4to script y es el mismo procedimiento para los demás.

1ro - Ejecutamos el script y luego debemos ingresar los parámetros.

Esto debería de devolvernos nada, sin ningún retorno o resultado.

2do - Desbloqueamos el candadito que se encuentra en la parte superior de la izquierda del output.

3er - Seleccionamos la hoja correspondiente al script, en este caso 'novedadesDireccionesCabal' y copiamos la tabla. 

4ro - Tres clics sobre el * y luego un clic derecho, seleccionamos la opción pegar y verificamos que todos los datos se hayan pegado correctamente.

5to - Cuando ya este copiada la tabla dentro del output del sql, le damos un clic en el cuadro superior de la izquierda para seleccionar todo y luego un clic derecho, después seleccionamos a Export Results>SQL file y guardar.

De esta manera se generan las sentencias de inserción para cada una de las filas de la tabla.

3ER PASO

Debemos ejecutar los scripts en la siguiente secuencia dentro del mismo ambiente:

1. Ejecutar los 4 script de inserción generados de CABAL y los 4 script de inserción de PANAL(En total, los 8 scripts generados en el paso anterior)

2. Ejecutar el script para procesar las altas. Se debe ejecutar este script 2 veces, para CABAL una vez y para PANAL otra vez.

Script - Procesamiento de altas
DECLARE
  VN_COMERCIO COMERCIOS.COMERCIO%TYPE;
  VN_HABILITACION COMERCIOS.NRO_CONTRATO%TYPE;
BEGIN
  FOR R IN (SELECT * FROM NOVEDADES_COMERCIOS A
              WHERE A.COMERCIO BETWEEN &novedadDesde AND &novedadHasta
                AND A.EMISOR_PROCESADOR=&procesador
                AND A.USUARIO='&usuario')
  LOOP
  ceibo_comercios.pr_alta_comercio(R.emisor_procesador,
                                   R.COMERCIO,
                                   R.USUARIO,
                                   R.EMISOR_PROCESADOR,
                                   VN_COMERCIO,
                                   VN_HABILITACION);    
  END LOOP;
  
END;

3. Se debe realizar dos controles:

El 1ro, el control de la cuenta, RUC y banco, dentro de este control solamente nos debe retornar una fila.

Parámetros a modificar/establecer:

  • Cuando ejecutamos el script para CABAL:
    • A.USUARIO='CABALPY'
    • A.EMISOR_PROCESADOR=805
    • establecer la fecha del día en que estamos ejecutando el script y la del día siguiente.
  • Cuando ejecutamos el script para PANAL:
    • A.USUARIO='PANALPY'
    • A.EMISOR_PROCESADOR=806
    • establecer la fecha del día en que estamos ejecutando el script y la del día siguiente.

Copiar resultados:

Se deben copiar los resultados en el Excel modelo en el cual en el paso 1 ya habíamos empezado a modificar respectivamente para cuando:

  • Cuando ejecutamos el script para CABAL:
    • Debemos copiar el resultado en la hoja resupuestaCabal.
  • Cuando ejecutamos el script para PANAL:
    • Debemos copiar el resultado en la hoja resupuestaPanal.

Ej.: si hoy es 23/09/2022 colocamos esa fecha en el 1er campo del between y 24/09/2022 en el 2do campo.

Script - Control cuenta, RUC y banco
SELECT A.RAZON_SOCIAL
      ,A.RUC
      ,B.DESCRIPCION ENTIDAD_PAGADORA
      ,C.DESCRIPCION SUCURSAL_PAGADORA
      , FC_GET_CODIGOS_PY(A.COD_TIPO_PAGO,A.TIPO_PAGO) FORMA_DE_PAGO
      ,FC_GET_CODIGOS_PY(A.COD_TIPO_CUENTA,A.TIPO_CUENTA) TIPO_CUENTA
      ,A.CUENTA NUMERO_CUENTA
FROM COMERCIOS A,PAGADORES B,SUCURSALES_PAGADORES C 
WHERE B.EMISOR_PROCESADOR = A.EMISOR_PROCESADOR
  AND B.PAGADOR = A.PAGADOR
  AND C.EMISOR_PROCESADOR = A.EMISOR_PROCESADOR
  AND C.PAGADOR = A.PAGADOR
  AND C.SUCURSAL_PAGADOR = A.SUCURSAL_PAGADOR
  AND A.EMISOR_PROCESADOR=&procesador
  AND A.USUARIO='PANALPY'
  AND A.FECHA_ALTA BETWEEN TO_DATE('23/09/2022', 'dd/mm/yyyy') AND TO_DATE('24/09/2022', 'dd/mm/yyyy')
GROUP BY A.RAZON_SOCIAL,A.RUC,B.DESCRIPCION,C.DESCRIPCION,A.COD_TIPO_PAGO,A.COD_TIPO_CUENTA,A.TIPO_CUENTA,A.TIPO_PAGO,A.CUENTA;

El 2do, control de resumen de acuerdos, plan de venta, comisión descuento, forma de pago y cuotas, dentro de este control solamente nos debe retornar una fila por cada plan de ventas:

cuya respuesta tenemos que copiar y pegar en la hoja respuestaCabal o respuestaPanal respectivamente(porque también se debe ejecutar 2 veces, para CABAL una vez y para PANAL otra vez) del Excel modelo en el cual en el paso 1 ya habíamos empezado a modificar.

Parámetros a modificar/establecer:

  • Cuando ejecutamos el script para CABAL:
    • A.USUARIO='CABALPY'
    • A.EMISOR_PROCESADOR=805
    • C.RAMO=78(o el que este establecido en el Excel provisto por entidades)
    • establecer la fecha del día en que estamos ejecutando el script y la del día siguiente.
  • Cuando ejecutamos el script para PANAL:
    • A.USUARIO='PANALPY'
    • A.EMISOR_PROCESADOR=806
    • C.RAMO=238(o el que este establecido en el Excel provisto por entidades)
    • establecer la fecha del día en que estamos ejecutando el script y la del día siguiente.

Copiar resultados:

Se deben copiar los resultados en el Excel modelo en el cual en el paso 1 ya habíamos empezado a modificar respectivamente para cuando:

  • Cuando ejecutamos el script para CABAL:
    • Debemos copiar el resultado en la hoja resupuestaCabal.
  • Cuando ejecutamos el script para PANAL:
    • Debemos copiar el resultado en la hoja resupuestaPanal.
Script - control resumen de acuerdos, plan de venta, comision descuento, forma de pago y cuotas
SELECT A.PLAN_VENTA,A.PORCENTAJE_DESCUENTO,FORMA_PAGO,A.CUOTA_MIN,A.CUOTA_MAX
FROM ACUERDOS A
WHERE A.EMISOR=&procesador 
  AND A.COMERCIO IN
(SELECT C.COMERCIO
FROM COMERCIOS C
WHERE C.FECHA_ALTA BETWEEN TO_DATE('23/09/2022', 'dd/mm/yyyy') AND TO_DATE('24/09/2022', 'dd/mm/yyyy')
  AND C.USUARIO='PANALPY'
  AND C.EMISOR_PROCESADOR=&procesador 
  AND C.RAMO =&RAMO
  )
GROUP BY A.PLAN_VENTA,A.PORCENTAJE_DESCUENTO,FORMA_PAGO,A.CUOTA_MIN,A.CUOTA_MAX   
  ;

4. Hacer commit si todo esta ok y no nos genero ningún error.

Obs.: Si tenemos algún error debemos hacer rollback de todo y comenzar el proceso de cero.

4TO PASO

En este paso final, debemos ejecutar dos scripts los cuales nos generan resultados que debemos insertar en las hojas del Excel modelo en el cual en el paso 1 ya habíamos empezado a modificar. 

1. Listar todos los comercios.

Parámetros a modificar/establecer:

  • Cuando ejecutamos el script para CABAL:
    • A.USUARIO='CABALPY'
    • A.EMISOR_PROCESADOR=805
    • establecer la fecha del día en que estamos ejecutando el script y la del día siguiente.
  • Cuando ejecutamos el script para PANAL:
    • A.USUARIO='PANALPY'
    • A.EMISOR_PROCESADOR=806
    • establecer la fecha del día en que estamos ejecutando el script y la del día siguiente.

Copiar resultados:

Se deben copiar los resultados en el Excel modelo en el cual en el paso 1 ya habíamos empezado a modificar respectivamente para cuando:

  • Cuando ejecutamos el script para CABAL:
    • Debemos copiar el resultado en la hoja resupuestaCabal.
  • Cuando ejecutamos el script para PANAL:
    • Debemos copiar el resultado en la hoja resupuestaPanal.
Script - Listar todos los comercios
SELECT A.COMERCIO CODIGO_COMERCIO
      ,A.DESCRIPCION DENOMINACION_COMERCIAL
      ,A.RAZON_SOCIAL
      ,A.RUC
      ,B.DESCRIPCION ENTIDAD_PAGADORA
      ,C.DESCRIPCION SUCURSAL_PAGADORA
      , FC_GET_CODIGOS_PY(A.COD_TIPO_PAGO,A.TIPO_PAGO) FORMA_DE_PAGO
      ,FC_GET_CODIGOS_PY(A.COD_TIPO_CUENTA,A.TIPO_CUENTA) TIPO_CUENTA
      ,A.CUENTA NUMERO_CUENTA
      ,A.NRO_CONTRATO HABILITACION
      ,f_en_portal_comercios(a.emisor_procesador, a.comercio) Portal_comercios, -- Si esta o no En el POrtal de Comercios
       f_acceso_portal_comercios(a.emisor_procesador, a.comercio) usuarios_portal_comercios-- Si esta y ademas si tiene usuarios activos

FROM COMERCIOS A,PAGADORES B,SUCURSALES_PAGADORES C
WHERE B.EMISOR_PROCESADOR = A.EMISOR_PROCESADOR
  AND B.PAGADOR = A.PAGADOR
  AND C.EMISOR_PROCESADOR = A.EMISOR_PROCESADOR
  AND C.PAGADOR = A.PAGADOR
  AND C.SUCURSAL_PAGADOR = A.SUCURSAL_PAGADOR
  AND A.EMISOR_PROCESADOR=&PROCESADOR
  AND A.USUARIO='&USUARIO'
  AND A.FECHA_ALTA BETWEEN TO_DATE('23/09/2022', 'dd/mm/yyyy') AND TO_DATE('24/09/2022', 'dd/mm/yyyy')
ORDER BY COMERCIO;

2. PR_RESUMEN_CEIBO_TRANSACCIONES; dicha respuesta tenemos que copiar y pegar en la hoja 'resultados' del Excel modelo en el cual en el paso 1 ya habíamos empezado a modificar.

Parámetros a modificar/establecer:

    • establecer la fecha del día en que estamos ejecutando el script y la del día siguiente.

Copiar resultados:

Se deben copiar los resultados en la hoja 'resultados' del Excel modelo en el cual en el paso 1 ya habíamos empezado a modifica.

Script - Resultados
SELECT C.EMISOR_PROCESADOR,C.COMERCIO,C.NRO_CONTRATO HABILITACION
,DECODE(pkg_portal_comercios.f_en_portal_comercios(C.EMISOR_PROCESADOR,C.COMERCIO),'N','Falta Vincular al Portal','Vinculado al Portal') OBSERVACION
FROM COMERCIOS C
WHERE C.FECHA_ALTA BETWEEN TO_DATE('23/09/2022', 'dd/mm/yyyy') AND TO_DATE('24/09/2022', 'dd/mm/yyyy')
  AND C.USUARIO IN ('PANALPY','CABALPY')
ORDER BY C.EMISOR_PROCESADOR,C.COMERCIO; 




  • No labels