Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Mejorar el desempeño de la Contabilidad Offline (CTBANFS) 

ProdutoProducto:

Microsiga Protheus®

OcorrênciaOcurrencia:

Baixa performance na rotina de contabilização Bajo desempeño en la rutina de contabilidad off-line dos de los documentos de saída salida  (CTBANFS)

Ambiente

Entorno:

Faturamento Facturación (SIGAFAT)

Passo Paso a passopaso:

Deck of Cards
startHiddenfalse
effectDuration0.5
idOCORRÊNCIASOCURRENCIAS
effectTypehorizontal
loopCardstrue
Card
defaulttrue
id0. Instruções Instrucciones para a resoluçãola resolución
labelMV_CNFSTHR

O parâmetro El parámetro MV_CNFSTHR habilita a contabilização la contabilidad Off-Line utilizando Múltiplas Múltiples Threads para acelerar o processamentoel procesamiento.

Abaixo descrevo um comparativo entre o processamento padrão da rotina CTBANFS e o processamento com múltiplas threads.

SEM utilizar o parâmetro MV_CNFSTHR

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 Neste exemplo é utilizado um conjunto de 100 notas de saída para processamento da contabilização, veja abaixo que o processo padrão executa nota-a-nota não utilizando de forma exponencial todo percentual de processamento dos servidores:

 

COM a utilização do parâmetro CON la utilización del parámetro MV_CNFSTHR

Neste exemplo é utilizado um En este ejemplo se utiliza un conjunto de 100 notas facturas de saída para processamento da contabilização e ativamos o parâmetro salida para procesamiento de la contabilidad y se activa el parámetro MV_CNFSTHR = 3, veja vea que o tempo de processamento é reduzido devido a execução em paralelo das notas de saídael tiempo de procesamiento se reduce debido a la ejecución en paralelo de las facturas de salida:

*Thread é um pequeno es un pequeño programa que trabalha trabaja como um un subsistema independente independientemente de um un programa maior, executando alguma tarefa mayor, ejecutando alguna tarea específica. Um Un programa dividido em várias threads é processado mais rapidamente do que um programa monolítico, pois várias tarefas podem ser executadas simultaneamente, compartilhando os recursos do 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.


Aviso
titleImportante
  • O numero El número máximo de threads para o parâmetro el parámetro MV_CNFSTHR e es 30, porem recomendamos testes com sin embargo, se recomiendan pruebas con valores menores para acompanhar o ganho de performance;
  • Pergunta (Mostra Lançamento Contábil?) deve estar configurada com o conteúdo igual a "NÃO";
  • Pergunta (Aglutina Lançamentos?) deve estar configurada com o conteúdo igual a "NÃO";
  • acompañar la ganancia de desempeño.
  • La pregunta (¿Muestra asiento contable?) debe estar configurada con el contenido igual a "NO".
  • La pregunta (¿Agrupa asientos?) debe estar configurada con el contenido igual a "NO".
  • El parámetro MV_PRELAN debe estar configurado con el contenido O parâmetro MV_PRELAN deve esta configurado com o conteúdo igual a "D"
Card
defaulttrue
id060720201
labelMV_OPTNFS

O parâmetro El parámetro MV_OPTNFS muda o comportamento de processamento da rotina CTBANFS, pois na montagem da massa de dados para processamento ao invés de ler registro-a-registro a rotina monta uma query (Select) no banco de dados recuperando todos os registros a serem processados (CURSOR).
Em testes em clientes verificamos um ganho de aproximadamente 30% no processamento da rotina.Importante: Com a mudança do parâmetro é necessária uma revisão geral das LP's.
Passo-a-passocambia 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).
En pruebas en clientes se verificó una ganancia de aproximadamente un 30% en el procesamiento de la rutina
.

Importante: Con el cambio del parámetro es necesaria una revisión general de los AE.

Paso a paso

1. Modificar el parámetro MV_OPTNFS al contenido 1. Alterar o parâmetro MV_OPTNFS para o conteúdo igual a .T. (VerdadeiroVerdadero);.

2. Realizar uma revisão das LP's abaixo trocando o alias das tabelas pelo nome do cursos una revisión de los siguientes AE cambiando el alias de las tablas por el nombre del cursor "CTBANFS":

Lista de LP's disponíveis na rotina AE disponibles en la rutina CTBANFS

Lanc

Asto.

Padrão

Estándar

Descrição

Descripción

610

Documento de

Saída

salida -

Inclusão

Inclusión de

Documento Itens

documento ítems                                                                        

611

Rateio

Prorrateo (

Tabela

Tabla SDE) -

Devolução

Devolución de

Compras

compras

612

Pedido de

Venda

venta -

Inclusão

Inclusión de

Documento Itens

documento ítems                                                                           

613

Documento de

Saída

salida -

Inclusão de Documento Rateio Itens

Inclusión de documento prorrateo ítems                                                                 

620

Documento de

Saída

salida -

Inclusão

Inclusión de

Documento Total

documento total                                                                        

621

Pedido de

Venda

venta -

Inclusão

Inclusión de

Documento Total

documento total                                                                           

631

Permite

a contabilização pela

la contabilidad por SL4 (

Itens

Ítems de

Venda

venta por

Forma

forma de

Pagamento

pago)

678

Documento de

Saída

salida -

Custo

Costo de

Mercadoria Vendida

mercadería vendida                                                                        

Exemplo da troca do alias das tabelas:


Ejemplo del cambio del alias de las tablas:

  • En el ejemplo voy a utilizar el principal asiento estándar de la rutina
  • No exemplo vou utilizar o principal lançamento padrão da rotina CTBANFS (610);
  • No En el modo PADRÃO ESTÁNDAR (MV_OPTNFS = .F.) quando incluímos as LP's informamos nos campos macro-executados o apelido das tabelas cuando se incluyen los AE se informan en los campos macroejecutados el alias de las tablas utilizadas, por exemplo ejemplo "SD2->";.No
  • En el modo performático de desempeño (MV_OPTNFS = .T.) devemos obrigatoriamente ajustar as LP's alterando os campos macro-executados para o novo apelido obligatoriamente deben ajustarse los AE, modificando los campos macroejecutados al nuevo alias "CTBANFS";.


Dica
titleObservaçãoObservación
    • Obligatoriamente debe ajustarse el alias de todos los campos macroejecutados de las solapas Valores, Historial y Otros para las tablas
  • Deve-se obrigatoriamente ajustar o apelido de todos os campos macro-executados das abas Valores, Histórico e Outros para as tabelas
    • SC5, SC6, SB1, SA1, SA2, SF2, SD2
  • e
    • y SF4
  • ;
    • .
  • Você pode
    • Puede utilizar este mecanismo de
  • performance em conjunto com o parâmetro
    • desempeño en conjunto con el parámetro MV_CNFSTHR (
  • Múltiplas
    • Múltiples Threads)
  • ;Se os Lançamentos Padrões Offline foram
    • .
    • Si los Asientos estándar Offline fueron definidos para tratar
  • o apelido
    • el alias CTBANFS
  • os mesmos não poderão ser utilizados em um processo de contabilização
    • estos no podrán utilizarse en un proceso de contabilidad Online.
Card
defaulttrue
id0. Instruções para a resolução
labelPeríodo contabilizado

Contabilização Contabilidad por Período / Documento / Dia, qual o mais performático?
Na parametrização da contabilização off-line da Nota Fiscal de Saída temos três tipos de parametrização “Por Documento”, “Por período” e “Por Dia”.
Identificamos que o tipo “Por Documento” e “Por Dia” utilizam muito acesso a disco do CTREE/ADS que pode gerar uma pequena queda na performance.
Recomendamos a utilização da opção “Por Período” que possui maior desempenho no processamento de grandes volumes de contabilizaçãoDía, ¿cuál es el de mejor desempeño?

En la parametrización de la contabilidad off-line de la Factura de salida existen tres tipos de parametrización “Por documento”, “Por período” y “Por día”.
Se identificó que el tipo “Por documento” y “Por día” utilizan mucho acceso a disco del CTREE/ADS lo cual puede generar una pequeña caída en el desempeño.
Se recomienda utilizar la opción “Por período” que tiene mayor desempeño en el procesamiento de grandes volúmenes de contabilidad.

Card
defaulttrue
id0. Instruções para a resolução
labelSequencia Secuencia de Contabilizaçãocontabilidad

Um fator que diminui a performance da rotina CTBANFS é a alta quantidade de "SequênciasUn factor que disminuye el desempeño de la rutina CTBANFS es la gran cantidad de "Secuencias" (CT5_SEQUEN) para um mesmo lançamento padrãoun mismo asiento estándar, por isso recomendamos que a quantidade não ultrapasse 10 sequenciaseso se recomienda que la cantidad no supere 10 secuencias.

Aviso
titleImportante

Ao executar a rotina de processamento "Contabilização Al ejecutar la rutina de procesamiento "Contabilidad Off-Line - CTBANFS" para contabilizar os movimentos Vendas o los movimientos Ventas, el campo F2_DTLANC SEMPRE será atualizado com sua data de processamento, mesmo que não seja gerado lançamento contábil na tabela CT2. Esse procedimento é utilizado para evitar reprocessamento indevidos de movimentos já avaliados pela rotina.

Se optar pelo uso de múltiplas threads pra melhoria de performance, não poderá trabalhar com uso schedule  para contabilização. A rotina de contabilização via faturamento, CTBANFS, só funciona via schedule, caso ela não esteja configurada para utilizar múltiplas threads.

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.

Esto ocurre porque las threads del Schedule (SIGACFG) se diferencian de las Threads de los módulos del sistema. Entonces, vía Schedule, se consideran las Threads del Agent y no de los parámetros de los otros módulos.

En caso de dudas en la configuración de las Threads del Agent (Configurador), entre en contacto con el Equipo Framework

Puede ser de su interés:Pode lhe interessar: