GeneXus - No me funciona el update

   
Vista:

No me funciona el update

Publicado por Jose (14 intervenciones) el 09/03/2011 20:48:52
Hola necesito que me ayuden con lo siguiente:
Tengo un webpanel con un evento para editar registros así:

Event 'Editar'
call(TD910, 'UPD', CCod)
EndEvent // 'Editar'

luego tengo en la transaccion esto:

Reglas:
parm(&Mode, &CCod);
CCod = &CCod if update or delete;

es no me da ningún error ni me genera advertencias ni nada al momento de compilar y generar. El problema es que cuando inicio la aplicación y le doy clic en editar el registro me sale un mensaje de error que dice "No se encontró el registro" no se que es lo que pasa ya que he puesto un msg(&CCod) en la transacción y lo muestra bien pero no lo iguala al atributo para que se haga la búsqueda y muestre el registro que quiero editar, probé incluso quitando la condición y dejando CCod = &CCod; y tampoco lo iguala y me da el mismo error.

Ayuda por favor no se que hacer.

Trabajo winform y sql en genexus 9

Estructura de la transacción:
*CCod
CCag
CNomb
CTipDCod
CTipDDesc
UAdCod
CUCod
CUDes
CDesc
CVersion
CEsta
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
información
Otras secciones de LWP con contenido de GeneXus
- Cursos de GeneXus
- Temas de GeneXus
- Chat de GeneXus
información
Cursos y Temas de GeneXus
- GeneXus 9.0 Help System
- GeneXus, Curso generador .NET (2 Capas)
- Curso de GeneXus

No me funciona el update

Publicado por Julio (301 intervenciones) el 10/03/2011 05:43:44
Si estas trabajando en winform es un workpanel; prueba cambiando un poco el orden:

Event 'Editar'
call(TD910, CCod ,'UPD')
EndEvent // 'Editar'

luego en la transaccion esto:

Reglas:
parm(inout:&CCod ,&Mode);
CCod = &CCod if &Mode <> 'INS';
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

No me funciona el update

Publicado por Alejandro Araus (10 intervenciones) el 11/03/2011 21:19:33
Probaste recibiendo con el atributo directamente?

Parm(Cod,&mode);
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

No me funciona el update

Publicado por Jose (14 intervenciones) el 10/03/2011 15:19:44
Julio gracias por contestar, ya he realizado el cambio así como lo indicas y el problema sigue ya me tiene preocupado este problema.
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

No me funciona el update

Publicado por Luis (47 intervenciones) el 10/03/2011 16:28:36
Buenas! Probas esto. Fijate que la grid tenga la property Allow Selection en True.

Ponele un control para ver si te esta tomando la variable desde el webpanel.

Event 'Editar'
If CCod > 0
Call(TD910, CCod ,'UPD')
Else
ErrViewer1.Caption = 'No hay codigo seleccionado' //O un textblock, algo que te de error
EndIf
EndEvent

Proba y avisame como te fue.
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

No me funciona el update

Publicado por Jose (14 intervenciones) el 10/03/2011 16:51:04
Hola Julio ya he hecho el cambio que me dices y el mensaje de error no sale lo que quiere decir que el valor si se esta seleccionando y lo esta enviando. El evento lo he dejado así

Event 'Editar'
If CCod <> ''
Call(TD910, CCod ,'UPD')
Else
msg('No hay codigo seleccionado')
EndIf

EndEvent // 'Editar'

Algo que se me había olvidado decir es que CCod es te tipo caracter no se si afecte en algo eso. lo extraño es que eso pasa solo con el modo UPD y el DLT, el en modo DSP funciona bien.
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

No me funciona el update

Publicado por Luis (47 intervenciones) el 10/03/2011 17:04:55
Faaaa... No se que decirte... quiza a GeneXus se le chiflo el moño... te complica mucho el modificar la clave de caracter a numerico? Por ahi en numerico te funciona, pero ya se me acaban las ideas.
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

No me funciona el update

Publicado por Luis (47 intervenciones) el 10/03/2011 17:08:50
Una cosa mas, en ves de usar MSG() agrega un textblock al pie de la pagina, y hace que el textblock tome el caption...


Event 'Editar'
NombreTextBlock.caption = CCod
EndEvent

Fijate si te trae bien el codigo.
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

No me funciona el update

Publicado por Luis (47 intervenciones) el 10/03/2011 17:19:03
Che, una ultima cosa, que lastima que no pueda editar el mensaje. Proba esto:

En la Trn //No estoy seguro de si esto es necesario...
CCod = Trim(CCod) If Insert and After(CCod);

Y desde el WebPanel hacele un Trim al llamado de la TRN.

Event 'Editar'
Call(TD910, Trim(CCod) ,'UPD')
EndEvent

Contame a ver si funciona...
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

No me funciona el update

Publicado por Jose (14 intervenciones) el 10/03/2011 17:35:48
Gracias por la ayuda,

Me da un error cuando pongo Trim(CCod) "Invalid parameter type: an Attribute, a Variable, a Number, a Literal, an Array or a Control property is expected"

Y el problema es que no puedo cambiar ese código a numérico porque se genera de otros dos campos osea que los datos que se almacenan en ese campo son "DC-001-2011" por ejemplo entonces esta complicado pasarlo a numerico.
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

No me funciona el update

Publicado por Jose (14 intervenciones) el 14/03/2011 14:40:36
Hola Julio gracias por la ayuda, he solucionado el problema, lo que he hecho es agregar un campo autonumerico y hacer el updete mandando ese campo y allí si funciona aun no se que problema hay con el otro campo jejeje pero gracias por la ayuda.
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

No me funciona el update

Publicado por Luis (47 intervenciones) el 14/03/2011 17:16:45
Asiganlo antes a una variable y despues pasalo por parametro

&CCod = Trim(CCod)
Call(TD910,&CCod ,'UPD')
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

No me funciona el update

Publicado por Julio (301 intervenciones) el 11/03/2011 00:06:12
Revisa en el form que el attributo CCod se encuentre ubicado antes que cualquier otro.
Sinceramente no creo que sea el tipo de atributo. Siempre hay una explicaciòn para todo.
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

No me funciona el update

Publicado por Jose (14 intervenciones) el 11/03/2011 21:10:52
Hola, ya he probado muchas cosas hasta cree un atributo nuevo y lo puse como llave y dejo libre el otro campo pero ni eso me funciono no se que hacer tengo que presentar un avance de mi proyecto y esto me esta atrasando gracias por la ayuda creo que lo que me falta es borrar la transacción y volver a hacerla.
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

No me funciona el update

Publicado por yaxira (24 intervenciones) el 18/06/2013 18:57:01
hola una consulta quiero hacer lo siguiente: tengo en un web panel dos listas la primera lista me muestra resultado de los datos de una persona que esta en la base de datos, la segunda lista son los datos correctos ingresados por teclado en una variable y al presionar un botón debe de actualizar los datos nombre, apellido paterno y apellido materno, esto en la transacción, solo estos tres datos ya que en la transacción "cliente" hay mas datos del cliente pero solo me interesa actualizar estos tres datos.
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