Este erro está prometido para ser corrigido em GeneXus logo em breve.
O problema é porque criamos uma tabela com uma chave primaria numérica.
E depois decidimos que ela seja autonumérica.
Então fomos nas propriedades do atributo e marcamos ele para autonumber = true.
Executamos a reorganização e tudo parece certo.
Mas na hora de executar, nos encontramos com esse problema.
O que aconteceu e que GeneXus não criou o trigger correspondente, e sim a sequência.
Bem, a solução é entrar no GeneXus novamente e marcar esse atributo para autonumber = false.
Executar F5 e GeneXus vai mostrar a sequência e o trigger a ser apagado.
Só que não vamos a apagar nada, vamos pegar a sentencia do trigger por exemplo:
DROP TRIGGER AN$ZZZNossoAtributo
(tem que marcar e com botão direito copiar, senão não vai)
para criar a mão o trigger no oracle da seguinte forma.
create or replace TRIGGER AN$ZZZNossoAtributo BEFORE INSERT ON NossaTabela FOR EACH ROW BEGIN SELECT NossoAtributo.NEXTVAL INTO :new.NossoAtributo FROM DUAL; END;
ZZZ é o número interno que identifica o atributo en GeneXus.
Listo, agora voltamos a GeneXus, cancelamos a reorganização e colocamos o atributo novamente com a propriedade de autonumber = true.
Fabricio De los Santos
Gerência de Projetos – Consultoria GeneXus –
ERP Sistemas de Missão Crítica – Bancos de Dados.
Veja meus blogs em:
www.fabriciodelossantos.com
Suscríbete a mi newsletter