Power Builder - SHAREDATA().... AYUDA POR FAVOR

 
Vista:
Imágen de perfil de Antonio
Val: 176
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

SHAREDATA().... AYUDA POR FAVOR

Publicado por Antonio (1271 intervenciones) el 14/02/2010 20:32:45
Hola genios de PB.

necesito de su gran ayuda para este problema...

Resulta que tengo una ventana con un objeto DW, este objeto tiene un dataobject (DW) con tres tablas relacionadas entre si, y las presento al usuario para que ingrese datos dentro de las tres tablas, pero como es bien sabido el PB solo permite actualizar una sola tabla, asi que, genere dos objetos mas de tipo DW y duplique el primer dataobject con diferentes nombres y los asigne a los otros dos objetos DW para usar el SHAREDATA() y asi actualizar las tablas... pero no me guarda los datos. pondre mi ejemplo:

1.- el dataobject principal que contiene las tres tablas relacionadas se llama dw_release
2.- los otros dos se llaman dw_release1 y dw_release2
3.- los dw_release1 y dw_release2 los asigne a un objecto DW llamado dw_real1 y el segundo a dw_real2
4.- cuando habre mi ventana pongo este codigo:

dw_release.Sharedata ( dw_real1 )
dw_release.Sharedata ( dw_real2)

SetTransObject ( dw_release, sqlca )
Retrieve ( dw_release)

5.- cuando el usuario empieza a capturar los datos en el dw_release todos los datos son bien capturados y aceptados por el DW (dw_release) y al mismo tiempo se reflejan en los dos DW dw_real1 y dw_real2
6.- pero al guardar los datos de dw_real1 y dw_real2... PB no manda ningun codigo de error pero tampoco guarda los datos. Al querer guardarlos utilizo esta instrucción:

if Update ( dw_real1 ) = -1 then
Rollback;
SetFocus ( dw_real1)
return
end if

if Update ( dw_real2) = -1 then
Rollback;
SetFocus ( dw_real2)
return
end if

el dw_real1 y dw_real2 tienen asignada en sus propiedades (Update Properties) referenciando el campo llave y las columnas que se deben actualizar, más sin embargo, no se guardan los datos y no se que es lo que pase si necesito un parche para PB o si PB no permite guardar los datos cuando se este usando el SHAREDATA().

Trabajo con PowerBuilder 11.5 Build 3127..

Gracias por su ayuda y espero haberme explicado.
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

RE:SHAREDATA().... AYUDA POR FAVOR

Publicado por miguell (108 intervenciones) el 16/02/2010 11:15:09
Hola Antonio,

Ha quedado muy claro tu problema.

El problema es lo siguiente (lo ponen en la ayuda de pb sobre la función ShareData):
When you call methods in either the primary or secondary DataWindow that change the data, PowerBuilder applies them to the primary DataWindow control and all secondary DataWindow controls are affected.
For example, when you call any of the following methods for a secondary DataWindow control, PowerBuilder applies it to the primary DataWindow. Therefore, all messages normally associated with the method go to the primary DataWindow control. Such methods include:

DeleteRow
Filter
GetSQLSelect
ImportFile
ImportString
ImportClipboard
InsertRow
ReselectRow
Reset
Retrieve
SetFilter
SetSort
SetSQLSelect
Sort
Update

Lo que quiere decir que al hacer un Update( ) el update en realidad se hace siempre sobre el datawindow primario del shareData.
Lo que puedes intentar es modificar los attributos de Update del datawindow, mediante Modify( ), asignando la tabla a actualizar, la clave y si es 'key columns only', etc. Esto implica que ya no necesitas tampoco usar sharedata si tienes todas las columnas y tablas a actualizar en un sólo datawindow.

Aquí tienes un buen ejemplo sobre cómo hacer esto:
http://powerbuilder.hyderabad-colleges.com/Advanced-PowerBuilder-2-11-60.html
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
Imágen de perfil de Antonio
Val: 176
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Mil, Mil gracias miguell

Publicado por Antonio (1271 intervenciones) el 16/02/2010 18:21:39
Mil gracias miguell, he resuelto mi problema y gracias a ti veo que PB cada dia encuentro procesos mas poderosos conjuntamente con tu sabiduria.

Salduso desde México
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:Mil, Mil gracias miguell

Publicado por miguell (108 intervenciones) el 16/02/2010 22:13:07
de nada Antonio,

salu2 desde España
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