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 18/07/12, 18:00:30
Avatar de MetalGod
MetalGod MetalGod is offline
Senior Member
 
Fecha de Ingreso: jun 2012
Localización: Tandil - Argentina
Mensajes: 110
saber si es numerico

hola, mi consulta es esa, como saber si una variable string es numerica? porque tengo que hacer una distincion entre si es solo numero o si son letras, probe varias funciones y un metodo que encontre pero nada, espero me ayuden, gracias
Responder Con Cita
  #2  
Viejo 18/07/12, 19:20:12
Avatar de mysmb2
mysmb2 mysmb2 is offline
Senior Member
 
Fecha de Ingreso: ene 2007
Localización: Cordoba
Mensajes: 406
Hola, revisa este post.

Saludos.
__________________
Sebastián Chiavia
Responder Con Cita
  #3  
Viejo 18/07/12, 19:24:02
Avatar de MetalGod
MetalGod MetalGod is offline
Senior Member
 
Fecha de Ingreso: jun 2012
Localización: Tandil - Argentina
Mensajes: 110
con ese metodo que pone ahi como solucion no me anduvo, lo hice con esta funcion:


CALL FUNCTION 'NUMERIC_CHECK'
EXPORTING
string_in = valor
IMPORTING
* string_out =
htype = v_tipo
EXCEPTIONS
OTHERS = 1.

IF v_tipo EQ 'NUMC'.
"aca entra si la variable es numerica
ELSE.
""
ENDIF.

igual gracias
Responder Con Cita
  #4  
Viejo 23/07/12, 07:25:00
nievesmp nievesmp is offline
Member
 
Fecha de Ingreso: abr 2009
Mensajes: 95
v_len = 12.
v_pos = 0.
DO v_len TIMES.
p1 = variable+v_pos(sy-tabix).
ADD 1 TO v_pos.

IF p1 CO '0123456789'.
paso = '0'.
ELSE.
paso = 'X'.
ENDIF.
ENDDO.
*** Si es un número lo agrego a la tabla de órdenes secundarias
IF paso = '0'.
**** Variable Es numérica ****
ENDIF.
endif.
Responder Con Cita
  #5  
Viejo 23/07/12, 07:30:05
nievesmp nievesmp is offline
Member
 
Fecha de Ingreso: abr 2009
Mensajes: 95

Esta rutina es mejorable, ya que puede ocurrir que el último caracter sea numérico, y considere toda la variable como tal.

Para evitar esto, podría ser:
v_len = 12.
v_pos = 0.
DO v_len TIMES.
p1 = variable+v_pos(sy-tabix).
ADD 1 TO v_pos.

IF p1 CN '0123456789'.
paso = 'x'.
ENDIF.
ENDDO.
*** Si es un número lo agrego a la tabla de órdenes secundarias
IF paso is initial.
**** Variable Es numérica ****
ENDIF.
endif.
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 13:19:32.


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