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 09/03/10, 15:52:28
vstarke vstarke is offline
Member
 
Fecha de Ingreso: feb 2010
Mensajes: 60
Campo numérico

buenas!.. a ver si me pueden ayudar,

quiero validar que un campo sea absolutamente numérico sin "." ni "," sólo números... espero y me puedan ayudar gracias....
Responder Con Cita
  #2  
Viejo 09/03/10, 15:57:17
Neo_25 Neo_25 is offline
Member
 
Fecha de Ingreso: jun 2009
Mensajes: 51
A ver si te vale esto:

DATA: lv_digitos TYPE char10 VALUE '0123456789',
lv_comprobar TYPE char128 VALUE '556'.

DATA: lv_error TYPE char1.

CALL FUNCTION 'CHECK_AND_CONVERT_NUMERICS'
EXPORTING
dmzei = '.'
dtype = 'DEC'
efeld = lv_comprobar
imp_decimals = '0'
IMPORTING
error = lv_error.

IF lv_error = 'X'.
"error, la variable tiene letras
ELSE.
"ok, la variable sólo tiene números
ENDIF.
Responder Con Cita
  #3  
Viejo 09/03/10, 16:08:27
vstarke vstarke is offline
Member
 
Fecha de Ingreso: feb 2010
Mensajes: 60
gracias por responder.. pero eso funciona sólo hasta validar con "." si pongo "," pasa... hay laguna forma de validar esto sin tenerque llamar al método convert más de dos veces?
Responder Con Cita
  #4  
Viejo 09/03/10, 16:32:53
Avatar de Alfredosite
Alfredosite Alfredosite is offline
Senior Member
 
Fecha de Ingreso: jul 2007
Localización: Lima-Perú
Mensajes: 135
Lightbulb Solución


Puede aplicar este algoritmo:

PARAMETERS: p_cadena TYPE string."Parametro y/o valor de campo a tratar(alfanumerico)

DATA: gv_out TYPE string,"Salida luego del tratamiento(quitar valores alpha)
gv_int TYPE i, "Captura los valores numéricos
gv_cont TYPE i, "Contador de recorrido de cadena
gv_char1 TYPE c.

RANGES: lr_num FOR gv_char1.

START-OF-SELECTION.

lr_num-sign = 'I'.
lr_num-option = 'BT'.
lr_num-low = '0'.
lr_num-high = '9'.
APPEND lr_num.

gv_cont = STRLEN( p_cadena ).

DO gv_cont TIMES.
IF p_cadena+gv_int(1) IN gr_num.
CONCATENATE gv_out p_cadena+gv_int(1) INTO gv_out .
ENDIF.
ADD 1 TO gv_int.
ENDDO.

WRITE: gv_out .
__________________
Saludos Cordiales,
Alfredo Pastor Avendaño
SAP - Consultant HCM

Úlima edición por Alfredosite fecha: 09/03/10 a las 16:39:25.
Responder Con Cita
  #5  
Viejo 13/05/11, 21:36:33
karinastolen karinastolen is offline
Member
 
Fecha de Ingreso: mar 2010
Localización: México
Mensajes: 60
Puedes utilizar la función:
NUMERIC_CHECK
__________________
"Experience is what you get when you didn't get what you wanted." Randy Pausch
Responder Con Cita
  #6  
Viejo 04/07/13, 22:06:31
grandnomade grandnomade is offline
Junior Member
 
Fecha de Ingreso: ene 2011
Mensajes: 18

Hola, puedes usar.

check lv_campo CO '0123456789 '.

no olvidar el espacio en blanco después del 9.

Saludos
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 10:50:06.


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