Power Builder - controlar cambio de valor en un campo

   
Vista:

controlar cambio de valor en un campo

Publicado por jleguia (4 intervenciones) el 15/09/2008 16:58:29
Hola a todos.. Necesito una ayuda.

Quisiera controlar los cambios que se pueden realizar a un campo específico en un datawindow desde una única rutina. Me explico mejor, se puede modifcar al valor de un campo desde diferentes rutina por medio de código y directamente en el campo. Yo quisiera poder controlar estos cambios desde una única rutina, no importando desde qué lugar hagan el cambio...

Espero puedan ayudarme.

Slds.
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

Duda....

Publicado por Leopoldo Taylhardat (691 intervenciones) el 16/09/2008 00:01:28
Saludos...
Que llamas 'controlar'???
Por que si lo que quieres es una auditoría de los cambios debes realizarlo sobre la bd....
Es decir cuando inserten modifiquen o eliminen los datos con los triggers en la bd puedes generar los datos en una tabla de auditoria que tenga usuario, fecha y hora del cambio, valor anterior y valor actual...
Pero tienes que tener sólidos conocimientos de programar triggers y funciones en la BD....aparte de que cada BD tine su dialecto para esto...
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:Duda....

Publicado por jleguia (4 intervenciones) el 16/09/2008 00:05:44
controlar en el sentido que deseo ejecutar un código definido.. para este caso específico deseo hacer cálculos sobre un campo numérico, cada vez que este campo es actualizado de alguna manera, léase por código o directamente.

espero haber sido claro
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

Respuesta

Publicado por Leopoldo Taylhardat (691 intervenciones) el 16/09/2008 00:16:14
...Igual!!!
con un trigger puedes hacer lo que quieras con las columnas que se actualizan...
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:Respuesta

Publicado por jleguia (4 intervenciones) el 16/09/2008 00:21:45
disculpa pero creo que no me dejo explicar, lo quiero hacer antes de que vaya a base de datos, lo que quiero es poder ejecutar un código independiente al campo del datawindow cada vez que éste cambie de valor, lo necesito hacer antes que viaje a la base de datos... no existe algún evento que se dispare cada vez que cambie el valor de un campo en el datawindow, ya sea de manera directa o indirectamente?...

espero me hayan entendido.
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:Respuesta

Publicado por anonimo (70 intervenciones) el 16/09/2008 01:26:51
EVENTO
ITEMCHANGED () ?
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:Respuesta

Publicado por jleguia (4 intervenciones) el 16/09/2008 01:29:30
pero si el campo es actualizado mediante código, este evento no se dispara, no existe algún otro evento más general que pueda controlar un cambio en el valor del campo.?...
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:Respuesta

Publicado por Leopoldo Taylhardat (691 intervenciones) el 16/09/2008 15:04:43
Saludos...
El evento itemchanged siempre se dispara cuando modificas un dato en el dw... pero si lo haces con código debes poner despues del código la función AcceptText ej. dw_x.AcceptText() para obligarlo a aceptar el dato en ese momento...
espero que te sirva.
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