06-16-2009 1:27 PM
HI Experts
is thier any Fucnction module to convert amount from one currency to another currency?
please help me.
Thanks
06-16-2009 1:55 PM
Hi,
data: lv_foramt TYPE vbap-netpr VALUE 40,
lv_forcurr TYPE string VALUE 'USD',
lv_loccurr TYPE string VALUE 'INR',
lv_locamt TYPE vbap-netpr.
CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
EXPORTING
CLIENT = SY-MANDT
DATE = sy-datum
FOREIGN_AMOUNT = lv_foramt
FOREIGN_CURRENCY = lv_forcurr
LOCAL_CURRENCY = lv_loccurr
RATE = 0
TYPE_OF_RATE = 'M'
READ_TCURR = 'X'
IMPORTING
* EXCHANGE_RATE =
* FOREIGN_FACTOR =
LOCAL_AMOUNT = lv_locamt
* LOCAL_FACTOR =
* EXCHANGE_RATEX =
* FIXED_RATE =
* DERIVED_RATE_TYPE =
EXCEPTIONS
NO_RATE_FOUND = 1
OVERFLOW = 2
NO_FACTORS_FOUND = 3
NO_SPREAD_FOUND = 4
DERIVED_2_TIMES = 5
OTHERS = 6
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
write:/ lv_locamt.
P.S. Please test your FM in SE37. When I tested, it worked only between USD and INR.
06-16-2009 1:32 PM
Hi,
Use the Fm's
CONVERT_TO_FOREIGN_CURRENCY Translate local currency amount into foreign currency
CONVERT_TO_LOCAL_CURRENCY Translate foreign currency amount to local currency
Regards,
Kumar Bandanadham
06-16-2009 1:37 PM
Hi,
Use CONVERT_TO_FOREIGN_CURRENCY and CONVERT_TO_LOCAL_CURRENCY.
Regards,
Ankur Parab
06-16-2009 1:55 PM
Hi,
data: lv_foramt TYPE vbap-netpr VALUE 40,
lv_forcurr TYPE string VALUE 'USD',
lv_loccurr TYPE string VALUE 'INR',
lv_locamt TYPE vbap-netpr.
CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
EXPORTING
CLIENT = SY-MANDT
DATE = sy-datum
FOREIGN_AMOUNT = lv_foramt
FOREIGN_CURRENCY = lv_forcurr
LOCAL_CURRENCY = lv_loccurr
RATE = 0
TYPE_OF_RATE = 'M'
READ_TCURR = 'X'
IMPORTING
* EXCHANGE_RATE =
* FOREIGN_FACTOR =
LOCAL_AMOUNT = lv_locamt
* LOCAL_FACTOR =
* EXCHANGE_RATEX =
* FIXED_RATE =
* DERIVED_RATE_TYPE =
EXCEPTIONS
NO_RATE_FOUND = 1
OVERFLOW = 2
NO_FACTORS_FOUND = 3
NO_SPREAD_FOUND = 4
DERIVED_2_TIMES = 5
OTHERS = 6
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
write:/ lv_locamt.
P.S. Please test your FM in SE37. When I tested, it worked only between USD and INR.
06-17-2009 8:08 AM
Hi!
DATA : w_amt type cms_dte_original_amt,
" Amount
w_conv_amt type cms_dte_conv_amt,
" Converted amount
w_kmein type cms_dte_original_curr,
You can use this FM,
if fs_lips-kmein ne 'INR'.
fl_flag = 1.
w_amt = fs_lips-netpr.
w_kmein = fs_lips-kmein.
call function 'CMS_API_CURR_CONV'
exporting
i_original_curr = w_kmein
i_original_amt = w_amt
i_result_curr = 'INR'
i_rate_type = 'M'
i_conv_date = sy-datum
importing
e_conv_amt = w_conv_amt.
fs_lips-netpr = w_conv_amt.
fs_lips-kmein = 'INR'.
endif.
Regards
06-17-2009 8:08 AM
Hi!
Here i am checking for all currencies to be in INR if not then converting it to INR.
DATA : w_amt type cms_dte_original_amt,
" Amount
w_conv_amt type cms_dte_conv_amt,
" Converted amount
w_kmein type cms_dte_original_curr,
You can use this FM,
if fs_lips-kmein ne 'INR'.
w_amt = fs_lips-netpr.
w_kmein = fs_lips-kmein.
call function 'CMS_API_CURR_CONV'
exporting
i_original_curr = w_kmein
i_original_amt = w_amt
i_result_curr = 'INR'
i_rate_type = 'M'
i_conv_date = sy-datum
importing
e_conv_amt = w_conv_amt.
fs_lips-netpr = w_conv_amt.
fs_lips-kmein = 'INR'.
endif.
Regards
06-17-2009 8:12 AM
Hi,
There are many FMs to convert function module.
Ex:CONVERT_CURRENCY_BY_RATE
Please check in se37 with the help of F4.
Regards