Árvore de páginas

Versões comparadas

Chave

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

...

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 ser chamada dentro de transação.

 

Como segunda solução, a sugestão da  Controladoria,  pela perspectiva de Produto, era a de criar a tabela do semáforo contábil no dicionário de dados, assim não impactaria no que hoje já existe.  Essa solução foi rejeitada pelo time da Engenharia que questionou a necessidade de uma tabela para controle de semáforo.


Após entendimento de todas as questões acima citadas entre as áreas de Controladoria e Tecnologia, fomos orientados a uma terceira solução.

...

Outro ponto é na chamada da função que gera o número do próximo documento contábil, ProxDoc.  Como esta função pode estar dentro de uma transação, caso ela não consiga pegar um número de documento contábil disponível, utilizar a função Starjob para gerar 5 ( definido em conjunto com time TEC ) executá-la e gerar os números de documento contábil e novamente tentar pegar um número de documento disponível e bloquear e marcar como usado.

caso ela não consiga pegar um número de documento contábil disponível

04. Pontos de atençãodas funções escolhidas e nas formas de bloqueio de registros

...

A função ProxDoc que verifica qual o número do próximo documento contábil disponível e faz o seu bloqueio pode estar dentro de uma transação. Por isso, caso ela não consiga pegar um número de documento contábil disponível,  devemos criar uma função utilizando a função Starjob para gerar 5 10 ( definido em conjunto com time TEC ) números de documento contábil e voltar para a função ProxDoc até que consiga pegar e bloquear um número de documento disponível.  

...

08. Desenvolvimento/Codificação

Criar uma função, CallProxD, FunCallProxD. por exemplo, para chamar a ProxDoc. Esta por sua vez irá tentar bloquear um número de documento.  Caso consiga o bloqueio , irá gravar no novo campo, CTF_USADO, um indicador de que está usado. Pode ser o caracter 'S' e mantê-lo bloqueado até a gravação dos lançamentos contábeis (CT2). Caso não consiga, esta função exemplo, FunCallProx, deverá inciar um Job para gravar 5 números de documentos e, novamente,  tentar bloquear um número de documento.

...