Power Builder - Accesar datos de DW anidado en Composite

   
Vista:

Accesar datos de DW anidado en Composite

Publicado por Jherom (26 intervenciones) el 06/11/2009 23:43:20
Buenas tardes.

Tengo un problemilla para accesar a los datos de un datawindow que se encuentra anidado dentro de otro dw de tipo composite.

Mi problema es que necesito tener acceso a las columnas del dw que se encuentra anidado para comparar la informacion con otro dato de otro dw que se encuentra anidado en el mismo padre

Tengo la siguiente estructura

1.dw_1
1.2 dw_a
1.3 dw_b
1.4 dw_c

Siendo dw_1 el dw que tengo en la ventana y a,b,c los dw que se encuentran anidados dentro dw_1.

He intentado tener acceso de la siguiente manera:

long ls_numero_serie
ls_numero_serie = dw_1.object.dw_a.object.numero_serie[1]

/*
Esto para obtener dentro de ls_numero_serie el dato que se encuentra en el dw_a que esta anidado dentro del dw_1

Sin embargo me muestra el siguiente mensaje de error en tiempo de ejecucion al usar ese fragmento de codigo:

---------------------------
Error del sistema
---------------------------
Número de error 36.

Texto de error = Name not found accessing external object property dw_a at line 4 in procesimprimir event of object w_rep_pruebas..

Ventana/Menú/Objeto = w_rep_pruebas.

Objeto de error/Control = w_rep_pruebas.

Código = procesimprimir

Línea en código = 4.
---------------------------
Aceptar
---------------------------

Nota estoy usando PB 10.5
*/

Si me pudieran dar alguna luz sobre como accesar a los datos de un dw anidado en otro dw les agradeceria muchisimo.

Gracias
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:Accesar datos de DW anidado en Composite

Publicado por miguell (153 intervenciones) el 07/11/2009 21:48:54
yo creo que debería funcionar lo que estás haciendo.
-----------------------------------------------------------------------
intenta a ver por si - por ejemplo - es que no hay ninguna fila?

long ll_filas
string ls_datawindow

ls_datawindow = dw_1.object.dw_a.dataobject
if isnull(ls_datawindow) or ls_datawindow = '' then
messagebox('debug', 'dw_a no tiene datawindow asignado')
return
end if
messagebox('debug', ls_datawindow + ' <-- dw asignado a dw_a' )

if dw_1.object.dw_a.rowcount() < 1 then
messagebox('debug', 'dw_a no tiene filas)
return
end if

messagebox('debug', '¿estás seguro que dw_a tiene una columna nombrado numero_serie? Entonces mira si puede estar protegida la columna?')

saludos,
miguel
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:Accesar datos de DW anidado en Composite

Publicado por miguell (153 intervenciones) el 07/11/2009 21:49:48
mira también si los controles de datawindows están 'enabled'
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:Accesar datos de DW anidado en Composite

Publicado por Jherom (26 intervenciones) el 07/11/2009 23:37:04
Los datawindows hijos si contienen registros.

Y no entiendo exactamente a que te refieres con si estan 'enabled'...?

A lo mejor no capte la idea jajajaja.

Pero si los dw contienen registros de hecho que me muestran la info en tiempo de ejecucion y es en otro boton que trato de hacer la manipulacion de la informacion de los dw hijos.

Aun sigo sin poder obtener los datos de los dw hijos.

Gracias.
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:Accesar datos de DW anidado en Composite

Publicado por miguell (153 intervenciones) el 08/11/2009 02:11:03
enabled quiere decir 'habilitado' . los controles datawindow (pegado por ejemplo en la ventana) tienen esa propiedad (igual como 'visible')

si quieres me mandas el composite y los datawindows anidadas por correo y a ver si veo algo que se te ha escapado.

(mándame también el código que usas en el botón y donde hagas el retrieve( ) del datawindow).

saludos
mjlreina38 hotmail com
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