MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Cambiar tipo de vble (foro/showthread.php?t=38935)

bealoal 22/09/10 11:09:45

Cambiar tipo de vble
 
Hola!
Estoy intentando convertir una vble de tipo char a tipo decimal. Sería por ejemplo pasar de CHAR = 31,87 a DECIMAL = 31,87. Alguien sabe como hacer esta conversión?

Gracias.

felipe.carrales 22/09/10 17:56:39

Se puede asignar directamente de una variable char a una de tipo numerico
ejemplo
data : var1(10) type n,
var2(10) type c value '256748'.

move var2 to var1.
write : / var1,
/ var2.

o puedes usar la funcion MOVE_CHAR_TO_NUM
ejemplo
codeDATA: lv_chr(4) type c,
lv_num type p.

CALL FUNCTION 'MOVE_CHAR_TO_NUM'
EXPORTING
CHR = lv_chr
IMPORTING
NUM = lv_num
EXCEPTIONS
CONVT_NO_NUMBER = 1
CONVT_OVERFLOW = 2
OTHERS = 3.
IF SY-SUBRC 0.


MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.


saludos.

bealoal 23/09/10 07:23:40

Como pasar de type f a type p decimals X
 
Hola!!
el problema es que no estoy trabajando con numeros enteros, es con decimales. Conseguí pasar de tipo char a tipo f con la función
CALL FUNCTION 'CHAR_FLTP_CONVERSION' el problema es que ahora me visualiza el dato de esta manera 7,968E-1 en vez de 0,7968 que es lo que yo quiero.

Alguien sabe como puedo pasar de tipo f a tipo p con 4 5 decimales por ejemplo?

francesc 23/09/10 08:20:11

Con lo que te devuelve la función en el campo flstr lo mueves a una variable tipo p con los decimales que quieras:

data gv_p TYPE p decimals 4.

.....

gv_p = flstr.

bealoal 23/09/10 09:18:08

Muchas gracias. Me funcionó.


Husos Horarios son GMT. La hora en este momento es 19:00:34.

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