#1
|
|||
|
|||
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í? |
#2
|
|||
|
|||
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
__________________
Khirina |
#3
|
|||
|
|||
Yo te diría lo mismo que khira46 pero en lugar del * pondría el %.
Espero que te valga. |
#4
|
|||
|
|||
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 #) Úlima edición por stompy fecha: 19/11/07 a las 12:55:11. |
#5
|
|||
|
|||
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
__________________
Khirina |
Herramientas | Buscar en Tema |
Desplegado | |
|
|