Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

FUNCTION TO CONVERT FROM CHARACTER TO PACKED DECIMAL

Former Member
0 Likes
2,979

HI GUYS,

IS THERE ANY INBUILT FUNCTION WHICH ONE CAN USE TO CONVERT CHARACTER DATATYPE TO PACKED DECIMAL.

THANKS.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,666

Hi,

Try this FM,

'CHAR_PACK_CONVERSION'

or

DATA:
  w_var1(6) TYPE c VALUE '12345',
  w_var2(9) TYPE p DECIMALS 2.
  
w_var2 = w_var1.

WRITE:
  w_var2.

Regards

Adil

HI GUYS,

IS THERE ANY INBUILT FUNCTION WHICH ONE CAN USE TO CONVERT CHARACTER DATATYPE TO PACKED DECIMAL.

THANKS.

4 REPLIES 4
Read only

Former Member
0 Likes
1,667

Hi,

Try this FM,

'CHAR_PACK_CONVERSION'

or

DATA:
  w_var1(6) TYPE c VALUE '12345',
  w_var2(9) TYPE p DECIMALS 2.
  
w_var2 = w_var1.

WRITE:
  w_var2.

Regards

Adil

Read only

Former Member
0 Likes
1,666

If you want to convert '12345' to value 12345, you can just assign the l_packed = l_character. FYI.

Read only

Former Member
0 Likes
1,666

Hi,

Try this Function module----

MOVE_CHAR_TO_NUM

Thanks,

Read only

Subhankar
Active Contributor
0 Likes
1,666

Hi ..

You do it easily by writing a subroutine..

PERFORM sub_update_qty_wtdes

CHANGING wa_deal-aprv_net_price.

FORM sub_update_qty_wtdes CHANGING p_char.

  • Variable declaration

DATA: l_sign TYPE char01, "Sign

l_char1 TYPE char10, "Character before decimals

l_len TYPE i, "Length

l_char2 TYPE char04. "Character after decimals

l_len = STRLEN( p_char ) - 1.

IF l_len > 1.

l_sign = p_char(1).

SPLIT p_char+1(l_len) AT '.' INTO l_char1 l_char2.

SHIFT l_char1 LEFT DELETING LEADING '0'.

IF l_char1 IS NOT INITIAL.

CONCATENATE l_char1 '.' l_char2 l_sign INTO p_char.

ELSEIF l_char1 IS INITIAL AND l_char2 <> '00'.

CONCATENATE '0' '.' l_char2 l_sign INTO p_char.

ELSE.

CLEAR: p_char.

ENDIF.

ENDIF.

ENDFORM.