Dúvida
KCS - Como configurar a chave SpecialKey?
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - Estoque/Custos - Todas as versões.
Solução
Quando o controle de numeração do sistema for realizado através do hardlock e existir mais de uma base compartilhando este hardlock, precisamos utilizar uma chave chamada SpecialKey. Ela serve para que o sistema possa identificar qual base fez a requisição do próximo numero.
Vamos supor que temos um campo chamado A1_SEQUEN e o inicializador padrão deste campo executa a função GETSXENUM para buscar a numeração sequencial. Se tivermos uma base de teste e uma base de produção com esta mesma configuração, ao entrar na base de teste e executar a função, o sistema retornará o próximo numero e se depois entrarmos no ambiente de produção ele retornará o numero sequencial ao utilizado no ambiente de teste.
Numero recebido pela base de teste: 4
Numero recebido pela base de produção: 5
Isso acontece porque o hardlock não sabe o que é sua base de teste e o que é sua base de produção. Por isso devemos utilizar a chave SpecialKey no Ini do server para informar ao hardlock que estamos utilizando bases diferentes, assim a numeração de uma base será independente da outra.
A utilização da chave é bem simples, basta coloca-la abaixo da seção do ambiente. A chave necessita apenas de uma string que será utilizada para identificar a base, por exemplo, no ambiente de produção pode ser SpecialKey=prd e no ambiente de teste SpecialKey=tst.
Abaixo temos o exemplo de como o appserver.ini ficaria:
Dúvidas referente a usabilidade dentro de sua estrutura de numeração, poderá abrir um ticket junto ao time "Protheus Framework".