Árvore de páginas

Informações a respeito do Lock de tabelas na Preparação do Doc. de Saída

Produto:

Microsiga Protheus®

Ambiente:

SIGAFAT - Faturamento

Ocorrência:Como funciona o Lock de Tabelas na rotina de Preparação do Documento de Saída?
Processo:

Ao realizar a emissão de um Documento de Saída, o sistema inicia um processo de gravação das tabelas que chamamos de “Transação”, nesta transação o sistema precisa realizar a alteração/inclusão de informações nas tabelas, para isso ele realiza um “Lock”, que seria uma reserva do registro na tabela para que não seja possível que dois usuários alterem o mesmo registro ao mesmo tempo, pois isso causaria inconsistências nas informações.


Ao iniciar a emissão do documento de saída, suponha que esse documento possui várias linhas com o mesmo produto:


O sistema realizará o Lock de acordo com as informações da nota, a tabela SC5 (Cabeçalho do Pedido de Vendas) possui apenas um Lock, pois o cabeçalho é um só para vários itens, já para a tabela SC6 (Itens do pedido de venda), o sistema realiza vários Locks, por serem vários itens:

Lock na tabela SB2:

No caso da tabela SB2 (Saldos), caso sejam vários itens com o mesmo código de produto, o sistema realiza o Lock uma vez só, porém caso sejam itens com códigos de produtos diferentes:

O sistema realizará um Lock por código de produto:


Importante

O sistema inicia a gravação das informações do Documento de Saída dentro da mesma transação e apenas libera os Locks ao concluir a gravação de todas as tabelas envolvidas, isso é um conceito geral do Protheus e ocorre para que, caso, por qualquer motivo, a transação seja interrompida, não ocorra de o sistema atualizar algumas tabelas e outras não.
Isso significa que, caso possua uma nota com dez itens diferentes, o sistema realizará o Lock dos dez itens na tabela SB2 e só liberará esse Lock ao concluir a gravação da nota.

Esse conceito de programação é utilizado para todas as rotinas/tabelas do Protheus, alterações no funcionamento padrão do sistema devem ser customizadas ou sugeridas através da Central Colaborativa.

Para informações a respeito dos parâmetros e pontos de entrada para tratamento do Lock de tabelas, verifique o Link: https://tdn.totvs.com/x/_IKcEw

Pode lhe interessar:

O registro encontra-se Bloqueado por outro usuário: https://tdn.totvs.com/x/_IKcEw

EOF Stack de chamadas em MSRLOCK.eof Controle de transaçoes Habilitado: https://tdn.totvs.com/x/vZgKDg

  • Sem rótulos