MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Select Option Doble (foro/showthread.php?t=44200)

budista1 08/07/11 15:19:26

Select Option Doble
 
Hola compañeros,


tengo una SELECT donde tengo que implementar un select option del campo AUART o clase de orden.
Pero no es un select option normal. Por custo, han limitado el matchcode que ahora va de PM01 a PM05.

Por tanto, el select tendría que ser algo así, pero no me funciona bien:

SELECT aufnr auart pspel objnr gltrp rsnum aufpl
FROM caufv
INTO TABLE pt_caufv
WHERE ( auart = 'PM01' OR auart = 'PM02' OR auart = 'PM03'
OR auart = 'PM04' OR auart = 'PM05' OR auart = 'PM06' ) OR
auart IN s_otype.


Alguien sabe donde está el error?

MUCHAS GRACIAS

stormshadow 08/07/11 16:39:47

Intenta metiendo tú última condición entre paréntesis:

OR auart IN (s_otype)

mysmb2 08/07/11 18:40:37

Segun ese select te va a traer del PM01 hasta el PM06 por la primer condicion y por la segunda condicion lo que este en s_otype en este caso de PM01 a PM05.
Es decir te pude traer PM06.
Yo dejaria el WHERE IN s_otype.(tene en cuenta que si s_otype es vacio te trae todos)

saludos.

DCErick 08/07/11 18:40:38

Oye pero cual es el problema con tu select...

Que es lo que esperas que regrese y que es lo que te está regresando?
:confused:

budista1 08/07/11 19:16:27

Sigue Sin Funcionar
 
Hola,

prové como dijiste, pero sigue sin funcionar :(

SELECT aufnr auart pspel objnr gltrp rsnum aufpl
* gltrp rsnum aufpl
FROM caufv
INTO TABLE pt_caufv
WHERE auart IN (s_otype) OR ( auart = 'PM01' OR auart = 'PM02' OR auart = 'PM03' OR auart = 'PM04' OR auart = 'PM05' OR auart = 'PM06').


NO FILTRA BIEN, ALGUNA OTRA OPCIÓN? NO CREO QUE SEA ALGO COMPLICADO EN ABAP.

SALUDOS

budista1 08/07/11 19:21:02

para Eric
 
Hola Eric,

1 a ver, si el usuario no llena el select option de auart, auart será:

PM01 o PM02 o PM03 o PM04 o PM05

De hecho el matchcode del select option lo han customizado así, para que solo salgan estas opciones.

2-si el usuario llena el matchcode: pues entonces trabajo con el select option de auart.


UN SALUDO Y GRACIAS

budista1 08/07/11 19:26:40

sorry
 
Perdón con el PM06, me confundí:

es de PM01 A PM05

A ver, podría quitar la condición de los PM01,PM02 etc
pero entonces perdería rendimiento.

Lo puse por un tema de PERFORMANCE, está claro, creo.

Un saludo abapero

DCErick 08/07/11 20:06:37

Si te entendí bien... es algo sencillo

*Si usuario no captura nada en select option, llenamos el rango con los valores predefinidos.
IF s_otype[] is initial.
s_otype-SIGN = 'I'.
s_otype-OPTION = 'BT'.
s_otype-low = 'PM01'.
s_otype-high = 'PM05'.
append s_otype.
endif.

SELECT aufnr auart pspel objnr gltrp rsnum aufpl
FROM caufv
INTO TABLE pt_caufv
WHERE auart IN s_otype.


budista1 08/07/11 23:27:49

Merci
 
:d Perfecto Eric!


Era Justo Eso, Muchas Gracias


Husos Horarios son GMT. La hora en este momento es 02:24:25.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web