Power Builder - RETRIEVE

 
Vista:

RETRIEVE

Publicado por Iván Salazar (101 intervenciones) el 04/10/2006 15:39:47
En el primer campo (Categoría de Costos) se tiene una columna de tipo DropDownDatawindow, el cual tiene dos parámetros en el retrieve(arg1,arg2).
Una vez seleccionada la Categoría de Costos en ese campo, debería hacer un Retrieve() a la columna siguiente (Nº Partida) que es de tipo DropDownDatawindow, el cual tiene como argumentos los dos parámetros del anterior mas el de la categoría.

El problema se presenta cuando le hago Retrieve() al DW Principal, donde este me levanta la ventana de Specify Retrieval Arguments de PB.

Pregunta
1.Donde debo declarar los Childs y el Objeto de Transacción del DW Principal, para evitar que me levante la ventana propia de PB de Specify Retrieval Arguments.
2.Si en el segundo DropDownDW tengo para que se muestre la descripción del codigo y este no se muestra como hacer para que este se muestre.
3.Me podrían además informar que efecto realiza tildar o no la propiedad AutoRetrieve, si este tiene algún efecto sobre la función Retrieve() en los Childs, DWs o DataStores.

Gracias de antemano por su ayuda.
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:RETRIEVE

Publicado por Carlos rojas (66 intervenciones) el 04/10/2006 16:57:18
Hola que tal, Primero tienes que quitar el check en el ddw autoretrieve,
Luego hay dos posibilidades, si el primer ddw tiene que estar cargado tienes que crearlo en el open del window, y posteriormente en el itemchange del dw, debes especificar los parametro para el otro ddw.

ItemChanged

String ls_NomCol, parm1,parm2, ls_CodCat
DatawindowChild dwc_SubCat
ls_NomCol = dwo.Name
choose case ls_NomCol
Case 'CodCat'
ls_CodCat = this.object.CodCat[row]
//buscamos los otros dos datos de la tabla categorias
Select Dato1,Dato2 Into :ls_parm1, :ls_parm2
From TablaCategorias
where CodCat = :ls_CodCat;
dw_1.GetChild('emp_state', state_child)

IF rtncode = -1 THEN MessageBox( &

"Error", "Not a DataWindowChild")
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:RETRIEVE

Publicado por Carlos rojas (66 intervenciones) el 04/10/2006 17:00:04
Hola que tal, Primero tienes que quitar el check en el ddw autoretrieve,
Luego hay dos posibilidades, si el primer ddw tiene que estar cargado tienes que crearlo en el open del window, y posteriormente en el itemchange del dw, debes especificar los parametro para el otro ddw.

ItemChanged

String ls_NomCol, parm1,parm2, ls_CodCat
DatawindowChild dwc_SubCat
ls_NomCol = dwo.Name
choose case ls_NomCol
Case 'CodCat'
ls_CodCat = this.object.CodCat[row]
//buscamos los otros dos datos de la tabla categorias
Select Dato1,Dato2 Into :ls_parm1, :ls_parm2
From TablaCategorias
where CodCat = :ls_CodCat;
dw_1.GetChild('CodSubCat', dwc_subcat)
dwc_subcat.settransobject(sqlca)
dwc_subcat.retrieve(ls_parm1,ls_parm2)
end choose

Espero 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

RE:RETRIEVE

Publicado por Iván Salazar (101 intervenciones) el 04/10/2006 18:51:55
Carlos
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:RETRIEVE

Publicado por Iván Salazar (101 intervenciones) el 04/10/2006 18:54:46
Carlos

Gracias por tus comentarios, de todas maneras ya resolvi dejandole el AutoRetrieve marcado con la particularidad de que antes de hacer el Retrieve al DW principal se le haga un InsertRow a los DDDWs.


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
sin imagen de perfil

RE:RETRIEVE

Publicado por Hugo SS (11 intervenciones) el 04/01/2011 14:12:21
Hola Iván como estas?
Han pasado 4 años de tu último comentario, no sé si recibirás éste o le darás bola. Ojalá que si. :)
Yo estoy con el mismo problema que tuviste vos. Hace poco tiempo comencé con PBuiler y encima me toca migrar la aplicación de PB 8.0 a PB 10.5 y me di con esa dificultad de que ahora en donde uso un DropDownDW dentro de un DataWindow y que ambos reciben parámetro, me salta el Specify Retrieval Arguments pidiéndome que ingrese el parámetro que debe recibir el DropDownDW.

Leí que lo resolviste dejando el AutoRetrieve y haciendo que los DropDownDW hagan un insertrow() antes del retrieve de la DW principal.
Capáz que ni te acuerdas ya, pero de ser posible, podrías contar en más detalle como lo hiciste?

Gracias!
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

RE:RETRIEVE

Publicado por Iván (7 intervenciones) el 04/01/2011 14:46:32
Hola Hugo

Gusto en saludarte, lo primero que debes hacer es si sabes ejecutar el debug del PowerBuilder corre tu aplicacion y verifica en cual Retrieve() de los que te pide los argumentos te muestra la ventana de Specify Retrievals Arguments, entonces ejecuta la accion que realice en mi solucion. Me explico, debes agregar un InsertRow(0) a ese DDDW.

Espero te sea de gran utilidad mi ayuda. Gracias por escribir y a la orden para cualquier duda que tengas con la herramienta.

Iván
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