Árvore de páginas

Versões comparadas

Chave

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

...

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 ) números de documento contábil e novamente tentar pegar um número de documento disponível e bloquear e marcar como usado.

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

...


a. Ca100Incl e SimpleLock

...

Outro ponto, é onde a função Gravalanc é chamada. Essa função é chamada em alguns pontos em que um procedimento e/ou regra de execução deverá ser definido, estamos falando das rotinas de rateio contábil, consolidação, Apuração de Resultados. Por exemplo, se faz sentido processar ao mesmo tempo os mesmos rateios em períodos diferentes mas subsequentes onde os lançamentos do primeiro influenciam na do segundo.


a.1 Como fazer

Em relação às dúvidas e questionamentos sobre as funções Ca100Incl e SimpleLock  abaixo seguem os esclarecimentos.


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

Em relação a SimpleLock não há problema em chamar a função duas vezes e 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  ).

...

Em relação a definição e/ou regra de execução de alguns processos contábeis o Product Owner será o responsável.

...

Nessa situação em que o número do documento será gerado por um Job, poderá e provavelmente ocorrerá de o número do documento não ser sequencial. Quais são ou existem restrições em relação a geração de números de documentos não sequenciais?



b.1 Como fazer

As dúvidas relacionadas às funções StartJob e RpcSetEnv seguem abaixo


Não há necessidade de chamar a função RpcSetEnv. Na função StarJob, no segundo parâmetro, informar GetEnvServer(), assim o job será executado no mesmo ambiente (environment) da conexão (thread) atual. Informar no terceiro parâmetro, true, assim a conexão pai espera a finalização do job. Chamar como Como abaixo:

StarJob("cNomeJob", GertEnvServ(), .T., "Parâmetros a serem passados para o JOB" ).


Existe a possibilidade  finalizar a conexão de uma sessão com a função KillUser. A Considerar que conexão principal pode irá esperar o término da execução do job, caso Job . Caso este não termine tem a opção de finalizar o job com a função KillUser.

...