GeneXus - Insertar valor de variable en atributo

 
Vista:

Insertar valor de variable en atributo

Publicado por G (29 intervenciones) el 05/09/2011 19:20:55
Buenas, trabajo con GX 9, java win y postgreSQL

Quisiera insertar el valor de una variable en un campo de una tabla existente, desde un wkp.
Probe de varias maneras pero no pude, se realizarlo desde la TR pero no desde WKP ajeno a la tabla de la base de datos.
Si alguien sabe, muchas gracias desde ya..
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

Insertar valor de variable en atributo

Publicado por Lex Franco (101 intervenciones) el 05/09/2011 19:53:32
no es posible hacer "cambios" en una tabla desde un wrkp, lo que tienes que hacer es crear un procedimiento para que se encarge de escribir esas variables que ingresas o calculas en el wkp y pasarlas como "parametros" al procedimiento y desde ahi hacer los cambios

te dare un ejm:

supone que tienes un wkp con que ingresas informacion del cliente
y muestras en el wkp 3 variables para nombre direccion y codigo de cliente

entonces creas un procedimiento que en la regla parm reciba esos tres valores del wkp

parm(&Cod,Cliente,Direccion)

en el source del procedimiento tienes que hacer los cambios asi

Cod = &Cod
&Cliente = Cliente
&Direccion = Direccion


la razon es que los cambios a las tablas solo se pueden hacer en transacciones y en procedimientos, se pueden hacer en wkp pero debes convertir el wp en un "bussibes component" pero te aconsejo que comiences primero aprendiendo como escribir desde un procedimiento

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

Insertar valor de variable en atributo

Publicado por G (29 intervenciones) el 05/09/2011 20:36:00
OK, pruebo entonces..
Como llamo ese procedimiento desde un boton por ejemplo?
Ya que poniendo Nombreprocedimiento.call no funciona
Gracias por tu respuesta
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

Insertar valor de variable en atributo

Publicado por PabloF (5 intervenciones) el 05/09/2011 20:38:58
Como que no funciona?
Para llamar a un procedimiento podes hacer....

procedimiento.call(parametros)
o
call(procedimiento,parametros)

Que error te da? mas datos! ayude a que lo ayudemos.
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

Insertar valor de variable en atributo

Publicado por G (29 intervenciones) el 05/09/2011 20:52:29
Si ya pude llamarlo, me equivoqué. Muchas gracias por la ayuda
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

Insertar valor de variable en atributo

Publicado por G (29 intervenciones) el 05/09/2011 22:08:29
Una pregunta porque puede ser que no me guarde el valor de una variable en la base? desde un procedimiento..

Quiero guardar el valor que existe en las variables &MOtivo_var y &Diagnostico_Var, en los atributos Motivo_Consulta y Diganostico


*Desde WKP lo llamo para guarde:

Event 'Guardar_OtrosConsulta'
&Cod_Pac=ID_Paciente
&Cod_Cons=ID_Consulta
PInsertarOtrosConsulta.Call(&Cod_Pac, &Cod_Cons, &Motivo_Var, &Diagnostico_var)
Return
EndEvent // 'Guardar_OtrosConsulta'

En el PROCEDURE en rules:
*Parm(&Cod_Pac, &Cod_Cons, &Motivo_Var, &Diagnostico_var);

Y en Source del PROCEDURE:
ID_Paciente=&Cod_Pac
ID_Consulta=&Cod_Cons
&Motivo_Var=Motivo_Consulta
&Diagnostico_var=Diagnostico
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

Insertar valor de variable en atributo

Publicado por G (29 intervenciones) el 06/09/2011 19:39:12
Solucionado!
Estaba intentando crear sobre el mismo id,
para eso neceito modificar, de la siguiente manera:
new
ID_Paciente = &Cod_Pac
ID_Consulta = &Cod_Cons
Motivo_Consulta = &Motivo_Var
Diagnostico = &Diagnostico_var
when duplicate
for each
Motivo_Consulta = &Motivo_Var
Diagnostico = &Diagnostico_var
endfor
endnew
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