Tarea 5241

Anuncio
Coordinación de Requerimientos
Tarea 5241: “ARCHIVO DE CONCILIACION
DE TRANSACCIONES DE TARJETAS
DIGITEL”
Solicitado por: Marco Baptista
Fecha: 21-06-2012
ESPECIFICACIONES DE LA TAREA:
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 optima 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;I
VR;20;0;0100144540;2;19/07/2012 15:04:58;Beneficio
Generico;201207191509050100144540
19072012145948;0100144463;19072012145948889619000;910;2259000047;I
VR;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
91019072012_out.txt
corresponde
a
la
siguiente
estructura:
19072012150458;0100144540;19072012150458506882000;910;2260000042;I
VR;20;0;0100144540;4;19/07/2012 15:04:58;Beneficio
Generico;201207191509050100144540
19072012145948;0100144463;19072012145948889619000;910;2259000047;I
VR;15;0;0100144463;4;19/07/2012 14:59:48;Beneficio
Generico;201207191503280100144463
19072012145948;0100144463;19072012145948889619;910;0047;IVR;15;0;01
00144463;6;19/07/2012 15:00:02;;
19072012150458;0100144540;19072012150458506882;910;0042;IVR;20;0;01
00144540;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;I
VR;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
Descargar