Ver la Versión Completa : Comodines en el WHEN de un CASE.
Hola me gustaría hacer algo tipo:
CASE var.
WHEN LIKE '*a' ...........
WHEN LIKE '*b' ...........
ENDCASE.
pero esto no funciona.
Hay alguna manera de hacer algo así?
Khira46
19/11/07, 09:53:51
Buenas,
Entiendo que lo que quieres hacer es que si tu variable acaba en 'a' se haga tal cosa y si acaba en 'b' haga otra diferente.
Si es así prueba con el operador Contains Pattern:
IF ( var CP '*a' ).
....
ELSE.
IF ( var CP '*b' ).
.....
ENDIF.
ENDIF.
No se si funcionará con un CASE, ya que creo que no se pueden utilizar expresiones lógicas con él, aunque de esto último no estoy muy segura.
Espero haber podido ayudarte.
Un saludo;)
Yo te diría lo mismo que khira46 pero en lugar del * pondría el %.
Espero que te valga.
Gracias a ambos, era CP.
Efectivamente con CASE no funciona. he tenido q meter un montón de IF anidados, espero q nadie vea mi código :).
Otra duda q m ha venido con la respuesta de pafú es el tema de los comodines.
Yo uso * para una cadena de caracteres y + para un solo caracter->en la mayoría de ocasiones
En cambio uso % y _ en los SELECT
Son iguales?
Hay más comodines? (he visto algo de #)
Khira46
20/11/07, 13:49:10
Hola stompy,
El símbolo # se emplea cuando buscas un caracter o una cadena de caracteres y quieres encontrarla tal cual la estás escribiendo, de forma literal, por ejemplo respetando las mayúsculas y las minúsculas, o para encontrar símbolos reservados por ejemplo #, *, %, _, etc. Por ejemplo:
*Nos creamos un parametro para introducir una cadena de caracteres
PARAMETERS: var(30).
WRITE:/2 var.
IF ( var CP '#E#S*' ). "Buscamos "ES"
WRITE:/ sy-fdpos.
ENDIF.
IF ( var CP '*##*' ). "Buscamos el propio caracter
WRITE:/ sy-fdpos.
ENDIF.
En cuanto a la diferencia entre %, *, etc. Yo utilizo el %, en los select cuando tengo datos que empiezan por un patrón determinado, %Hola, me devolvería en la select todos aquellos datos que comiencen con Hola, y el * lo utilizo con los operadores contains (only, pattenr, etc)
La verdad, es que no se si se pueden emplear de otra forma.
Un saludo
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web