O Artigo é válido somente a partir da versão 12 do Protheus
Com a nova estrutura de saldos contábeis será possível realizar a atualização das tabelas de saldo das seguintes formas:
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 foram disponíveis para os bancos de dados SQL Server e Oracle.
Para iniciar o envio dos saldos para a tabela CQA (Fila de Saldos), o usuário deve apenas configurar o parâmetro MV_CTBJOB = 1. Porém, isso ainda não fará com que os saldos sejam atualizados. Para processar a fila de saldos criada, é necessário configurar a execução da rotina CTBA193 no SCHEDULE. |
Configuração da rotina CTBA193 no SCHEDULE:
A partir desta configuração, toda INCLUSÃ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. Na ALTERAÇÃO e EXCLUSÃO de lançamento contábil o saldo será atualizado ONLINE, não entrando na fila de atualização de saldos CQA. |
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 dos registros que foram processados pela rotina CTBA190.
Tabelas Utilizadas
Tabelas de Saldos Básicos:
Tabelas de Saldos Compostos:
Tabela para processamento em Fila
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.
#ctba193 #Saldos_Contábeis #protheus12 #Atualização em Fila #schedule CTBA193