Histórico da Página
CONTEÚDO
- Visão Geral
- Exemplo de utilização
- Escolha do Mecanismo para Remoção do Semáforo
- Pontos de atenção das funções escolhidas e nas formas de bloqueio de registros
- Ca100Incl e SimpleLock
...
b. StarJob e RpcSetEnv
b.1 Tirando Dúvidas
...
- Solicitação de Coexistência de versões Protheus anteriores ou iguais a 12.1.31
...
a. Coexistência de diversas Versões Protheus
b. Tabela de Documento contábil, CTF
...
d. Fontes com ajustes no módulo Contábil
6. Mensagem Única
...
- Tabelas Contábeis Envolvidas
8. Desenvolvimento/Codificação
...
- Parâmetros do Semáforo Contábil
...
- Funções de Semáforo
...
- Rotinas chamadoras das funções de Semáforo Contábil
...
12. Rotinas chamadoras da função GravaLanc
...
01. Visão Geral
Com as evoluções do Protheus houve a necessidade de remoção do arquivo de semáforo contábil.
A contabilização de integrações faz uso função LockByName e da tabela de semáforo contábil. Esta tabela era criada no diretório system e não será mais criada.
Outra mudança foi na geração do número do documento contábil (CTF). Este número passou a ser criado por JOB em uma thread separada que cria uma quantidade determinada pelo parâmetro MV_CTFQTD.
Essa remoção do arquivo de semáforo contábil e a criação do número do documento contábil por job estará diponível a partir da versão 12.1.33.Para versões anteriores continuará sem alterações.
02. Exemplo de Utilização
Esta funcionalidade será utilizada em todos os módulos do ERP em que existe contabilização de integrações e dentro do próprio módulo Contabilidade Gerencial.
03.
...
Após discussões das questões de performance, concorrência, perda de dados, funções dentro de transações, inicialmente, fomos orientados a adotar a solução abaixo que serão feitos em dois pontos.
Na função de contabilização Ca100Incl, na contabilização de integrações, receber do módulo origem o vetor aFlagCTB preenchidos com as devidas posições, aFlagCTB{ 'campo da tabela a ser marcado', 'string a gravar', 'alias da tabela a marcar', 'recno a ser marcado' } para todos os registros de origem a serem contabilizados. Também não alterar o local da chamada dessa função dentro do ERP, podendo algumas chamadas ficarem dentro de transaçã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 executá-la e gerar os novos números de documentos contábeis e novamente tentar pegar um número de documento disponível e bloquear e marcar como usado.
Porém, na reunião com o time da Engenharia, foi solicitado a verificação da possibilidade de coexistência de várias versões do Protheus anteriores a P12.1.31 e da possibilidade de não alterar os fontes dos módulos de origem da contabilização.
...
Solicitação de Coexistência de versões Protheus anteriores e iguais ou superiores a P12.1.033
a. Coexistência de diversas Versões Protheus
Para versões anteriores da P12.1.33, a criação do arquivo de semáforo contábil na pasta system será mantida.
Para versões a partir de P12.1.033, o arquivo de semáforo contábil será substituída por LockByName e SimpleLock para o bloqueio do número do documento a (CTF).
...
04. Tabelas Contábeis Envolvidas
CTF - Capa do Lote Contábil
Nesta tabela criar um campo para indicar se o documento já está em uso por outra conexão.
Campo X3_CAMPO | Tipo X3_TIPO | Tamanho X3_TAMANHO | Decimal X3_DECIMAL | Picture X3_PICTURE | Título X3_TITULO | Descrição X3_DESCRIC | Grupo Cpos X3_GRPSXG | Usado X3_USADO | Obrigatório X3_OBRIGAT | Browse X3_BROWSE | Opções X3_F3 | When X3_WHEN | Relação X3_RELACAO | Visual X3_VISUAL | Val Sistema X3_VALID | Contexto |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CTF_USADO | C | 1 | Doc Usado | Indicador de uso do Documento Contábil | X | N | R |
CTK - Tabela de Contraprova gerada pela função
...
Detprova
SX6 - Tabela de parâmetros do sistema.
Será criado um novo parâmetro para definir a quantidade de documentos a serem criados pelo Job. Assim poderá ser aumentado se houver demanda por mais documentos.
X6_FIL | X6_VAR | X6_TIPO | X6_DESCRIC | X6_CONTEUD | X6_PROPRI |
|---|---|---|---|---|---|
| MV_CTFQTD | N | Quantidade de Documentos a serem criados pelo Job | 10 | S |
...
05. Parâmetros do Semáforo Contábil
MV_CTBSER - “1” - ligado; “2” desligado; “3” modo teste.
MV_CTBSERT - tempo em milissegundos.
MV_CTBSERD – “.T.” permite exclusão do arquivo; “.F.” Não exclui.
MV_CTBSETZ – “.T.” permite zap/truncate; “.F.” não permite
MV_CT2SMLT – “.T.” configuração para alterações(opção diferente de inclusão) simultâneas.
MV_CTBNFSE - “1”- ligado, “2”- desligado
A partir da versão 12.1.33 os parâmetros acima não serão mais considerados.
...
Em versões anteriores nada muda.
MV_CTFQDT - 10.
...
Esse parâmetro indica
...
a quantidade de documentos ( CTF_DOC ) a serem criados pelo job. Assim
...
, pode e deve ser aumentado de acordo com a demanda de documentos.
...
06. Funções do Semáforo Contábil
CtbSerialI
CtbSerialF
CtbFimSemaforo
CtbIniSemaforo
CanProcItvl
FreeProcItvl
...
07. Rotinas chamadoras das funções do Semáforo Contábil
ATFA371.PRX – Contabilização Off line do Ativo
CTBA190.PRW- Reprocessamento Contábil
CTBA210.PRW – Apuração de Resultados -Não tratar.. - DESCONTINUADO
CTBA215.PRW – Estorno da Apuração de Resultados
CTBA220.PRW – Consolidação Geral
CTBA230.PRW – Consolidação Configurada
CTBA280.PRW – Gerar lançamentos referentes ao rateio off line cadastrado.
CTBA281.PRW - Este programa calcula os rateios Off-Line cadastrados. (Rateio por combinacoes)
CTBA340.PRW – Cálculo de variação monetária ( Translation Effect).
CTBA350.PRW – Efetivar pré-lançamentos. “ON”
CTBA370.PRW – Recalcular valor dos lançamentos contábeis
CTBA380.PRW – Variação Monetária – Apurar diferença Cambial entre as moedas.
CTBA381.PRW – Variação Monetária - Localizações.
CTBA500.PRW – Contabilização txt. “ON”
CTBXATU.PRW – Grava lançamentos Contábeis – CT2
CTBXSEM.PRW – Funções de Semáforos
CTBANFE.PRW – Processamento da Contabilização Off line de Documentos de Entrada.
CTBANFS.PRW – Processamento da Contabilização Off Line de Documentos de Saída.