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
a.1 Tirando Dúvidas
b. StarJob e RpcSetEnv
b.1 Tirando Dúvidas
- Coexistência de versões Protheus anteriores
...
- 12.1.
...
a. Coexistência de diversas Versões Protheus
b. Tabela de Documento contábil, CTF
c. Não alteração dos fontes de outros módulos nos processos de Contabilizações off line , versões maiores ou iguais a P12.1.031
d. Fontes com ajustes no módulo Contábil
6. Mensagem Única
...
- 33
...
- Tabelas Contábeis Envolvidas
8. Desenvolvimento/Codificação
- Parâmetros do Semáforo Contábil
10. Funções de Semáforo
11. Rotinas chamadoras das funções de Semáforo Contábil
12. Rotinas chamadoras da função GravaLanc
13. Rotinas chamadoras da função Ca100incl
- Prós
- Links Relacionados
...
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.
...
A tabela de semáforo contábil não será mais criada no diretório system
...
.
Outra mudança
...
é na geração do número do documento contábil (CTF). Este número passou a ser
...
gerado por JOB em uma thread separada que cria uma quantidade determinada pelo parâmetro MV_CTFQTD.
...
A remoção do arquivo de semáforo contábil e a
...
geração do número do documento contábil por job estará
...
disponí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.
05. 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
COEXISTENCIA DE VERSÕES PROTHEUS ANTERIORES A P12.1.33
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.
...
33, 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
...
Campo criado 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 |
...
O campo CTF_USADO funciona de acordo com a regra:
CTF_USADO = 'X' → Significa que a chave (DATA, LOTE, SUBLOTE , DOCUMENTO) está disponível para uso permitindo assim sua utilização no cadastro de um lançamento contábil.
CTF_USADO = 'R' → Significa que a chave (DATA, LOTE, SUBLOTE , DOCUMENTO) está disponível para ser reutilizada, o sistema não irá gatilhar o número dessa chave de forma automática, porém caso o usuário force sua utilização, o sistema irá liberar e o cadastro do lançamento contábil irá ser efetuado normalmente.
CTF_USADO = 'S' → Significa que a chave (DATA, LOTE, SUBLOTE , DOCUMENTO) está utilizada e não permitirá o uso, o sistema não irá gatilhar o número dessa chave de forma automática e caso o usuário force sua utilização, aparecerá o help (DOCINVALID) não permitindo sua utilização.
Ao finalizar a gravação de um lançamento contábil, o conteúdo do campo CTF_USADO irá ser atualizado para 'S' impedindo que seja utilizado para gravação de novos lançamentos com essa chave.
Ao excluir um lançamento contábil, o conteúdo do campo CTF_USADO irá ser atualizado para 'R' permitindo que o usuário possa reutilizar a chave.
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 |
100 | S |
...
05.PARÂMETROS DO SEMAFORO CONTÁBIL
| Parâmetro | Conteudo |
|---|---|
MV_CTBSER |
...
'1' = Ligado; '2' = Desligado; '3' = Modo teste. | |
| MV_CTBSERT |
...
Tempo em milissegundos. | |
| 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.
| Parâmetro | Conteúdo |
|---|---|
MV_CTFQTD | 100 = Esse parâmetro indica |
MV_CTFQDT - 10. Quantidade default de númerode documentos a serem criados por job
...
a quantidade de documentos ( CTF_DOC ) a serem criados pelo job. Assim |
...
, pode e deve ser aumentado de acordo com a demanda de documentos. |
10. Funções do Semáforo Contábil
CtbSerialI
CtbSerialF
CtbFimSemaforo
CtbIniSemaforo
CanProcItvl
FreeProcItvl
11. 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.
06. PRÓS
Prós:
- As alterações realizadas visam o ganho de performance nas contabilizações e estão presentes a partir do release 12.1.33
07. LINKS RELACIONADOS
CTBANFS.PRW – Processamento da Contabilização Off Line de Documentos de Saída.
