PDA

Ver la Versión Completa : de String a Packet


goyleo
31/03/08, 14:05:59
Buenos Dias gente, neceitaria ayuda con el siguiente caso, tengo un string y necesitaria pasarlo a un valor paket.
mi String contiene el siguiente valor 1.200,00
El valor packet tiene el siguiente formato : 00.00 (donde el punto representa a las comas)

si uso la sentencia Pack me arroja un DUMP!!! :mad:

muchas gracias.:D

robert_milan
31/03/08, 14:11:09
yo te recomiendo que primero hagas un tratamiento del string, primero:

DO.
replace '.' with space into string1.
check sy-subrc NE 0.
condense string1 no-gaps.
EXIT.
ENDDO.


despues cambias la coma por el punto.
remplace ',' with '.' into string1.

con esto ya lo puedes pasar a la variable tipo P.

espero te sirva saludos...

vickxo
31/03/08, 14:23:18
Lo que dice el robert es cierto, el tema esta en que al momento de hacer el packet no es posible interpretar el numero como tal, por lo que antes de hacer cualquier operacion necesitas quitar las comas de tu cadena.
Revisa como esta representado un numero en tu sistema, si separa los decimales con punto, deberas quitar las comas de tu cadena, si separa los decimales con coma, seran los puntos los que deberas quitar.
Use esta seccion para corroborar, para tratar la cadena lo que sugiere robert es para mi gusto lo ideal.

DATA: c_field(7) TYPE c VALUE '1200.05',
p_field TYPE p DECIMALS 2.

PACK c_field TO p_field.

WRITE: p_field.