PDA

Ver la Versión Completa : Problema con sentencia select


lucia_12
14/10/09, 08:58:46
Hola a tod@s!!

Estoy creando una sentencia select con la que quiero coger todos los nombres que contengan la palabra pasada como parámetro:

CONCATENATE '%' nombre_cliente '%' INTO cadena.

SELECT name1 name2
FROM kna1
INTO CORRESPONDING FIELDS OF TABLE i_clientes
WHERE name1 LIKE cadena
OR name2 LIKE cadena.

Pero me distingue entre mayúsculas y minúsculas. Por ejemplo, si el usuario mete 'juan', el parámetro de entrada tiene valor 'JUAN' (lo cambia a mayúsculas), y no me recoge nada, aun teniendo en la tabla un registro con nombre 'Juan'.

¿Alguien me puede decir como arreglarlo?

Gracias ;)

sanchezgc
14/10/09, 10:42:09
Cadena de que tipo es? Seguramente sea del mismo tipo name1 o name 2 y estos tengan en su elementos de datos conversion a mayuscuclas o minisculas. Cambialo con una cadena CHAR y ya nos cuentas.

DavidXD_XD
14/10/09, 15:57:42
Hola Lucia, d donde obtiene el parametro nombre???, si es de un parametro normal o de alguna dynpro, activale que tome en cuenta las mayusculas y minusculas, si es en el screen painter, hay un check que lo hace, si es con la sentencia PARAMETERS es algo asi:

PARAMETERS: p_nombre TYPE lfa1-name1 LOWER CASE.

La otra es ir mas a fondo e ir a la LFA1 y ver si todos los nombres de los proveedores estan en mayuscula y/o minuscula, para eso SAP tiene un campo en el cual solo almacena los nombres en Mayuscula, tal vez eso te pueda ayudar

lucia_12
14/10/09, 16:07:37
Se me olvidó decir que lo que estoy programando es una RFC, por lo que 'nombre' es un parámetro que recibe.

Al final he podido solucionarlo cogiendo cada uno de los registros de la tabla y comprobando si contienen el patrón, usando para ello la opción CP. Así ya no me distingue entre mayúsculas y minúsculas.

Lo comento por si a alguien le pudiera servir :D

De todas formas muchas gracias por vuestra ayuda ;)

Saludos!!!