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 08/11/11, 20:06:11
Leonel Espitia Torres Leonel Espitia Torres is offline
Member
 
Fecha de Ingreso: ago 2009
Mensajes: 78
Como Validar que un dato sea numerico

Buenos compañeros abapers:
El campo de una tabla se utiliza para registrar cantidades, pero debido a que es un campo alfanumérico hay veces que meten datos alfanuméricos (es decir carateres diferentes de números), como hago para validar que el sistema solo tenga en cuenta los datos que sean solo números?. Existe alguna función para esto?. Muchas gracias por su colaboración.
Responder Con Cita
  #2  
Viejo 08/11/11, 20:28:01
Avatar de DCErick
DCErick DCErick is offline
Moderator
 
Fecha de Ingreso: mar 2006
Localización: Monterrey
Mensajes: 1,090
__________________
-------------------
¿Dudas para descargar manuales? Ver este tema ->
Responder Con Cita
  #3  
Viejo 09/11/11, 11:05:35
Avatar de mysmb2
mysmb2 mysmb2 is offline
Senior Member
 
Fecha de Ingreso: ene 2007
Localización: Cordoba
Mensajes: 406
la función NUMERIC_CHECK te va a servir.

Saludos.
__________________
Sebastián Chiavia
Responder Con Cita
  #4  
Viejo 09/11/11, 14:43:39
Avatar de DCErick
DCErick DCErick is offline
Moderator
 
Fecha de Ingreso: mar 2006
Localización: Monterrey
Mensajes: 1,090

Esta función creo que no es tan funcional, cuando el dato tiene deciamales te regresa que es tipo CHAR y no NUMC.

Y la otra es que si el campo solo debe contener números pues cambiarle de tipo y no se complica la vida.
__________________
-------------------
¿Dudas para descargar manuales? Ver este tema ->
Responder Con Cita
  #5  
Viejo 09/11/11, 15:06:08
beltsoft beltsoft is offline
Member
 
Fecha de Ingreso: sep 2011
Localización: Mexico
Mensajes: 99
DCErick es correcto con el manejador de string CO:

CHECK var_1 CO '0123456789'.

Saludos.
__________________
SSE BeltSoft México
Your Business, our motivation ...
Responder Con Cita
  #6  
Viejo 09/11/11, 18:25:00
Leonel Espitia Torres Leonel Espitia Torres is offline
Member
 
Fecha de Ingreso: ago 2009
Mensajes: 78
Compañeros ABAPers Gracias por tus respuestas.
En este caso lo pude solucionar con la función NUMERIC_CHECK, pero no entendí como se implementa con CHECK var_1 CO '0123456789'. CHECK es una funcion?, me puedes dar un ejemplo en ABAP de implementacion de esto?. Gracias Leonel
Responder Con Cita
  #7  
Viejo 10/11/11, 07:52:26
jtristan jtristan is offline
Senior Member
 
Fecha de Ingreso: oct 2007
Mensajes: 240
Hola, check es como un if. Si se cumple la condición continúa la ejecución del programa y sino saltaría al punto siguiente. Es decir, si le estás utilizando por ejemplo dentro de un loop, si se cumple, continuaría con la ejecución y sino saltaría al siguiente registro. Si es dentro de una función, si se cumple continuaría con el código de la función y sino pues saldría de la función.

para este caso, comprueba que tu variable sólo contenga los dígitos indicados. Si tiene un valor alfa no seguiría.


Espero haberte ayudado.

Un saludo.
Responder Con Cita
  #8  
Viejo 10/11/11, 08:10:56
jtristan jtristan is offline
Senior Member
 
Fecha de Ingreso: oct 2007
Mensajes: 240
Pensando en como saber si un valor es numérico también se me ha ocurrido esta idea. Es un poco rara pero parece que va. Sería dividir todos los valores entre uno y aquel que no sea numérico nos lanzará una excepción CX_SY_CONVERSION_NO_NUMBER que podemos capturar.

data: numero type i value 15,
caracter(4) type c value 'a23',
decimal(10) type p DECIMALS 2 value '15.25',
valor(10) type p decimals 2.



try.
valor = numero / 1.
valor = decimal / 1.
valor = caracter / 1.
catch CX_SY_CONVERSION_NO_NUMBER.
write 'no es numerico'.
endtry.
Responder Con Cita
  #9  
Viejo 10/11/11, 16:17:03
Avatar de DCErick
DCErick DCErick is offline
Moderator
 
Fecha de Ingreso: mar 2006
Localización: Monterrey
Mensajes: 1,090

Si eso podria funcionar, pero controlar una exception le cuesta mas recursos recursos al sistema xD.
__________________
-------------------
¿Dudas para descargar manuales? Ver este tema ->
Responder Con Cita
  #10  
Viejo 10/11/11, 16:32:22
JorgeAntonio
 
Mensajes: n/a
String es numerico?

Si es el caso de strings; éste Módulo de Función es muy útil:
NUMERIC_CHECK
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 14:03:47.


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