Producto: | Microsiga Protheus® | ||||||||||||||||||
Ocurrencia: | Bajo desempeño en la rutina de contabilidad off-line de los documentos de salida (CTBANFS) | ||||||||||||||||||
Entorno: | Facturación (SIGAFAT) | ||||||||||||||||||
Paso a paso: | El parámetro MV_CNFSTHR habilita la contabilidad Off-Line utilizando Múltiples Threads para acelerar el procesamiento. A continuación se realiza un comparación entre el procesamiento estándar de la rutina CTBANFS y el procesamiento con múltiples threads. SIN utilizar el parámetro MV_CNFSTHR En este ejemplo se utiliza un conjunto de 100 facturas de salida para procesamiento de la contabilidad, vea a continuación que el proceso estándar ejecuta factura por factura sin utilizar de forma exponencial todo el porcentaje de procesamiento de los servidores:
CON la utilización del parámetro MV_CNFSTHR En este ejemplo se utiliza un conjunto de 100 facturas de salida para procesamiento de la contabilidad y se activa el parámetro MV_CNFSTHR = 3, vea que el tiempo de procesamiento se reduce debido a la ejecución en paralelo de las facturas de salida:
*Thread es un pequeño programa que trabaja como un subsistema independientemente de un programa mayor, ejecutando alguna tarea específica. Un programa dividido en varias threads se procesa más rápidamente de lo que un programa monolítico, pues varias tareas pueden ejecutarse simultáneamente, compartiendo los recursos del sistema. Importante
El parámetro MV_OPTNFS cambia el comportamiento del procesamiento de la rutina CTBANFS, pues en el montaje de la masa de datos para procesamiento en lugar de leer registro por registro, la rutina monta una query (Select) en la base de datos recuperando todos los registros que se procesarán (CURSOR). Importante: Con el cambio del parámetro es necesaria una revisión general de los AE. 1. Modificar el parámetro MV_OPTNFS al contenido igual a .T. (Verdadero). 2. Realizar una revisión de los siguientes AE cambiando el alias de las tablas por el nombre del cursor "CTBANFS": Lista de AE disponibles en la rutina CTBANFS
Observación
Contabilidad por Período / Documento / Día, ¿cuál es el de mejor desempeño? Un factor que disminuye el desempeño de la rutina CTBANFS es la gran cantidad de "Secuencias" (CT5_SEQUEN) para un mismo asiento estándar, por eso se recomienda que la cantidad no supere 10 secuencias. Importante Al ejecutar la rutina de procesamiento "Contabilidad Off-Line - CTBANFS" para contabilizar los movimientos Ventas, el campo F2_DTLANC SEMPRE se actualizará con su fecha de procesamiento, aunque no se genere el asiento contable en la tabla CT2. Este procedimiento se utiliza para evitar reprocesamientos indebidos de movimientos evaluados por la rutina. Si optara por el uso de múltiples threads para mejora de desempeño, no podrá trabajar con el uso de schedule para contabilidad. La rutina de contabilidad vía facturación, CTBANFS, solamente funciona vía schedule, si esta no estuviera configurada para utilizar múltiples threads. | ||||||||||||||||||
Puede ser de su interés: |