Saludos amigos , tengo un reporte donde hago un selection-screen con parameters , y todo trabaja bien , pero ahora me pidiera que lo hiciera con un select-options pero al momento de ejecutar el reporte no sale nada , y vi que tiene que ver con el select-options , no se como se trabaja con el y ademas tengo que implementarlo en mi select para la tabla. gracias
Trabajar con Select-options
Colapsar
X
-
Los select-options son rangos de valores.
Revisa los SELECT he instrucciones que comparaban con los antiguos parameters.
Con los select-options se suele utilizar el comparador 'IN' ( A1 esta dentro del rango .... ). -
Hola, este es un ejemplo:
En la primera parte declaro una especie de Panel que servira para colocarlo de manera mas agradable a la pantalla, por otro lado tbm sirva para poder validar campos por bloques, en la segunda linea se tiene el SELECT-OPTION, este es una declaracion de rango que nos permite seleccionar valores por unidad (EQ - Equals), por intervalos (BT - Between), tbm hay las opciones CP (para *), en ella se pueden realizar consultas a la base de datos dentro de la condicion WHERE con la equivalencia IN, y en la tercera linea se tiene a la sentencia PARAMETERS, esta si es conocida simplemente son variables individuales.Código:selection-screen begin of block blq01 with frame title text-t01. select-options: s_werks for marc-werks obligatory. parameters: p_tippro(2). selection-screen end of block blq01.
Si tienes problemas en el codigo puedes colocarlo para que podamos darte una mano ... espero te pueda aclarar un poco la sentencia SELECT-OPTIONS
David Carballido Córdova
Comentario
-
Con los select options, en vez de filtrar por un valor lo que hace es filtrar por un rango de valores(esta acotado por valor mínimo y un valor máximo).
SELECT-OPTIONS <nombre_variable> FOR <nombre_tabla>-<nombre_campo>.
En tu sentencia select puedes usar estos valores ingresados para filtrar mediante rangos usando la palabra clave IN.
SELECT * FROM <tabla> ..................
WHERE <nombre_campo> IN <nombre_variable>.
Para tu reporte puedes cambiar tu "parameters" por select-options y en tu consultas(select) cambiar ("=" o "eq") por "IN".
Originalmente publicado por ALNICOSaludos amigos , tengo un reporte donde hago un selection-screen con parameters , y todo trabaja bien , pero ahora me pidiera que lo hiciera con un select-options pero al momento de ejecutar el reporte no sale nada , y vi que tiene que ver con el select-options , no se como se trabaja con el y ademas tengo que implementarlo en mi select para la tabla. graciasLuis Lipa
luis.alber21@gmail.comComentario
-
Holas, como comente los SELECT-OPTIONS no son solo un rango de valores, tbm agrupa un conjunto de valores individuales con la opcion EQ (Equals) y para rango o intervalo de valores se tiene la opcion BT (Between)David Carballido Córdova
Comentario
-
Muy Agradecido Por La Ayuda , Ahora En La Misma Linea De Tema , Tengo Un Problema Con Uno De Los Parametros , Que Son De Fechas , Una Vez Que Lo Pongo Como Intervalo El Se Concentra Completo En Una Sola Variable Y No Me Sirve Para Compararlo , Me Explico El Me Sale Asi Una Ves Que Yo Le Doy El Periodo:
Ieq21122009310520010 Y A Mi Me Interesa Que Salga Por Separado , Y No Veo La Manera De Resolverlo A Menos Que Sea Manejo De String , Alguna Sugerencia ? , Ademas Que Es Ese Ieq Que Sale ?. GraciasComentario
-
Hola, si quieres tomar el menor valor de select options pones: <nombre_variable>-low, si quieres el mayor valor pones <nombre_variable>high.
Como te dice David el select options no solo sirve para rangos, tambien le puede pasar una valor y te lo trabaja como EQ, si no le pasas valor no toma en cuenta el filtro.
Originalmente publicado por ALNICOMuy Agradecido Por La Ayuda , Ahora En La Misma Linea De Tema , Tengo Un Problema Con Uno De Los Parametros , Que Son De Fechas , Una Vez Que Lo Pongo Como Intervalo El Se Concentra Completo En Una Sola Variable Y No Me Sirve Para Compararlo , Me Explico El Me Sale Asi Una Ves Que Yo Le Doy El Periodo:
Ieq21122009310520010 Y A Mi Me Interesa Que Salga Por Separado , Y No Veo La Manera De Resolverlo A Menos Que Sea Manejo De String , Alguna Sugerencia ? , Ademas Que Es Ese Ieq Que Sale ?. GraciasLuis Lipa
luis.alber21@gmail.comComentario
Comentario