#1
|
|||
|
|||
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 |
Herramientas | Buscar en Tema |
Desplegado | |
|
|