O Artigo é válido somente para a 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, e 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).

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

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


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 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 irá aparecer 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 os registros que já foram processados pela rotina CTBA190. Todos os lançamentos efetuados durante o reprocessamento de saldos ficarão com o status de PRÉ-LANÇAMENTO, pois não há a possibilidade de atualização de saldos durante o processamento da rotina OFF-LINE.


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