FAQs - Suporte técnico

PGFE0160 - Como resolver erro de Chave Única Duplicada no módulo SIGAGFE ou demais módulos do Protheus ?

Produto:

Protheus

Ocorrência:

Como resolver erro de Chave Única Duplicada no módulo SIGAGFE ou demais módulos do Protheus ?

Passo a passo:

Para os Cadastros e Movimentos no qual a numeração é gerada de forma automática e não permite ao usuário alterar a mesma, esta numeração é controlada pelas tabelas SXE/SXF ou Pelo License Server de acordo com a configuração do ambiente do Cliente.

 

Inicialmente deverá ser verificado se o controle de Numeração está sendo realizado pelo License Server.

Para isso deverá ser aberto appserver.ini do License Server que normalmente tem o nome "totvsappserver.ini" e procure pela tag "EnableNumber" e verifique se está ligado (igual a "1") ou desligado (igual "0").

Quando está igual a "1" significa que está ligado, ou seja, o controle de numeração está sendo realizado pelo License Server.

Quando está igual a "0" significa que está desligado, ou seja, o controle de numeração não está sendo realizado pelo License Server e sim pelos arquivos SXE e SXF do Protheus. Estes arquivos ficam dentro da pasta "SYSTEM" da instalação do Protheus.

 

Para o primeiro caso, onde o controle de numeração esta sendo realizado pelo License Server, deverá seguei o passo-a-passo abaixo:

 

1) Executar o programa "APCFG110" pela opção "Miscelanea >> Executar Programas". Neste programa "Executar Programas", informar "APCFG110" no campo "Nome Funcao" e Confirmar.

2) Neste novo programa aberto, "Numerador Automático", procure na primeira Grid o "Alias" da tabela que está ocorrendo o erro de Chave Duplicada para a Filial em questão (a Filial aparece no começo da coluna "Chave"). Após encontrar o registro correto, altere a coluna "Numero" para dois número acima do último documento criado. Exemplo: o último Romaneio existente para a Filial "01" é "0003560" e neste caso deverá informar o número "0003562".

3) Neste mesmo programa "Numerador Automático", porém na segunda Grid execute o mesmo procedimento descrito acima porém altere a coluna "Numero" para um número acima do último documento criado. Exemplo: o último Romaneio existente para a Filial "01" é "0003560" e neste caso deverá informar o número "0003561".

 

Para o segundo caso, onde o controle de numeração esta sendo realizado pelo Protheus, deverá seguei o passo-a-passo abaixo:

 

1) Procure pelos arquivos SXE.??? e SXF.??? dentro do diretório "SYSTEM" e renomeie os mesmos. Quando acessar o Protheus novamente e incluir o próximo Documento estes arquivos serão criados e alimentados com o próximo numerador de forma automática.

Observação: Neste segundo caso, pode ser realizado o mesmo passo-a-passo do primeiro caso, porém este procedimento é mais rápido e vai resolver o problema de chave duplicada para todas as tabelas.

 

 

 

Observações:

Segue outras Bases de Conhecimento relacionado a esse assunto.

Como configurar o ambiente para utilização das tabelas SXE e SXF para controle de numeração?

EnableNumber

Informações adicionais fornecidas pela nossa área de Tecnologia 

No momento da instalação do License Server 2014, é questionado se a numeração automática será controlada pelo Hardlock (Sim / Não). Se você mantém como Sim (que é a configuração mais recomendada), ele assume a numeração por hardlock (Enablenumber=1). Se você quer manter o controle por SXE/SXF, deve selecionar a opção Não, ou alterar a linha para Enablenumber=0.

Caso tenha gerado incorreção na numeração, segue abaixo o procedimento de acerto de numeração automática:

Procedimento para acerto de numeração automática:

Devemos verificar incialmente questões referentes ao campo(1) em questão.

Caso não seja resolvido o problema devemos verificar sobre o controle(2).

0 - Pasta SYSTEM

----------------

Mais de uma pasta System = USO OBRIGATÓRIO DE HARDLOCK!

NÃO FUNCIONA com SXE e SXF para mais de um SYSTEM.

 

1- Sobre o campo:

Para que o cadastro de clientes, por exemplo, traga na inclusão automaticamente o próximo número disponível,

pode-se utilizar a seguinte sintaxe no inicializador padrão do campo A1_COD:

GetSx8Num("SA1","A1_COD").

Obs: Na maioria das vezes o inicializador padrão do campo está cadastrado como: GetSx8Num("SA1").

 

2- Sobre o controle:

 

2.1 - Como está definido o controle(ENABLENUMBER)? É pelo hardlock ou pelo SXE e SXF?

 

[LICENSESERVER]

enable=1

ENABLENUMBER=0

;CONTROLE DE NUMERAÇÃO

;=1 PELO HARDLOCK (default)

;=0 PELO SXE E PELO SXF

 

2.2 - Procedimento para Acerto de Numeração Automática quando utiliza HARDLOCK (RECOMENDADO PELA MICROSIGA):

 

Para acertar a numeração pelo HARDLOCK, siga os seguintes passos.

 

- Parar todo o serviço do Protheus que controla o HARDLOCK e, caso possua mais de um Protheus Service, para todos eles;

- Subir o Protheus Server que controla a numeração pelo HardLock em MODO CONSOLE (SOMENTE EM MODO CONSOLE), ou seja, a partir de comando

diretamente no DOS;

- Parar o serviço que controla a numeração por HARDLOCK e desta forma será criado o arquivo lsnumber.val no diretório

\BIN\SERVER\ do serviço que está sendo executado (CTRL+C: YES).

- Apagar o arquivo LSNUMBER.VAL.

- Subir o Protheus Server que controla a numeração pelo HARDLOCK em MODO CONSOLE e acessar o módulo que deverá ser acertada a numeração. Neste ponto, como não existe nenhuma numeração de referência, o HARDLOCK irá pegar o Número MÁXIMO existente para o campo e ira incrementar em +1.

- Parar o serviço que controla a numeração por HARDLOCK e desta forma será criado o arquivo LSNUMBER.VAL no diretório \BIN\SERVER\ do serviço que está sendo executado e neste arquivo será armazenado a numeração pertinente ao campo.

- A partir deste ponto, poderá subir o Protheus Server em modo SERVIÇO, através da ferramenta de controle de serviços do Windows.

Este procedimento irá acertar a numeração para a rotina e consequentemente como todas as numerações automáticas que são controladas pelo HARDLOCK

serão reiniciadas.

LEMBRETE: ESTE PROCEDIMENTO DEVE SER EFETUADO EM MODO EXCLUSIVO, POIS, QUALQUER INTERVENÇÃO QUE OS PROCEDIMENTOS SOFREREM POR ACESSO DE USUÁRIOS,

DEVERÁ SE REINICIAR TODO O PROCEDIMENTO NOVAMENTE DESDE O INÍCIO.

 

OBS: O USO DE NUMERAÇÃO AUTOMÁTICA EM BASE DE TESTE COM MESMO SERVIDOR DE LICENÇAS (HARDLOCK) DA PRODUÇÃO COMPROMETE A SEQUÊNCIA DE NUMERAÇÃO NA

BASE DE PRODUÇÃO. SOLUÇÃO -> PEDIR UM NOVO HARDLOCK E TRABALHAR SEPARADO.

 

2.3 - Procedimento para Acerto de Numeração Automática quando utiliza SXE e SXF:

 

Para manutenção do SXE e SXF e numeração para Hardlock. Basta criar uma opção no MENU chamando programa APCFG110.

 

- Ambiente/Cadastro/Menu;

- Selecionar somente o menu no Configurador clicar em OK;

- Adicionar o menu para a coluna "novo menu";

- Selecionar onde deverá ser salva a rotina

- Clicar em novo item

- Preencher o nome em port/ ingl e esp

- Em "programa" APCFG110 selecionar o módulo de configurador clicar em ok

- Gerar como sigacfg/ sair do configurador e entrar novamente para visualizar a nova rotina

 

Na rotina APCFG110 no configurador, verificar qual numeração esta incorreta (o número em uso ou proximo número) efetuar a alteração manualmente.

 

 

3- Quando uma tabela tiver mais de um campo com numeração automática, a função deve ficar conforme exemplo:

CAMPO: A1_COD – GETSXENUM(SA1, A1_COD, A1_COD)

CAMPO: A1_CODTST – GETSXENUM(SA1, A1_CODTST, A1_CODTST)

Se você não repetir o campo na função, o sistema só assume a numeração pelo Alias.

 

4- Caso o problema seja em uma rotina pontual é necessário verificar a questão com a rotina.

Solicitamos ao cliente que nos confirme em qual(is) a(s) rotina(s) em que ocorre erro de numeração automática e se é somente nela.

 

Links úteis Framework:

 

Novo License Server 2014

http://tdn.totvs.com/display/framework/TOTVS+|+License+Server+2014

http://tdn.totvs.com/display/framework/FAQ+-+TOTVS+License+Server+2014

 

FAQ Framework

http://tdn.totvs.com/display/public/mp/FAQ+--+36176

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados.

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _