Histórico da Página
...
A princípio, como primeira solução, fomos orientados a utilizarmos apenas a função LockByName, sem a criação da tabela de semáforo contábil. Com isto surgiram questões como a ocorrência de um bombardeio dessa função e a preocupação de ocasionar uma lentidão generalizada no sistema e/ou a perda de dados. Outra questão trazida a tona foi a função CA100Incl Ca100Incl ser chamada dentro de transação.
...
Primeiro, não alterar o local das chamadas da função Ca100incl Ca100Incl dentro do ERP, porém receber o parâmetro aFlagCtb preenchidos com os devidos valores para que os registros contabilizados possam ser marcados como contabilizados nos módulos origem.
...
04. Pontos de atençãodas funções escolhidas e nas fomas de bloqueio de registros
Na primeira situação em que a função Ca100Incl é chamada recebendo o vetor aFlagCTB, os elementos do vetor devem ser bloqueados para ser no final atualizados. O conteúdo de alguns campos da tabela CTK também deverão ser bloqueados, como o CTK_TABORI e CTK_RECORI, pois nem sempre o conteúdo destes campos da tabela CTK são os mesmos do vetor aFlagCTB. Na grande maioria das vezes será, neste caso, se utilizarmos a função SimpleLock ou uma outra que não utilize o LockByName ocultamente, duas vezes, devemos certificar que não ocorrerá nenhum problema. Também devemos certificar que uma outra conexão não consiga pegar esse registro.
...