MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 30/11/09, 09:35:34
lucia_12 lucia_12 is offline
Member
 
Fecha de Ingreso: jun 2009
Mensajes: 45
Exclamation Comprobar si una cadena contiene letras

Hola a tod@s!!

Quería saber si alguien sabe la forma de comprobar si una cadena no contiene únicamente números, es decir, si contiene sólo letras, o letras y números o letras y símbolos...


Muchas gracias!!!
Responder Con Cita
  #2  
Viejo 30/11/09, 10:10:37
VLozano VLozano is offline
Senior Member
 
Fecha de Ingreso: nov 2009
Mensajes: 124
O algo por el estilo
__________________
"Porque algunos sabemos que somos parte del problema"
Responder Con Cita
  #3  
Viejo 02/12/09, 19:35:00
Avatar de Edd_401
Edd_401 Edd_401 is offline
Senior Member
 
Fecha de Ingreso: may 2007
Mensajes: 119
Es Copy - Paste - - - Pero Es Lo Que Necesitas

1. CO (contiene solo):

c1 contiene solo caracteres desde el string c2.
Si c1 o c2 es del tipo C, la comparación toma en cuenta el largo total de la variable, incluyendo los espacios al final.
Si c1 es del tipo STRING y vacío, el resultado de la comparación es siempre positiva.
Si c2 es del tipo STRING y vacío, el resultado de la comparación es siempre negativa, a menos que c1 sea tambien un string vacío.
Si el resultado de la comparación es negativa, la variable SY-FDPOS contiene el offset del primer caracter en c1 que no está incluido en c2.
Si el resultado de la comparación es positivo, la variable SY-FDPOS contiene el largo de c1.
La comparación es sensible a minúsculas y mayúsculas.

Ejemplos:

'ABCDE' CO 'XYZ' es falso; SY-FDPOS = 0.
'ABCDE' CO 'AB' es falso; SY-FDPOS = 2.
'ABCDE' CO 'ABCDE' es verdadero; SY-FDPOS = 5.

2. CN (no solo contiene):
"c1 CN c2" es equivalente a "NOT ( c1 CO c2 )".
c1 no solo contiene caracteres de c2.
Si el resultado de la comparación es positiva, la variable SY-FDPOS contiene el offset del primer caracter en c1 que no esta en c2.
Si el resultado de la comparación es negativa, la variable SY-FDPOS contiene el largo de c1.

3. CA (contiene cualquiera):
c1 contiene a lo menos un caracter de c2.
Si c1 o c2 es del tipo C, la comparación toma en cuenta el largo total de la variable, incluyendo los espacios al final.
Si c1 o c2 es del tipo STRING y vacío, el resultado de la comparación es siempre negativa.
Si el resultado de la comparación es positiva, la variable SY-FDPOS contiene el offset del primer caracter en c1 que esta en c2.
Si el resultado de la comparación es negativa, la variable SY-FDPOS contiene el largo de c1.
La comparación es sensible a minúsculas y mayúsculas.

Ejemplos:

'ABCDE' CA 'CY' es verdadero; SY-FDPOS = 2.
'ABCDE' CA 'XY' es falso; SY-FDPOS = 5.

4. NA (no contiene cualquiera):
"c1 NA c2" es equivalente a "NOT ( c1 CA c2 )".
c1 no contiene caracteres de c2.

5. CS (contiene String):
c1 contiene a c2.
Espacios sobrantes en c1 y c2 son ignorados si se trata de variables del tipo C.
Si el resultado de la comparación es positiva, la variable SY-FDPOS contiene el offset del primer caracter de c2 en c1.
Si el resultado de la comparación es negativo, la variable SY-FDPOS contiene largo de c1.
La comparación no es sensible a minúsculas y mayúsculas.

Ejemplos:

'ABCDE' CS 'CD' es verdadero; SY-FDPOS = 2.
'ABCDE' CS 'XY' es falso; SY-FDPOS = 5.
'ABAAA' CS 'AB ' es verdadero; SY-FDPOS = 0.
' ABC' CS ' AB' es verdadero; SY-FDPOS = 1.
'ABC DEF' CS ' ' es verdadero; but: SY-FDPOS = 0,
debido a que ' ' es interpretado como como espacio sobrante y se ignora.

6. NS (no contiene string):
"c1 NS c2" es equivalente a "NOT ( c1 CS c2 )".
c1 no contiene a c2.

7. CP (contiene patrón):
El string completo c1 coincide con el patrón c2 (c1 "coincide con" c2).
El patrón c2 puede contener caracteres comunes y asteíscos '*' para cualquier string y '+' para cualquier caracter.
Si el resultado de la comparación es positiva, la variable SY-FDPOS contiene el offset del primer caracter de c2 en c1. El asterísco '*' al principio del patrón c2 es ignorado cuando se determina el valor de SY-FDPOS.
Si el resultado de la comparación es negativa, la variable SY-FDPOS contiene el largo de c1.

Ejemplos:

'ABCDE' CP '*CD*' es verdadero; SY-FDPOS = 2.
'ABCDE' CP '*CD' es falso; SY-FDPOS = 5.
'ABCDE' CP '++CD+' es verdadero; SY-FDPOS = 0.
'ABCDE' CP '+CD*' es falso; SY-FDPOS = 5.
'ABCDE' CP '*B*D*' es verdadero; SY-FDPOS = 1.

El caracter '#' tiene un significado especial. Sirve como símbolo de escape e indica que cada caracter siguiente debería ser comparado "exactamente".
Esto permite buscar por:

- caracteres en mayúsculas o minúsculas
ejemplo: c1 CP '*#A#b*'
- buscar caracteres '*', '+' como tales
ejemplo: c1 CP '*#**' o c1 CP '*#+*'
- el símbolo de escape
ejemplo: c1 CP '*##*'
- espacios al final de c1
ejemplo: c1 CP '*# '


Ejemplos:

'ABC' CP 'ABC ' es verdadero,
'ABC ' CP 'ABC' es verdadero,

pero

'ABC' CP 'ABC+' es falso,
'ABC' CP 'ABC# ' es falso,


La comparación no es sensible a minúsculas y mayúsculas.

8. NP (no contiene patrón):
"c1 NP c2" es equivalente a "NOT ( c1 CP c2 )" c1 no coincide con c2.
Responder Con Cita
  #4  
Viejo 16/12/10, 08:24:11
novato-sap novato-sap is offline
Junior Member
 
Fecha de Ingreso: dic 2008
Mensajes: 21
comparar variable no tenga caracteres numericos ni signos ortográficos

Buenos días,

Lo que quiero es comparar es que una varible no contenga ni caracteres numéricos ni signos ortograficos. He utilizado los operadores relacionales de tal manera que se ha comparado IF variable (operador_relacional) sy-abcde y no se ha obtenido lo esperado.

De tal manera si la variable es ABCFGUI el resultado debería ser ok y si es ABFK1K el resultado debería ser ko.

Gracias.
Responder Con Cita
  #5  
Viejo 16/12/10, 10:50:21
Avatar de ppchico
ppchico ppchico is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Localización: Málaga
Mensajes: 144

te lo he puesto en este hilo:


En tu caso, deberías hacerlo al reves... que no contenga caracteris (NOT) ni números! Si tienes alguna duda me comentas!

Un Saludo!

Úlima edición por ppchico fecha: 16/12/10 a las 10:52:32.
Responder Con Cita
  #6  
Viejo 17/12/10, 14:19:42
jeanficetola jeanficetola is offline
Member
 
Fecha de Ingreso: sep 2007
Localización: Venezuela
Mensajes: 64
Funcion Estadar para chequear si una cadena tiene letras

call function 'CHECK_AND_CONVERT_NUMERICS'
exporting
dmzei = '.'
dtype = 'DEC'
efeld = gwa_art-ean11
imp_decimals = '0'
importing
error = l_error.
__________________
Jean Carlos Hernandez Ficetola

Consultor ABAP
INFOGESA S.A , Venezuela
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 09:10:10.


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