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

1ER PASO

Verificar el ultimo numero de id_promocion existente dentro de la tabla promociones_id y a ese numero de id tenemos que sumarle 1 para insertar la próxima promoción.

Ej.: si el ultimo existente id_promocion=10, el nuevo(el que ingresaremos para la nueva promoción) será 11.

Script para verificar el ultimo numero de id_promocion existente en la tabla de promociones_id.

SELECT MAX(ID_PROMOCION) FROM CREDITOPY.PROMOCIONES_ID;

2DO PASO

Debemos modificar el script detallado mas abajo cambiando los parámetros de acuerdo a los que nos indican para la nueva promoción.

Parámetros a modificar:

  • id - id_promocion/a.id_promocion.
  • Emisor - emisor/a.emisor.
  • Descuento - porc_dto/a.porc_dto.
  • Códigos de comercios adheridos - comercio/a.comercio.
  • Fecha de inicio.
  • Fecha de finalización.

Esto lo modificamos en todos los lugares que este aplicado *******, el cual es nuestro indicador para saber que datos debemos de modificar.

Verificamos varias veces que todos los datos estén correctos y ya podemos probar el script en el ambiente de prueba() si no tenemos ningún error durante la ejecución entonces se encuentra todo correcto para ejecutar en ambiente de produccion.

Script para insertar la promoción nueva.
 insert into promociones_id
   select 
          distinct
          990001517 id_promocion,   --*****************************
          rpad(('PR01517 '||a.emisor||' 20%'),15) proceso, --***************************** PR0000X se agrega para evitar duplicaciones el 0000X debe ser correlativo cambiar numero de id y por dto
          0 flg_x_tx, 1 flg_x_cta, 1 flg_x_promo, min(a.fec_vig_desde) fec_vig_desde, max(a.fec_vig_hasta) fec_vig_hasta, a.monto_desde, a.monto_tope, a.porc_dto,
          0, --al agregar cero se toma la parametrizacion hecha por operaciones
          a.rubro, 1 activo, sysdate fec_upd, user operador
   from   creditopy.comercios_promocion a
   where  a.emisor = 52  --*****************************
     and  a.id_promocion in (select distinct id_promocion from creditopy.comercios_promocion a where a.emisor = 52 --*****************************
                                  and a.fec_vig_desde between to_date('20/09/2022','dd/mm/yyyy') --***************************** 
                                                          and to_date('20/12/2022','dd/mm/yyyy') --***************************** 
                                  and a.comercio in (768457)    --*****************************
                                  and  a.porc_dto = 20  --*****************************
                                  and a.id_promocion < 990000000)
   group by a.emisor_procesador, a.emisor, a.ramo, a.monto_desde, a.monto_tope, a.porc_dto, a.rubro
    ;
    
   update comercios_promocion a
      set a.id_promocion = 990001517    --*****************************
    where a.emisor = 52  --*****************************
      and a.id_promocion in (select distinct id_promocion from creditopy.comercios_promocion a where a.emisor = 52  --*****************************
                                  and a.fec_vig_desde between to_date('20/09/2022','dd/mm/yyyy') --***************************** 
                                                          and to_date('20/12/2022','dd/mm/yyyy') --***************************** 
                                  and a.comercio in (768457)    --*****************************
                                and  a.porc_dto = 20   --*****************************
                                and a.id_promocion < 990000000);
commit;

3ER PASO

Para ejecutar este script (previamente modificado con los datos correspondientes a la nueva promoción a agregar y probarlo en el ambiente test BAPY_TEST) en ambiente de producción debemos pasarle a un compañero o persona encargada del departamento de IT que pueda ejecutarlo en la BD BAPY_PROD.

4TO PASO

Una vez que se haya ejecutado el script en el ambiente de prueba es recomendable siempre verificar nuevamente que todos los datos se encuentran correctos, por lo que ejecutaremos este script:

select * from CREDITOPY.PROMOCIONES_ID c where c.id_promocion='numero_id_asignado_a_la_promocion';



  • No labels