Duda con Retrieval arguments en un DL

Buen día,
me comunico ante ustedes para realizar una consulta sobre power builder.

Necesito hacer un reporte el cual tenga parámetros, es por eso que arme un Dp, para el cual el usuario selecciona materia, año académico, periodo lectivo y un estado. Dicho estado es un listBox el cual tiene 3 valores harcodeados.
En base a esa selección, al confirmar me abre un Dr el cual mediante los parámetros recibidos del Dp anterior los pasa a un stored procedure el cual en base a una lógica, retorna un conjunto de tuplas.

Mi problema se radica en la Dl. Yo lo que hice fue copiar la Dr y editarla y darle un formato “imprimible”.
El problema surge cuando quiero poner en la Dl los datos que el usr seleccionó.
Como primer medida supuse erradamente que al igual que el Dr, el Dl recibiría los retreival arguments para luego llamar al mismo stored procedure y retornarme las tuplas resultado.
Bueno, como pensaba eso, incluí un computed field y seleccione que cargue el valor de la variable estado. Dicha variable estado es un retreival argument que pense q le iba a pasar el Dp.

Bueno eso no pasa, dichos parámetros que espero, llegan en Null y el resultado de las tuplas aparecen. Lo cual llego a la conclusión de que dado algún tipo de optimización de consultas, el Dl no está llamando al stored procedure para pedirle los datos, sino que de alguna manera el Dr previamente ejecutado se los esta dando.

Eso a mi me genera la complicación de que no se como obtener los parámetros seleccionados en la etapa del Dp, en el Dl.

Incluyo aqui parte de el Dca, para ver que objetos controladores incluí.
VALUES ( ‘806o0250’, 1, ‘w_reporte’, ‘uo_dw_filtros, dp_u806o_listado_situacion_curs_x_mat, uo_dw, dr_u806o_listado_situacion_curs_x_mat, dl_u806o_listado_situacion_curs_x_mat, 20’, ‘N’ );

Bueno me gustaría si me pueden decir si es así como lo pienso, y si me pueden comentar alguna alternativa para dicha situación.

Desde ya muchas gracias.
Martín Helou.

Martin, lo que se hace al imprimir el reporte es copiar los datos de la dw (RowsCopy()) y no volver a hacer un Retrieve de la dw de impresion.
Pero debería estar pasando los valores de los argumetnos de retrieve a la dw de impresion, fijate que lo hace al final del evento “open” de la ventana “w_opciones_de_impresion”

La forma de crear la dw de impresion es correcta. Mientras solo cambies la parte visual esta bien.

Saludos.

Hola Martin:

En la dl poné un computed field que se llame argumento_1, argumento_2, … , argumento_n de acuerdo al orden en que lleguen los retrieval arguments.

Emilio

Asi fue!

Muchas gracias por las respuestas, tema resuelto.

Saludos.
Martín.