GeneXus - modificar clave primaria

 
Vista:

modificar clave primaria

Publicado por Victoria (9 intervenciones) el 14/09/2008 17:37:25
Hola,
tengo una TRN con 3 claves primarias, necesito modificar 1, 2 o las 3 claves, si llamo a la TRN en modo update al cambiar una de las claves me da de alta un registro nuevo y me mantiene este registro, y no eso no me sirve, necesito q me modifique el registro existente.
Alguien se le ocurre como lo puedo hacer??
muchas gracias
saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Patricio Ojeda V
Val: 73
Oro
Ha aumentado 1 puesto en GeneXus (en relación al último mes)
Gráfica de GeneXus

RE:modificar clave primaria

Publicado por Patricio Ojeda V (475 intervenciones) el 14/09/2008 20:55:12
Victoria,

El o los atributos que se definen como clave primaria en una transaccion permiten definir la unicidad de los registros. Por ende, estos valores no se pueden cambiar, ya que al cambiarlos, simplemente se entiende que estas haciendo referencia a otro registro... y no al mismo.

Una "posible" solucion a esa problematica es definir como clave primaria de esa transaccion a un atributo que sea correlativo o autonumber, y dejar los atributos que eran clave primaria y que necesitas cambiar como atributos secundarios. Con ello podras despues entrar y modificar esos atributos sin problemas.

Te recomiendo analizar bien las estructuras de tus transacciones, pues me da la impresion que no estas definiendo bien la logica de tu aplicacion.

Slds

Patricio Ojeda V
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:modificar clave primaria

Publicado por Luis Alberto (119 intervenciones) el 15/09/2008 17:29:47
Que tal, la opinión de Patricio es muy buena y acertada, pero a veces el cliente siempre pide cosas que no es lógico, como eso de cambiar la llave principal, a mí también me ha pasado y una alternativa puede ser con un procedimiento:

For Each Llave_Busqueda
Defined By Campo_unico_de_dicha tabla
New
Llave_Busqueda = &Nueva_Llave
EndNew
Delete
EndFor

Toma en cuenta que ésto afectará solamente a la tabla que recorres mas nó a las que tú tengas relacionado con el código a cambiar, ten mucho cuidado.

Exitos

P.D. Patricio y que mismo decidiste Analista o Analista Senior ??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:modificar clave primaria

Publicado por Victoria (6 intervenciones) el 15/09/2008 18:05:31
ok, muchas gracias.
Estamos de acuerdo q lo q dice Patricio seria lo ideal, pero en este caso necesito poder modificar esas claves
Luego les cuento, gracias
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar