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

problem in function module read_exchange_rate

Former Member
0 Likes
3,353

Hi gurus ,

  I have a requirement where i need to convert the webshop order ( INWS ) into sap with  'INRX'  and updating it by using BAPI_SALESORDER_CHANGE .I need to convert from USD to INR  with exchange rate 'INRX' where i can reflect those values in VA03. i used F.M  READ_EXCHANGE_RATE . but i am unable to getting 'INWS' to 'INRX' .

do i need to pass any thing

I am sending my code here.

 

LOOP AT IT_VBAK INTO WA_VBAK.

READ TABLE LT_KNVV INTO LS_KNVV WITH KEY KUNNR = WA_VBAK-KUNNR
KURST
= 'INWS'.
IF SY-SUBRC EQ 0

 

CALL FUNCTION 'READ_EXCHANGE_RATE'
EXPORTING
CLIENT = SY-MANDT
DATE = SY-DATUM
FOREIGN_CURRENCY
= 'USD'
LOCAL_CURRENCY
= 'INR'
TYPE_OF_RATE
= 'INRX'
* EXACT_DATE = '

EXCEPTIONS

NO_RATE_FOUND

= 1
NO_FACTORS_FOUND
= 2
NO_SPREAD_FOUND
= 3
DERIVED_2_TIMES
= 4
OVERFLOW
= 5
ZERO_RATE
= 6
OTHERS = 7.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

  EXPORTING

     WAIT = 'X'.

  

LS_ORDER_HEADER_IN-H_CURR = 'USD'.

LS_ORDER_HEADER_INX-H_CURR = 'X'.

LS_ORDER_HEADER_IN-UPDATEFLAG = 'U'.

LS_ORDER_HEADER_INX-EXCHG_RATE = 'X'.


LS_LOGIC_SWITCH-COND_HANDL = 'X'.

CALL FUNCTION  'BAPI_SALESOREDR_CHANGE'

EXPORTING

  SALESDOCUMNET = WA_VBAK-VBELN

ORDER_HEADER_IN = LS_ORDER_HEADER_IN

ORDER_HEADER_INX = LS_ORDER_HEADER_INX

LOGIC_SWITCH  =  LS_LOGIC_SWITCH

TABLES

   RETURN = LT_RETURN

3 REPLIES 3
Read only

Former Member
0 Likes
1,614

Try following function modules:

CONVERT_TO_LOCAL_CURRENCY

CONVERT_AMOUNT_TO_CURRENCY

Thanks,

Ajay Bose

Read only

Former Member
0 Likes
1,614

DEAR SRINIVSA RAO,

USE THE FOLLOWING CODE BUT REMEBER  THAT FOREIGN CURRENCY RATES SHOULD BE MAITAIN IN THE VIEW USING TCODE OB08.

DATA:    l_er TYPE tcurr-ukurs,

        l_ff TYPE tcurr-ffact,

        l_lf TYPE tcurr-tfact,

        l_erate(12) TYPE c.

     DATA: SAR_EFFWR TYPE ekpo-effwr.

   CALL FUNCTION 'READ_EXCHANGE_RATE'

         EXPORTING

          client                  = sy-mandt

           date                    = sy-datum

           foreign_currency        = 'EUR'

           local_currency          = 'SAR'

          type_of_rate            = 'M'

*         EXACT_DATE              = ' '

        IMPORTING

          exchange_rate           = l_er

          foreign_factor          = l_ff

          local_factor            = l_lf .

     IF sy-subrc EQ 0.

       l_erate = l_er / ( l_ff / l_lf ).

        sar_effwr  = '2000.00' * l_erate.

     ENDIF.

     WRITE: SAR_EFFWR.

Read only

0 Likes
1,614

Hi Srinu,

Try with Zahid reply will got solve your issue.

Thanks,

Syam