Este conjunto de funcionalidades estará disponível a partir do release 12.1.33

01. VISÃO GERAL  

Com a nova estrutura de saldos contábeis será possível realizar a atualização das tabelas de saldo das seguintes formas: Atualização On-line, Atualização Off-line e Atualização em Fila.

A atualização de saldo em fila é chamada assim pois, no momento de inclusão do lançamento contábil, não é feita a gravação das tabelas de saldo, mas sim a inclusão da chave do lançamento em uma tabela de fila de processamento (Tabela CQA).

Um agente configurado na rotina de schedule irá chamar a rotina de processamento de saldo em fila (CTBA193) em segundo plano, utilizando outra thread (processamento assíncrono).

Com essa implementação, ambientes com intensas operações contábeis serão beneficiadas pois a gravação de saldos não será feita imediatamente, liberando o sistema para outras operações.

     

Para agilizar ainda mais o processamento de saldos, foi desenvolvido um novo pacote de procedures para esta operação. As procedures estão disponíveis para os bancos de dados SQL Server, Oracle e Postgres.

Para iniciar o envio dos saldos para a tabela CQA (Fila de Saldos), o usuário deve configurar os parâmetros MV_CTBJOB = 1 e MV_ATUSAL = S.

Porém, isso ainda não fará com que os saldos sejam atualizados.

Para habilitar o processamento via fila de saldos, é necessário configurar a execução da rotina CTBA193 no SCHEDULE e os agentes via configurador.


02. PRIMEIROS PASSOS




 Antes de criar Agente, ative o parâmetro  MV_CTBJOB preenchendo o seu conteúdo com o valor 1 , conforme o exemplo abaixo. 

Parâmetro

Descrição

Conteúdo Padrão
MV_CTBJOB

Define se usará JOB para o processamento.

1 - Utiliza job para atualização de saldos;

2 - Utiliza o processamento tradicional.

2


Agora é necessário configurar o agente.


Para que seu ambiente esteja preparado para a utilização desta rotina pela primeira vez, é necessário realizar a configuração inicial, através do SCHEDULE (CFGA010). 

  • No módulo configurações acessar Ambiente > Schedule > Schedule.


  • Clicar no ícone da pasta Schedule e Clicar no botão “Iniciar todos os serviços


  • Clicar na pasta “Agent” > Cadastro e Clicar Adicionar agentes padrão


  • Clicar na Pasta Agendamento, selecionar a opção Incluir. No campo rotina, digite CTBA193. Selecione as empresas e Filiais para processamento e em seguida selecione como módulo o 34 – Contabilidade Gerencial.


  • Clique no botão recorrência para configurar a periodicidade que o sistema irá acionar o agendamento.

Após execução de todas as etapas de configuração inicial, seu ambiente estará preparado para a utilização do Reprocessamento de Saldos por Fila.


Ao serem executados os agentes irão ser executados e serão informados no console do Appserver:



Caso tenha dúvidas também é possível visualizar um vídeo How To para melhor entendimento

CONFIGURANDO UM AGENTE - HOW TO





A partir desta configuração, toda INCLUSÃO, ALTERAÇÃO ou EXCLUSÃO de lançamento contábil via rotinas manuais (CTBA101,CTBA102 e CTBA103) ou integrações contábeis (CTBA105), não irão mais atualizar saldo online.

Serão gravadas as chaves do lançamento na tabela CQA para que sejam processadas em segundo plano (assíncrono) pelo agendamento configurado.


Conforme exemplo abaixo:


Com a configuração deste processo, não deverá mais existir concorrência na atualização de saldos, ficando assim mais fluido o processo de contabilização.


03. DEMAIS INFORMAÇÕES


Além deste processo, foi desenvolvido uma validação nas rotinas manuais para verificar se o lançamento contábil que será alterado ou excluído ainda está na fila de processamento. Caso esteja na fila, será apresentada uma mensagem informando ao usuário que a operação não será feita pois o lançamento está sendo processado.

Se o usuário executar a rotina de reprocessamento de saldo off line (CTBA190) o sistema irá recalcular os saldos e excluir da fila SOMENTE os registros que foram processados pela rotina CTBA190.


Caso houver a tentativa de alteração de um registro que ainda está em processamento pela fila de saldos irá ser exibido a mensagem abaixo:


Exemplo do help no sistema:



O processamento em fila também conta com um mecanismo ( nova tabela de controle QLG ) para controle e concorrência entre as rotinas CTBA190 e CTBA193 por meio de alertas no AppServer para checagem (C190PAUSA)


Também é importante ressaltar que a tabela QLG é uma tabela de controle, ou seja ela eventualmente sempre terá o registro da CTBA193 e caso seja executado a CTBA190 será deletado o registro e substituído o controle para a CTBA190 até que o processo esteja terminado, assim controlando a concorrência da fila.


Quando é executado a rotina CTBA190, gera a concorrência:


Vale ressaltar que o registro da QLG referente a rotina CTBA193 contém campos em branco, pois ele se trata de um job geral e os detalhamentos nos campos aparecem de forma mais detalhada na rotina concorrente (CTBA190).


Para mais informações segue link do documento técnico dessa melhoria → DT Melhorias no processo de Reprocessamento de Saldos em concorrência 



04. MAPA MENTAL/FLUXOGRAMA


Mapa Mental das rotinas que podem atualizar os saldos:



Fluxograma do processo geral de atualização de saldos:


05. TABELAS UTILIZADAS

     Tabelas de Saldos Básicos:


     Tabelas de Saldos Compostos:

     Tabela para processamento em Fila: