05-03-2005 9:09 AM
Dear Friends,
how do i convert a character value like '0,0000' to
packed,because if i directly assign i get a dump.
kind regards
kaushik hegde
05-03-2005 9:13 AM
Hi kaushik,
try:
translate char_field using ',.'.
move char_field to p_field.
regards Andreas
05-03-2005 9:12 AM
use statement 'PACK'
:
pack w_field to _w_field_packed .
Hope this helps.
Erwan.
05-03-2005 9:13 AM
Hi kaushik,
try:
translate char_field using ',.'.
move char_field to p_field.
regards Andreas
05-03-2005 9:26 AM
Hi,
Try this code.
data : cha(6) value '5,8000' ,
one type n,
two type n.
split cha at ',' into ONE TWO.
pack one to one.
pack two to two.
concatenate one '.' two into cha.
write cha.
05-03-2005 9:47 AM
Hi everyone,
I would also use Andreas' answer, but with this tiny generalization:
CLEAR: usr01.
SELECT SINGLE *
FROM usr01
WHERE bname = sy-uname.
CASE usr01-dcpfm.
WHEN space.
TRANSLATE char_field USING '. ,.'.
WHEN 'X'.
TRANSLATE char_field USING '.., '.
WHEN 'Y'.
TRANSLATE char_field USING '. ,.'.
WHEN OTHERS.
ENDCASE.
CONDENSE char_field NO-GAPS.
move char_field to p_field.
Hope it helps. BR,
Alvaro
05-03-2005 9:21 AM
Hi,
Try this out
DATA: i_p(10) type c,
o_p type p .
i_p = '10000'.
CALL FUNCTION 'CHAR_PACK_CONVERSION'
EXPORTING
input = i_p
IMPORTING
DECSTRING = o_p.
write: / o_p.
<b>One more thing to be noted is the maximum length allowed for type P is 16</b>.
Thanks & Regards,
Judith.