2008 Aug 27 10:31 AM
HI GUYS,
IS THERE ANY INBUILT FUNCTION WHICH ONE CAN USE TO CONVERT CHARACTER DATATYPE TO PACKED DECIMAL.
THANKS.
2008 Aug 27 10:33 AM
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.
2008 Aug 27 10:33 AM
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
2008 Aug 27 10:34 AM
If you want to convert '12345' to value 12345, you can just assign the l_packed = l_character. FYI.
2008 Aug 27 10:34 AM
2008 Aug 27 10:45 AM
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.
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |