Diego,
Yo no lo sé. Pero seguramente Luis Murillo sí.
El tenía un desafío interno en ARTech, el cual consistía en que le dieran
un PRC que no se pudiese expresar como DataProvider.
Saludos,
gab
-- gab
2011/6/27 Diego Rostagnol <elrosti@gmail.com>
Estimados:
Para mi los DataProviders son un tema bastante nuevo porque recién hace un par de meses arranque a trabajar con a X EVO1, por lo cual no la tengo muy clara.
Supongamos que tengo un SDT colección de "Productos". la TRN es así:
Productos
--------------------
*PrdNro
PrdNombre
Tambien tengo una estructura que almacena en que lugares está colocado ese producto (Puede estar en mas de un lugar):
GondolaProducto
------------------------------
*GonID
*PrdCod
GonNro <------------- Número de Gondola
Ahora supongamos que tengo un DataProvider al que quiero pasarle dos rangos rango de ID de Gondola y que me cargue todos los productos que hay dentro del primer rango, ademas otra condición es que el producto tambien esté colocado en un segundo rango de góndolas y que el Número de gondola del primer rango, sea menor al número de gondola del segundo rango
Yo en un proc haría lo siguiente
// Recorro todos los productos colodados en ese rango de gondolas
For Each
where GonID > &GonIDDesde and GonNro < &GonIDHasta
&AuxGonNro = GonNro
&AuxPrdCod = PrdCod
// Ahora chequeo que ese producto tambien este colocado en otra gondola con un número mayor
do 'CargoProducto'
EndFor
Sub 'CargoProducto'
for each
where GonID > &GonIDDesde2 and GonNro < &GonIDHasta2
where GonNro > &AuxGonNro
where PrdCod = &AuxPrdCod
/* ACA CARGO LOS DATOS DEL PRODUCTO */
endfor
endsub
En un DataProvider intenté hacer lo siguiente:
SDTProductos
where GonID > &GonIDDesde and GonNro < &GonIDHasta
{
&AuxGonNro = GonNro
&AuxPrdCod = PrdCod
SDTitem
where PrdCod in DataSelector(&GonIDDesde2, &GonIDHasta2, &AuxPrdCod, &AuxGonNro) // Este dataselector tiene los mismos filtros en el sub 'CargoProducto'
{
PrdCod = PrdCod
PrdNom = PrdNom
}
}
Esto no funcionó, uso un dataselector porque no encontré otra forma, al parecer me devuleve correctamente el tema de que el Producto esté en ambos Rangos, pero no me respeta la condición del número de Gondola, supongo que el tema es que los rangos vienen por parametro y la condición del número de gondola la estoy cargando alli dentro, está claro que esto está mal, obviamente no me está haciendo 2 recorridas, es una sola a la que le mete todos los WHERE, pero no encuentro cual es la manera correcta de escribir esto.
Saludos.
--
Diego Rostagnol
Uruguay
Has recibido este mensaje porque estás suscrito al grupo "GeneXus" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a genexus@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a genexus+unsubscribe@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/genexus?hl=es.
0 Response to "Re: [gx-l] No encuentro como "traducir" un Procedimiento en un DataProvider..."
Publicar un comentario