Histórico da Página
...
Na primeira situação em que a função Ca100Incl é chamada recebendo o vetor aFlagCTB, os elementos do vetor devem ser bloqueados para serem no final atualizados na origem. 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ão, 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 esses registros.
Não existe problema em chamar a função SimpleLock duas vezes e ela não utiliza a função LockByname de forma oculta. Único cuidado a ser tomado é no momento de tirar o bloqueio de um registro com a função MsRUnlock. Caso esteja dentro de transação não há necessidade de executar essa função ( segundo a TEC não existe problema ).
Na segunda situação da chamada da função Ca100Incl, deve ser dada atenção e aprofundar o entendimento dos fontes onde o vetor aFlagCTB não é passado. Isso ocorre em algumas rotinas de contabilização de integração e dentro do próprio módulo Contábil. Também verificar e/ou identificar para qual outra finalidade esse vetor é utilizado. Por exemplo, se pode ser passadas tabelas de usuário e se existe algum tratamento específico nesta situações.
...