Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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.


O Bloqueio no conteúdo campo CTK_RECORI deve ser feito quando o vetor aFlagCTB estiver vazio. E quando o aFlagCTB estiver preenchido efetuar o bloqueio pelo conteúdo deste vetor.


Em relação a SimpleLock não existe problema em chamar a função 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  ).

...