1) Criar o controle de numeração onde o valor deve ser o valor corrente do campo.
INSERT INTO TB_CONTROLE_NUMERACOES(CNU_CHAVE, CNU_VALOR, ATIVO, UNIDON, GRUPO_UNIDON, USUARIO_ULT_ALTERACAO, DATA_ULT_ALTERACAO, VERSAO) VALUES('CHAVE_CONTROLE_SEQUENCIAL', 0, 1, 1, 1, 'gerador', <DATA/HORA>, 0)
Substituir CHAVE_CONTROLE_SEQUENCIAL pelo nome que será chamada a chave, pode adicionar qualquer nome de sua preferência.
Substituir <data/hora> no sql substituir por getdate() e no oracle sydate.
2) Cria uma unique key no campo que terá o controle de numeração
ALTER TABLE TB_CLI_SUATABELA ADD CONSTRAINT UK_NOME_CAMPO UNIQUE (TESTE_CAMPO)
Substituir TB_CLI_SUATABELA pelo nome físico da tabela criada.
Substituir UK_NOME_CAMPO pelo nome que será chamada a UK do campo, pode adicionar qualquer nome de sua preferência.
Substituir TESTE_CAMPO pelo campo que gerará sequencial.
3) Realizar update no atributo para o gerador de interface
UPDATE GINTB_ATRIBUTO SET ATR_UKPROX = 'UK_NOME_CAMPO', ATR_CHAVECONTNUM = 'CHAVE_CONTROLE_SEQUENCIAL' WHERE ATR_NOMFISICO = 'TESTE_CAMPO'
Substituir UK_NOME_CAMPO pelo nome dado anteriormente para a UK do campo.
Substituir CHAVE_CONTROLE_SEQUENCIAL pelo nome dado anteriormente a chave da UK.
Substituir TESTE_CAMPO pelo campo que gerará sequencial.
4) Colocar o campo que vai gerar sequencial como código, e retirar o ID como código.
UPDATE GINTB_ATRIBUTO SET ATR_CAMPOCODIGO = 1 WHERE ATR_NOMFISICO = 'TESTE_CAMPO' UPDATE GINTB_ATRIBUTO SET ATR_CAMPOCODIGO = 1 WHERE ATR_NOMFISICO = 'TESTE_ID'
Substituir TESTE_CAMPO pelo campo que irá gerar sequencial.
Substituir TESTE_ID pelo campo ID da tabela.
5) Limpar o cache <Dominio>/<aplicação>/gerenciamentocache?evento=excluir
6) Na criação da interface no campo em questão deve ser marcado a opção “Gera valor Sequencial”.