Você está na página 1de 22

Cadena de Recobro

Primera Parte
MUL2BANE

Recobro
Ejecucin de la Cadena de RECOBRO por Control-M

Segunda Parte
SHRINK (BAT) RESDIA BANE2AIS INGESDOS (BAT) SHRINK (BAT) INCHOST TESTBD

Tercera Parte
SHRINK (BAT) MOTOR CNIVEL CARTAS COSTOS INGESTRES (BAT) SHRINK (BAT)

Cuarta Parte
SHRINK (BAT) GENDIA SHRINK (BAT)

Principales funciones de todos los programas

Recuperar parmetros de entrada (Nombre y ruta del archivo INI, Fecha de proceso ). Lectura del archivo INI propio Recuperar Usuario / Password e Instancia de Conexin (data encriptada) Conectar a la Base de Datos MES y DIA de Proceso para componer nombres de los archivos de entrada Asignacin dinmica de memoria para matriz de datos Vaciado Inicial de tablas Intermedias contenedoras, tablas temporales de la base Apertura de cursor para el llenado de la data (Mandantes-Archivos) Inicializacin de la matriz cbica de definiciones Llenado de estructura de un mismo mandante-tipo archivo Tratamiento de la data (traspaso y validaciones) Apertura de archivo para procesar Iniciar el barrido de los registros a Transformar Anlisis Campo a Campo del registro ledo Transformacin de la data a formato de tablas Asignacin de valores a los campos a insertar Insercin en las estructuras intermedias (tablas temporales de la base) Carga de la data en los archivos resultado Cerrar el archivo procesado Desasignacin memoria para la matriz Cerrar cursor de Mandantes

Interaccin con archivos externos

OPERmmdd.DAT

Proceso de Carga y Validacin


DISCADOR.UPL

DEVOmmdd.DAT DIREmmdd.DAT NMORmmdd.DAT


PAGOmmdd.TXT DEUDmmdd.TXT CLIEmmdd.TXT DYTEmmdd.TXT

OPERmmdd.TXT

TARJmmdd.TXT

RCYOmmdd.TXT

ResDia
DEVOmmdd.TXT DIREmmdd.TXT

Bane2AIS

PASVmmdd.TXT TARJmmdd.TXT CACOmmdd.TXT PRESmmdd.TXT CUOTmmdd.TXT OBLGmmdd.TXT

Mul2Bane

IncHost

GenDia

Motor

ARCHIVOS.RAW

PROCESO ASIGNACION

ConnProd.Dat

Mul2Bane
Proceso de transformacin de Interfaces Mltiples al formato de Interfaces Intermedias de AIS.

Recobro.LOG

Mul2Bane.LOG

Mul2Bane.INI

Recobro.DBG

Tablas RECOBRO

Mandante 001 OPERmmdd.TXT TARJmmdd.TXT DEVOmmdd.TXT DIREmmdd.TXT

Mandante 002 OPCAmmdd.TXT TACAmmdd.TXT DECAmmdd.TXT DICAmmdd.TXT

ROPERSTMP RDIRECSTMP RDEVOLSTMP RCLIENTMP RIMGCLIE RIMGOBLG RIMGDEUD RIMGTARJ RIMGCACO RIMGPRES RIMGCUOT RIMGRCYO RIMGPAGO RIMGDYTE

Cambio importante realizado en MUL2BANE


PROGRAMA ORIGINAL Error nunca se asignaba valores iniciales a toda la matriz. void InicializarEstrucs(char **pArchivos ) { int j; int w; /* Lleno cada posicin de la matriz con un cero */ for( j=0 ; j<MAX_ESTRUCS ; j++ ) for ( w=0; w<MAX_CAMPESTRUC ; w++ ) pArchivos[j][w] = '\0'; } PROGRAMA MODIFICADO void InicializarEstrucs( char **pArchivos ) { int j; int w; /* Lleno cada posicin de la matriz con un cero */ for( j=0; j<MAX_CAMPESTRUC; j++ ) for( w=0; w<MAX_LONGCAMPOS; w++ ) pArchivos[j][w] = '\0'; }

Esto dado que la Inicializacin de la matriz cbica de estructuras intermedias se genera a partir de un ciclo que ejecuta esta funcin segn el tamao de matriz (parmetro constante) for ( i=0 ; i<MAX_ESTRUCS ; i++) InicializarEstrucs(vEstrucs[i]);

Discador.UPL

ResDia
Lectura y carga de las llamadas diarias desde archivo Discador.UPL segn tratamiento de la estrategia.

Recobro.LOG

ResDia.INI

Tablas OutPut (DESARROLLO)


DS_MAESTRO_TELEFONOS

Tablas Input
RECOBRO.RTABL RECOBRO.ROBLG RECOBRO.RBGES RECOBRO.ROBCL RECOBRO.RLOTE RECOBRO.RTBGES RECOBRO.RTARS RECOBRO.RCLIE

Tablas OutPut Tablas Input (DESARROLLO)


DS_MAESTRO_TELEFONOS RECOBRO.RBGES RECOBRO.RAGEN RECOBRO.RTBGES

ResDia
Actualizacin de aplicacin ResDia 32 Bits a 64 Bits excluyendo utilizacin de DLL para el Anlisis de Cinta Turing. Se mantiene las llamadas a subrutinas, las cuales se reprograman para realizar acciones por cdigo nuevo procedimientos de la DLL: DllImport int WINAPI InicializarVariables(); DllImport int WINAPI SendPerfil(int nNroPerfil, TyRegistro *tPerfil); DllImport int WINAPI SendRegistroBitacora(int nNroBitacora, int nPosCampoFechaOrden,TyRegistro *tReg); DllImport int WINAPI EjecutarCinta(TyGenerico *tGenerico,TyRecomendaciones *tOutRecom);

Inicio

Leer Cliente y Telfono del archivo UPL

Archivo UPL

Estrategia Actual Evaluacin Telfonos


Estrategia: Codificacin que permite entregar cursos de accin al Motor de Recobro para efectuar determinadas acciones. En esta codificacin se encuentran definidas todas las reglas de negocio que posee nuestra empresa. La responsabilidad de su administracin le compete al rea de Planificacin
Hay registros? No Trmino (Rut_Cliente, Telfono)

Leer Status Llamada (Trmino)

No

Trmino

Campo Activa Asigna I

No

Trmino = R9"?

Si

Anular Telfono

DS_MAESTRO_TELEFONOS

No

Anterior La carga del archivo resultados UPL, en base de datos, estaba asociada a una DLL la cual realizaba la accin de interpretar la cinta telefnica. Con rutinas de conexin a ORACLE 9i y por tanto No funciona bajo Oracle 10g. Modificacin Interpretacin de la Cinta actual para poder incorporar lgica de evaluacin a travs de cdigo en duro en el mismo programa ejecutable bajo Oracle 10g y arquitectura de 64 bits.

No

DS_MAESTRO_TELEFONOS

Trmino = C1 o Trmino = BN?

Si

Leer Campo Probabilidad de Contacto del telfono

Probalidad tlefono >0?

Si

Restar probabilidad Contacto 5

DS_MAESTRO_TELEFONOS

No DS_MAESTRO_TELEFONOS No Trmino en (C3", "C4","HU","CD","MA", "C2","CB,"CC")? Leer Campo Probabilidad de Contacto del telfono Sumar 10 a probabilidad contacto

Si

Probabilidad telfono <100?

Si

No

DS_MAESTRO_TELEFONOS

Numero_Telefonico_Sin_Llammar y Existe_Llamado_Sin_Contacto ?

Si

Leer Campo Probabilidad de Contacto del telfono

Probabilidad telfono <100?

Si

Sumar 10 a probabilidad contacto

NUMERO_TELEFONICO_SIN_LLAMAR: Trmino = EXISTE_LLAMADO_SIN_CONTACTO: Trmino en ("R8","IC","3T","RL","TN","SE","R3","R6","BL ","DD","R0","R7","SF","TA","AB","NC","SF"," WR","TB","NB","AH","RO",TR","VC")

Proceso ResDia (Parametros: 1.- Ruta y nombre archivo INI 2.- Fecha de proceso)

CONEXIN Nombre archivo de conexin Separadores de conexin Segmento de la conexin PROCESOS Nombre del archivo cinta telefnica regla de negocio Nombre archivo UPL archivo llamadas del da

Lectura de parametros desde archivo INI CONEXIN PARMETROS Usuario PassWord Servidor Segmento

Desencriptacin de los parmetros de conexin (InterfaseCriptografica)

Conexin Oracle 10g Base RECOBRO

PARMETRO Nombre del archivo UPL

Procesa Archivo ResDia

Desconexin de la Base de Datos

Termino del proceso

1
RECOBRO.RTABL TBNUME = 54

carga los cdigos a ignorar de discador (Tabla RTABL >>> TBNUME = 54). PARMETRO Arreglo con Estructura: long CntCod; char Codigo[CNT_ELEMENTOS][3]; char TAR[CNT_ELEMENTOS][4]; char REGLA[CNT_ELEMENTOS][4];

Cargar Cdigos Discador

RECOBRO.RTABL TBNUME IN (53 , 54)

Cargar Cdigos Discador Turing

carga los cdigos del discador (Tabla RTABL >>> TBNUME = 53 , 54). PARMETRO Arreglo con Estructura: long CntCod; char Codigo[CNT_ELEMENTOS][3]; char TAR[CNT_ELEMENTOS][5]; char TBTEXT[CNT_ELEMENTOS][31]; char REGLA[CNT_ELEMENTOS][5]; Lectura secuencial del archivo UPL PARMETRO Ruta y Nombre del archivo UPL

DISCADOR.UPL Apertura del archivo Discador

PARMETRO Arreglo Tformato con estructura Prepara Formato ResDia

short nElems; nmero de elementos del formato short nLongTotal; longitud total del registro short longitud[MAX_ELEMS_LINEA]; longitudes de los elementos
PARMETRO Arreglo TTipoElemento con estructura

Prepara Formato Registro ResDia

short short short short short

nTipo; Tipo de campo nPosIni; Posicin de inicio dentro del registro nLong; Longitud del campo nLongAux; Longitud Auxiliar (nm. decimales) bNull; Indica si un campo vaco

Lee Lnea UPL

NO mas Datos

Cierra Archivo UPL

Genera registro detalle con las incidencias del proceso

Formatea Registro

Dada una cadena de caracteres y un formato, devuelve otra cadena con los elementos separados con un carcter especial ( | ) PARMETRO Registro ledo de archivo UPL Registro Formateado Tamao del registro formateado Definicin del Formato de registro

Termino Proceso

Traspaso de registro ledo de UPL a estructura de ResDia para proceso de estrategia PARMETRO Registro Formateado Estructura ResDia vRResDiaN Tipo de elemento Lee Registro ResDia Estructura de arregle con registro ledo de archivo UPL PARMETRO Estructura ResDia vRResDiaN char sTelefono[21]; char sCodCliente[14]; char sResultado[12]; char sFecha[9]; char sHora[9]; char sHora[9]; char sFecRell[9]; char sResultado[12]; char sHoraRell[9]; char sTar[5]; char sTarRec[5]; char sObser[41]; TRTelef Telefonos[MAX_TELEFONOS];

Trata Registro ResDia

Estructura de arregle con registro ledo de archivo UPL PARMETRO Estructura ResDia vRResDiaN

char sTelefono[21]; char sCodCliente[14]; char sResultado[12]; char sFecha[9]; char sHora[9]; char sHora[9]; char sFecRell[9]; char sResultado[12]; char sHoraRell[9]; char sTar[5]; char sTarRec[5]; char sObser[41]; TRTelef Telefonos[MAX_TELEFONOS];

AnalizoCintaTuring

EjecutarCinta

ResuelvoRecomendacion

ResulveRegla

AnularTelefonoBD

LeeProbContactoTelefono

CambiarPorcentajeEnBD

Actualiza accin sobre el cliente Suma/Resta a la Prob. del telfono, Accin para la Recomendacin IgnorarCodDiscador ( TBNUME = 54
)

RECOBRO.ROBCL

RECOBRO.ROBLG

ObtenerLoteClienteBD RECOBRO.RLOTE

InsertaRBGesBD

RECOBRO.RBGES RECOBRO.ROBLG

InsertaRBGesLoteBD

RECOBRO.RBGES

ConnProd.Dat

Bane2AIS.INI

Bane2AIS
Procesa las Interfaces generadas por Mul2Bane y las carga en tablas temporales de la BD que administra Recobro, genera archivos para proceso IncHost

Recobro.LOG

Recobro.DBG

Tablas RECOBRO ROPERSTMP RDIRECSTMP RDEVOLSTMP RNMOROTMP RTABL RCAMBIO ROBLG RDEUD ROBCL RTARJ RRES RCUOTAS RCLIE RDYT RXOBLG RXCLIE RXINSTR RIMGCLIE RIMGOBLG RIMGDEUD RIMGTARJ RIMGCACO RIMGPRES RIMGCUOT RIMGRCYO RIMGPAGO RIMGDYTE

PAGOmmdd.TXT DEUDmmdd.TXT CLIEmmdd.TXT DYTEmmdd.TXT RCYOmmdd.TXT PASVmmdd.TXT TARJmmdd.TXT CACOmmdd.TXT PRESmmdd.TXT CUOTmmdd.TXT OBLGmmdd.TXT

Solo lectura OPERmmdd.DAT DEVOmmdd.DAT NMORmmdd.DAT DIREmmdd.DAT


Tablas RECOBRO RIMGDEUD RIMGTARJ RIMGPRES RIMGCOUT

ConnProd.Dat

IncHost.INI

Tablas RECOBRO RFECHABIL RTABL RCAMBIO ROBLG RDEUDA ROBCL RTARJ RLOTE RCUOTAS RCLIE RUSUAR RBGES RAGEN RPARAM RESISTEMA REFLUJO RPAGOS RESTG RSEGM ROFIC RHISTO RPRES RPROVISION

Subproceso que realiza el procesamiento de las nuevas Altas y Bajas informadas y que fueron cargadas por Bane2Ais en tablas temporales. Como la informacin se cambia, realiza reclculos del Ciclo, reas Funcionales, Clasificaciones de la Operacin y del Cliente, Habitualidad de Pago

IncHost

INCImmdd.TXT

Recobro.LOG

Recobro.DBG

Solo lectura PAGOmmdd.TXT DEUDmmdd.TXT CLIEmmdd.TXT DYTEmmdd.TXT RCYOmmdd.TXT PASVmmdd.TXT TARJmmdd.TXT CACOmmdd.TXT PRESmmdd.TXT CUOTmmdd.TXT OBLGmmdd.TXT

Tablas RECOBRO RDEUDA RPAGOS RCLIE RCUOTAS RASIG RDYT RLOTE RBGES RHISTO RTARJ RPRES

Motor.INI

Motor

ConnProd.Dat

Subproceso que se encuentra dividido en dos etapas Estrategia: Etapa que evala las reglas de estrategia definidas por la organizacin, realiza la asignacin a los Niveles de Usuario, realiza la generacin de gestiones (TAR) y de Agenda. Asignacin: Etapa que asigna Usuarios Lgicos a cada LOTE registrado segn los respectivos Niveles de Usuarios asignados

Mandante 001

ES_BANE_R3_V.cin ES_BANE_R3_C.cin ES_BANE_R3_JV.cin ES_BANE_R3_JC.cin

Recobro.LOG

Tablas Input Tablas Input


(DESARROLLO) DS_MAESTRO_TELEFONOS DS_MAESTRO_DIRECCIONES DS_FERIADOS DS_ASIG_NUSUAR DS_ASIG_CARTERA DS_ASIG_AREAFUNC DS_ASIG_COMUNA DS_ASIG_INSTR DS_ASIG_TURNO DS_ASIG_CAST DS_ASIG_ZONA DS_USUARIOS DS_PER_VACACIONES RECOBRO.RLOTE

Tablas OutPut
(DESARROLLO) DS_ASIG_CANT

Tablas OutPut
RECOBRO.RFECHABIL RECOBRO.RRECO RECOBRO.RHLOTE RECOBRO.RBGES RECOBRO.RAGEN RECOBRO.RLOTE RECOBRO.RPARAM RECOBRO.RCLIE RECOBRO.ROBLG

GenDia

Subproceso que realiza el procesamiento la generacin de los archivos RAW. Base de la creacin del archivo UPL.
Recobro.LOG Recobro.DBG

ConnProd.Dat

LDIANVO_CASmmdd.RAW LDIANVO_VIGmmdd.RAW DISC_CAS.RAW DISC_VIG.RAW LDIAINHImmdd.RAW


Tablas Input (DESARROLLO) DS_MAESTRO_TELEFONOS DS_MAESTRO_DIRECCIONES Tablas RECOBRO RULTGESAUX RULTGES

Actualizacin Cadena RECOBRO

32 a 64 Bits
Cambios Efectuados

Actualizacin cadena RECOBRO 32 a 64 Bits


Instrucciones 32 Bits strcpy strncpy 64 Bits strcpy_s strncpy_s Se modifican comandos recomendados por el compilador (warning) a su versin segura, estructura de funciones (nuevos parmetros) y tipos de dato, producto del manejo de las nuevas instrucciones.

strcat
strncat sprintf fopen localtime atoi itoa strupr

strcat_s
strncat_s sprintf_s fopen_s localtime_s _atoi64 _i64toa_s _strupr_s fopen_s y localtime_s Requieren agregar nuevas variables y tipos de datos, dado que retornan instancias de error y su variable de asignacin en esta nueva versin es un parmetro.

fopen_s y localtime_s Requieren agregar nuevas variables y tipos de datos, dado que retornan instancias de error y su variable de asignacin en esta nueva versin es un parmetro.
Tipo de dato 32 Bits int 64 Bits _int64 tm

errnum_t
size_t

Ejemplos de los comandos alterados: 32 Bit strcpy(sComando, "STRING"); strcat(sComando, sOrigen); 64 Bit strcpy_s(sComando,sizeof(sComando),"COPY "); strcat_s(sComando,sizeof(sComando),sOrigen);
* sizeof tamao real de la memoria asignada

Los programas fuentes comparten libreras, principalmente de dos carpetas: Comn e Includes Las cuales contienen un gran numero de programas fuentes con rutinas compartidas (tipos .c y .h). Esto impacta de manera importante en el desarrollo dado que la modificacin de funciones o subrutinas de fuentes que estn en las carpetas compartidas implica una modificacin general en todos los mdulos en los cuales estas rutinas son utilizadas. Las modificaciones principalmente son de redefinicin de estructuras y tipos de datos, pero un grupo bien importante ha visto alterado su formato principal, agregando los parmetros necesarios para la nueva funcionalidad. Los programas (funciones) que se han tenido que alterar en su formato (cantidad de parmetros), son aquellos en los cuales originalmente se pasaba como parmetro, un dato de estructura o dato de un arreglo y la instruccin sizeof NO puede determinar su tamao.

Funcin 32 Bits: short ObtengoLineaComando(char *sProceso, char *sLineaComando); Funcin 64 Bits: short ObtengoLineaComando(char *sProceso, char *sLineaComando, int lensLineaComando);

Esto dado que:


Funcin 32 Bits: strcpy(sLineaComando, ""); Funcin 64 Bits: Modificacin recomendada por el compilador (warning) strcpy_s(sLineaComando, sizeof(sLineaComando), "");
Modificacin necesaria dado que sizeof NO logra descomponer tamao del parmetro strcpy_s(sLineaComando, lensLineaComando, "");

RESUMEN Proyecto MUL2BANE BANE2AIS CARTAS CNIVEL COMUN COSTOS Instrucciones modificadas 466 1.918 329 73 289 87 Warning 0 0 0 0 0 0 Error 0 0 0 0 0 0 Costos.exe Ejecutable Mul2Bane.exe Bane2Ais.exe Cartas.exe Cnivel.exe

GENDIA
INCHOST MOTOR RECBATCH TESTBD

496
2.742 1.415 512 99

0
0 0 0 0

0
0 0 0 0

GenDia.exe
Inchost.exe Motor.exe RecBatch.exe TestBD.exe

8.426

Cambios Pendientes
1. 2. 3. 4. 5. 6. Correccin del problema de 1 peso y moneda. Telfonos y clientes duplicados en RAW. Regla 4 del RESDIA que debe evaluar al cliente junto con sus telfonos Problemas de manejos de archivos Cambios solicitados por produccin. Dar de baja los compromisos de pagos cumplidos.

Você também pode gostar