MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   De CHAR a MENG13 (foro/showthread.php?t=74132)

Neo_25 15/06/15 14:10:31

De CHAR a MENG13
 
Hola y gracias de primeras,
a ver si me podéis echar una mano, por favor.

¿Hay alguna función que pasándola un campo CHAR y el formato de decimales del usuario (USR01-DCPFM), te diga y te devuelva si lo introducido es un numérico y que te lo de en el formato correcto?

En una dynpro he de enseñar un campo CHAR en el que deben escribir un campo numérico.
Es de un campo CHAR17 a un campo LFIMG (MENG13).
Tiene que ser un char en la dynpro porque el recuadro es muy pequeño y sólo el CHAR permite tener un recuadro más pequeño y escribir más de lo que se visualiza.

Accedo a la tabla USR01 y el campo DCPFM me dice el formato del usuario:


1- ¿Cómo compruebo que lo escrito es un número?
Con la función CHECK_AND_CONVERT_NUMERICS compruebo si hay alguna letra.

call function 'CHECK_AND_CONVERT_NUMERICS'
exporting
dmzei = pi_user_decimal
dtype = 'DEC'
efeld = po_qty_char
imp_decimals = '9'
importing
error = lv_error
.

1,623.4 o 1.623,4 son correctos y pasan la validación de la función

2- ¿Cómo compruebo que el número escrito está en el formato correcto?
El problema viene al hacer: lv_LFIMG = lv_CHAR17 porque el usuario ha podido escribir:
‘123,34’ y eso da dump
Los números de arriba dan ambos error: 1,623.4 o 1.623,4

A ver si me podéis decir algo


Husos Horarios son GMT. La hora en este momento es 08:28:11.

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