INFORME DE PRUEBA

Anuncio
INFORME DE PRUEBA
Usuario Quality: Ing. María Silva.
“NUEVA FUNCIONALIDAD”
TAREA: 5241 – CONCILIACION DE TRANSACCIONES DIGITEL/INTER
DESARROLLADOR: Ing. Ennodio Marín
REQUERIMIENTO
Con la finalidad de conciliar todas las transacciones de Tarjetas Digitel con las
procesadas por Inter, se debe diseñar y desarrollar una aplicación para realizar de
manera automática la conciliación diaria de las transacciones de Digitel derivadas de las
recargas del servicio inter satelital hechas a través de tarjetas prepago Digitel. Esta
aplicación debe funcionar de manera similar al proceso de lectura de OM (CVS); es decir,
estar activa permanentemente, leer archivos desde una ruta indicada según validación
establecida, realizar el proceso de conciliación, guardar el archivo original en una carpeta
de respaldo (BackUP en ruta indicada), generar un archivo de retorno que contenga la
palabra out en su nombre y guardarlo en ruta indicada.
El proceso de conciliación lo que hace es tomar las transacciones reportadas por
Digitel, compara contra las registradas en nuestra plataforma, marca conciliadas las que
coinciden entre ambas plataformas, si alguna que envíe Digitel exitosa y no existe en
nuestra plataforma le da de alta y si alguna está en nuestra plataforma y no en la de
Digitel; es decir, no nos la enviaron en archivo in, se lo reportamos en el archivo out.
Se menciona ejemplo considerando la imagen de Proceso de Lectura de OM (CSV):
Carpeta Proceso (IN) = C:\Conciliaciondigitel\IN
Archivos = IN (esta sería la validación, leer sólo archivos que su nombre contengan la
palabra in)
Último archivo procesado = nombre completo del último archivo procesado
(91019072012_in.txt)
Archivo en Proceso = nombre completo del archivo en proceso en ese momento
(91020072012_in.txt) o en blanco si no está procesando en ese momento
Procesar cada = tiempo configurable para que el demonio busque archivos y los procese
Botón Iniciar/Detener = para iniciar/detener el demonio
Carpeta de Respaldo = C:\Conciliaciondigitel\BACKUP
Carpeta de Resultado = C:\Conciliaciondigitel\OUT
Información Importante:
1.- En el caso de la conciliación de Digitel, los archivos se depositan en un servidor FTP
(Linux), por lo que no es en principio sencillo mapear como una unidad de “Windows”; en
este caso les sugerimos a los desarrolladores halar u obtener los archivos Linux y
colocarlos en una ruta que se pueda leer en Windows.
A continuación se describe el proceso que actualmente se realiza de manera
manual para el envío y recepción de archivos desde el FTP:
Vía línea de comandos se ejecuta el archivo recibir.bat
; este archivo lo
que hace es ejecutar las líneas contenidas en el archivo ftp_recibir.txt
para
halar el archivo in a conciliar; se ubica en la máquina según la IP, se dirige a la máquina
local (carpeta c:\digitel\in) tomando como usuario y password los indicados en la segunda
y tercera línea, allí ejecuta el comando mget, el cual toma todo lo que está en esa carpeta
(in) indistintamente del nombre; en el caso de usar el comando get se tiene que indicar el
nombre exacto del archivo con el que se va a trabajar.
Luego vía línea de comando se ejecuta el archivo enviar.bat
; este
archivo lo que hace es ejecutar las líneas contenidas en el archivo ftp_enviar.txt
para subir al FTP el archivo out resultante del proceso de conciliación; se
ubica en la máquina según la IP, se dirige a la máquina local (carpeta c:\digitel\out)
tomando como usuario y password los indicados en la segunda y tercera línea, allí ejecuta
el comando put, el cual sube todo lo contenido en la carpeta local out.
Por lo tanto el proceso de la conciliación tendría que invocar los archivos .bat
(recibir y enviar) y esos .bat trabajaran con los archivos .txt (ftp_recibir y ftp_enviar) como
se mencionó anteriormente.
Se requiere de un proceso automático que simule este mecanismo, si existe un
método en Genexus que haga la conexión al FTP de manera más óptima sería lo ideal ya
que el proceso sería más eficiente ó si se considera que es mejor programar una tarea en
la máquina de Windows donde se ejecutará la conciliación entonces se obvia el desarrollo
de la conexión FTP.
2.- También se debe incorporar la funcionalidad de Nagios sobre este proceso; es decir,
poder monitorear desde el nagios esta actividad e informar cuando exista algún error en el
proceso o falla la conexión.
Notas:
 El nombre del archivo recibido de parte de digitel corresponde a la siguiente
estructura: 91019072012_in.txt
Donde:
910 = Código fijo (IdInstitución)
19072012 = Fecha del día en formato ddmmyyyy
_in = indica que es un archivo recibido de parte de Digitel por conciliar
.txt = extensión del archivo
 El contenido del archivo corresponde a la siguiente estructura
91020072012_in.txt
19072012150458;0100144540;19072012150458506882000;910;2260000042;IVR;
20;0;0100144540;2;19/07/2012 15:04:58;Beneficio
Generico;201207191509050100144540
19072012145948;0100144463;19072012145948889619000;910;2259000047;IVR;
15;0;0100144463;2;19/07/2012 14:59:48;Beneficio
Generico;201207191503280100144463
Donde:
19072012150458;0100144540;19072012150458506882000;910; = OrderId de
Digitel
2260000042 = serial de la tarjeta digitel
IVR = canal por donde se realizó la recarga, para este ejemplo: IVR.
20 = importe de la tarjeta
0 = puede tomar cero(0) ó distinto de cero y denota el éxito o falla de la
transacción en la plataforma de Digitel (0 = transacción exitosa, distinto de cero =
transacción fallida)
0100144540 = id del abonado
2 = puede tomar 1 ó 2 y denota el mensaje resultado de la transacción en Digitel (1
= Recarga exitosa, saldo suficiente, 2 = Recarga exitosa, saldo insuficiente)
19/07/2012 15:04:58;Beneficio Generico;201207191509050100144540 =
Información de Digitel
 El nombre del archivo enviado a digitel luego del proceso de conciliación
corresponde a la siguiente estructura 91019072012_out.txt, donde: en relación al
archivo recibido se cambia la palabra in por out.
El contenido del archivo corresponde a la siguiente estructura: 91019072012_out.txt
19072012150458;0100144540;19072012150458506882000;910;2260000042;IVR;
20;0;0100144540;4;19/07/2012 15:04:58;Beneficio
Generico;201207191509050100144540
19072012145948;0100144463;19072012145948889619000;910;2259000047;IVR;
15;0;0100144463;4;19/07/2012 14:59:48;Beneficio
Generico;201207191503280100144463
19072012145948;0100144463;19072012145948889619;910;0047;IVR;15;0;01001
44463;6;19/07/2012 15:00:02;;
19072012150458;0100144540;19072012150458506882;910;0042;IVR;20;0;01001
44540;6;19/07/2012 15:05:12;;
El cambio con respecto al _in.txt es el código ubicado para este ejemplo en la
columna 87 que puede tomar los siguientes valores: 4 = CONCILIADO, 5 = NO
CONCILIADO, 6 = NO CONCILIADO porque no la recibimos de parte de Digitel; es
decir, está en nuestra plataforma pero Digitel no nos la reportó
19072012150458;0100144540;19072012150458506882000;910;2260000042;IVR;
20;0;0100144540;4;19/07/2012
15:04:58;Beneficio
Generico;201207191509050100144540
****Se anexa a la tarea archivos _in.txt y _out.txt como referencia.
El proceso de conciliación debe realizar las siguientes funciones.
Con el TraceId de la Transacción Digitel que viene en el archivo de entrada, se busca en
la tabla TRNDIGITEL (transacciones digitel) y pueden ocurrir los siguientes escenarios:
 Si existe en TRNDIGITEL y el Código de estado de la Recarga Digitel que viene en
el archivo de entrada es exitoso y en la TRNDIGITEL también se encuentra en
status exitoso, se marca como conciliado en la Tabla TRNDIGITEL y se envía el
status de notificación 4 en el archivo de salida.
 Si existe en TRNDIGITEL y el Código de estado de la Recarga Digitel que viene en
el archivo de entrada es exitoso y en la TRNDIGITEL se encuentra en status
fallido, se procede a ejecutar en línea la recarga y de ser exitoso, se marca en la
TRNDIGITEL como exitoso y también como conciliado.
 Si existe en TRNDIGITEL y el Código de estado de la Recarga Digitel que viene en
el archivo de entrada es exitoso y en la TRNDIGITEL se encuentra en status
fallido, se procede a ejecutar en línea la recarga y de ser fallido, se envía el status
de notificación 5 en el archivo de salida.
 Si existe en TRNDIGITEL y el Código de estado de la Recarga Digitel que viene en
el archivo de entrada es fallido y en la TRNDIGITEL se encuentra en status fallido,
se marca como conciliado en la Tabla TRNDIGITEL y se envía el status de
notificación 4 en el archivo de salida.
 Si existe en TRNDIGITEL y el Código de estado de la Recarga Digitel que viene en
el archivo de entrada es fallido y en la TRNDIGITEL se encuentra en status
exitoso, se envía el status de notificación 5 en el archivo de salida.
 Luego se procede a Buscar las TRNDIGITEL que no están conciliadas ya que no
fueron enviadas por Digitel y se envían en el archivo de salida con el estado de
notificación 6.
OBSERVACION
Debido a que se están anexando nuevos proveedores aparte de Digitel, es necesario que
este proceso verifique o permita configurar las rutas de las carpetas donde debe ubicar y
colocar los archivos tanto de entrada como de salida del proceso de conciliación. Por
ejemplo, actualmente en el FTP además de la carpeta Digitel existe también la carpeta
SMOL para las transacciones generadas por el proveedor SELCO
DESCRIPCIÓN DE LA NUEVA FUNCIONALIDAD
Se realizaron los siguientes cambios:
 Se creó un nuevo módulo Nodo Demonio en el sistema GxVision K2B para
registrar por demonio la IP del nodo autorizado. Solo se permite una IP por
demonio.
 Se agregaron dos campos ruta y programa de conciliación en la configuración de
Proveedor Boca Pago del sistema GxVision K2B. Estos campos son necesarios
para el funcionamiento del Demonio de Conciliación de Recarga. La ruta a
configurar es el servidor de Linux mapeado, además en ésta se debe tener la
siguiente estructura: cuatro carpetas denominadas BACKUP, IN, OUT y
SUSPEND.
 Se créo un demonio de conciliación el cual al ser encendido, estará verificando
constantemente en la carpeta IN de la rutas configuradas a los proveedores si
existen archivos por procesar para la conciliación; dependiendo del programa de
conciliación configurado para cada proveedor el demonio ejecutará la conciliación
Boca Pago o la conciliación TuVes (programas ya existentes en el sistema).
1.-Notas del Desarrollador.
No tiene notas del desarrollador
2.- Notas de Configuración.
2.1.- Queries
insert into gx.cfgconstantes values('FDCR', 'Frecuencia Demonio Conciliacion Recarga',
1,'Numeric', 3, 0);
2.2.- Creación de Opciones y Menús
Se debe crear la siguiente opción de menú.
2.3.- Configuraciones Iniciales

Asociar las siguientes actividades a los roles correspondientes.

Se debe configurar la IP de nodo donde se ejecutará el demonio en la siguiente
ruta: GxVision > Conf. Operativa > Conf. Comercial > Nodo Demonios.
 Nota: para el demonio de conciliación recarga el código a utilizar debe ser el
siguiente DemonioConciliaRecarga (Obligatorio), el sistema solo permite
autorizar una IP para dicho demonio.

Se debe mapear el servidor de Linux y luego configurar las rutas por proveedor, se
debe tener una carpeta por proveedor.
Para configurar la ruta y programa de conciliación del proveedor boca pago se debe
realizar a través de la siguiente ruta: GxVision > Conf. Operativa > Conf. Comercial >
Proveedor Boca Pago.
 Nota: la ruta a configurar debe terminar en ‘\’, y debe ser diferente para cada
proveedor.
Además, es necesario crear las siguientes carpetas en la ruta configurada.




Carpeta IN: desde ésta se leerán los archivos que envía el proveedor.
Carpeta OUT: en ésta carpeta se guardará el resultado.
Carpeta BACKUP: contendrá una copia de los archivos procesados en IN.
Carpeta SUSPEND: por ahora almacenará los archivos de texto que no reconozca.


2.4.- Versiones de Navegador y Java
Navegador: Firefox 27.0.1.
Versión de Java: 7, Actualización 51.
PRUEBAS REALIZADAS
 Configuración Nodos Demonio
A través del siguiente módulo se deben registrar las direcciones IP del nodo donde se
ejecutará el Demonio de Conciliación.
Ruta: GxVision  Conf. Operativa  Conf. Comercial  Nodo Demonios.
 Alta
Para dar de alta un nodo se debe hacer click sobre el icono del símbolo ‘+’ ubicado en la
parte superior derecha del grid.
El sistema solicita los datos.
Al aceptar se visualiza el registro en la lista.
Validaciones

El código no puede ser nulo ni estar registrado.

La dirección IP debe poseer un formato válido.
 Modificar
Para modificar un nodo se debe seleccionar el registro y la operación Modificar.
El sistema permite modificar los campos descripción e IP Nodo solamente.
Al confirmar se visualizan los cambios en la lista de Nodo Demonios.
 Visualizar
Para visualizar el detalle de un nodo se debe hacer click sobre la descripción de éste.
 Eliminar
Para eliminar un nodo se debe seleccionar el registro y la operación Eliminar.
El sistema solicita la confirmación, luego de aceptar el registro no se visualiza en la lista.
 Configuración Ruta y Programa Conciliación Proveedor Boca Pago
En la entidad ya existente Proveedor Boca Pago se agregaron dos campos denominados
Ruta Conciliación y Programa Conciliación, se debe asociar la ubicación donde se
montarán los archivos recibidos para la conciliación y se debe seleccionar el programa a
utilizar al conciliar (por ahora solo existen dos: Conciliación Boca Pago y Conciliación Tu
Ves).
Ruta: GxVision  Conf. Operativa  Conf. Comercial  Proveedor Boca Pago.
A continuación se indican los nuevos campos a configurar.
Luego de modificar el registro, se visualizan los cambios.
Por otra parte, es importante resaltar que la carpeta configurada debe contener la
siguiente estructura.




Carpeta IN: desde ésta se leerán los archivos que envía el proveedor.
Carpeta OUT: en ésta carpeta se guardará el resultado.
Carpeta BACKUP: contendrá una copia de los archivos procesados en IN.
Carpeta SUSPEND: por ahora almacenará los archivos de texto que no reconozca.
 Demonio Conciliación Recarga
Al ejecutar el demonio de conciliación de recarga el sistema busca en la configuración de
cada proveedor de boca de pago, la ruta y programa de conciliación asociado. Busca el
archivo IN en la ruta, y ejecuta el programa de conciliación que le corresponda.
 Conciliación Boca Pago

Para el caso de conciliación de Boca Pago, se tiene la siguiente configuración del
proveedor.

En la carpeta IN dentro de la ruta configurada al proveedor se tiene el archivo a
procesar.
Data del archivo.

Información en la base de datos de las transacciones del archivo IN.
select trndigcod, trndigsts, trndigorderid,trndigcode from trndigitel
where trndigorderid in (
'26112013160223;0100146155;000000006;910', '26112013160223;0100146155;000000007;910',
'09122013102929;0100146014;09122013102929619995005;501',
'10122013102929;0100147135;10122013102929619995036;501',
'11122013102929;0100147148;11122013102929619992726;501',
'05122013082929;0100146465;04122013082929617534321;910',
'05122013082929;0100146465;04122013082929617531234;910');
Transacciones solo Inter.
select trndigcod, trndigsts, trndigorderid,trndigcode from trndigitel
where trndigfchhor < '02/10/2013' and trndigsts not in ('C','X','N');

Se activa el demonio y se procesa el archivo.
El archivo IN procesado se mueve a la carpeta BACKUP, y el archivo con los resultados
de la conciliación para cada transacción se guarda en la carpeta OUT.
Por otra parte, el demonio crea el siguiente archivo y registra según la frecuencia
configurada la fecha y hora en ejecución.
Contenido del archivo.

Resultado de la conciliación.
Justo antes de la fecha y luego del ID del abonado se imprime el estatus de conciliación
de la transacción variable entre 4 (Conciliado), 5 (No Conciliado) y 6 (No Conciliado, no se
encontraban en el archivo). En caso que se imprima un * se debe a que la transacción en
el archivo proviene con estatus de notificación fallido.
Caso I: Transacción Conciliada
Orden
11122013102929;0100147148;11122013102929619992726;501
estatus exitoso tanto en el archivo como en la tabla.
con
Caso II: Transacción No Conciliada
Ordenes
10122013102929;0100147135;10122013102929619995036;501
y
26112013160223;0100146155;000000007;910 con estatus exitoso en el archivo y fallido
en la tabla. Al ejecutar la recarga se obtuvo un error por ello se marcan como No
Conciliadas con estatus de notificación 5; si la recarga es exitosa se marcarían
Conciliadas.
Caso III: Transacción en Archivo y no en Base de Datos
Orden 05122013082929;0100146465;04122013082929617531234;910 como no
se encuentra en la tabla de la base de datos el sistema la crea y ejecuta la recarga, en
este caso quedo fallida la aplicación de la recarga por lo cual se marca como No
Conciliada con estatus de notificación 5; si la recarga es exitosa se macaría como
Conciliada.
Caso IV: Transacción en la Base de Datos y no en el Archivo
Orden
09122013102929;0100145403;09122013102929619995001;501,
las
ordenes que no se concilian por no estar en el archivo se marcan no conciliadas pero con
estatus de notificación 6.
Caso V: Transacción en Archivo con Estatus de Notificación Fallido
Ordenes
09122013102929;0100146014;09122013102929619995005;501
y
26112013160223;0100146155;000000006;910, no se modifica su estatus estas
permaneces pendientes sin embargo su estatus de notificación queda con el valor *.
 Conciliación TuVes

Para el caso de conciliación de Boca Pago, se tiene la siguiente configuración del
proveedor.

En la carpeta IN dentro de la ruta configurada al proveedor se tiene el archivo a
procesar.
Data del archivo.
Información en la base de datos de las transacciones del archivo IN.
select trndigcod, trndigsts, trndigorderid,trndigcode, trndigconres
from trndigitel
where trndigorderid in (
'05122013082929;0100146467;04122013082929617535006;501',
'11122013102929;0100147128;10122013102929619995044;501',
'15032014153246;1400019834;03219350315147520001000;501',
'11122013102929;0100147142;10122013102929619992659;501',
'26112013160223;0100146155;000000006;501',
'09122013102929;0100146014;09122013102929619995005;501');
Transacciones solo Inter.
select trndigcod, trndigsts, trndigorderid,trndigcode from trndigitel where trndigfchhor < '16/03/2014'
and trndigsts not in ('C','X','N');

Se activa el demonio y se procesa el archivo.
El archivo IN procesado se mueve a la carpeta BACKUP, y el archivo con los resultados
de la conciliación para cada transacción se guarda en la carpeta OUT.
Por otra parte, el demonio modifica el siguiente archivo y registra según la frecuencia
configurada la fecha y hora en ejecución.
Contenido del Archivo.

Resultado de la conciliación.
Como último carácter de cada línea se imprime el estatus de conciliación de la
transacción, el cual varía entre 4 (Conciliado), 5 (No Conciliado) y 6 (No Conciliado, no se
encontraban en el archivo). En caso que se imprima un * se debe a que la transacción en
el archivo proviene con estatus de notificación fallido.
Caso I: Transacción Conciliada
Orden
05122013082929;0100146467;04122013082929617535006;501
estatus exitoso tanto en el archivo como en la tabla.
con
Caso II: Transacción No Conciliada
Ordenes
11122013102929;0100147128;10122013102929619995044;501
y
15032014153246;1400019834;03219350315147520001000;501 con estatus exitoso en el
archivo y fallido en la tabla. Al ejecutar la recarga se obtuvo un error por ello se marcan
como No Conciliadas con estatus de notificación 5; si la recarga es exitosa se marcarían
Conciliadas.
Caso III: Transacción en Archivo y no en Base de Datos
Ordenes
15032014153246;1400019834;03219350315147520001002;501
y
15032014153246;1400019834;03219350315147520001003;501 como no se encuentran
en la tabla de la base de datos el sistema las crea y ejecuta la recarga. Una de las
recargas falló por lo cual la transacción se marca como No Conciliada con estatus de
notificación 5; y la otra recarga fue exitosa por ello la transacción se marcó como
Conciliada.
Caso IV: Transacción en la Base de Datos y no en el Archivo
Orden
05122013082929;0100146465;04122013082929617535002;501,
las
ordenes que no se concilian por no estar en el archivo se marcan no conciliadas pero con
estatus de notificación 6.
Caso V: Transacción en Archivo con Estatus de Notificación Fallido
Orden 11122013102929;0100147142;10122013102929619992659;501
modifica su estatus, sin embargo su estatus de notificación queda con el valor *.
no
se
Caso VI: Transacción para Anulación
Ordenes
26112013160223;0100146155;000000006;501
y
09122013102929;0100146014;09122013102929619995005;501 con estatus por anular
en el archivo y fallido en la tabla. Al ejecutar la anulación se obtuvo un error por ello se
marcan como No Conciliadas con estatus de notificación 5; si la anulación es exitosa se
marcarían Conciliadas.
APROBADA EN BETA 
Documentos relacionados
Descargar