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

currency conversion

Former Member
0 Likes
508

my problem is iam validating us currency and korea currency one is having no decimals and another one is having decimals i have to validate and update in database table iam using wrbtr field this one is packed ,

iam updating us currency exactly when iam updating korea currency problem is coming if iam declaring currency field as numeric unicode compatability with this while updating in database table.

any solution let me know

Thanks

Ramana Reddy

my problem is iam validating us currency and korea currency one is having no decimals and another one is having decimals i have to validate and update in database table iam using wrbtr field this one is packed ,

iam updating us currency exactly when iam updating korea currency problem is coming if iam declaring currency field as numeric unicode compatability with this while updating in database table.

any solution let me know

Thanks

Ramana Reddy

3 REPLIES 3
Read only

Former Member
0 Likes
479

HI,

Sample Program

DATA: gd_fcurr TYPE tcurr-fcurr,
      gd_tcurr TYPE tcurr-tcurr,
      gd_date  TYPE sy-datum,
      gd_value TYPE i.

gd_fcurr = 'EUR'.
gd_tcurr = 'GBP'.
gd_date  = sy-datum.
gd_value = 10.

PERFORM currency_conversion USING gd_fcurr
                                  gd_tcurr
                                  gd_date
                         CHANGING gd_value.



* Convert value to Currency value 
*&---------------------------------------------------------------------*
*&      Form  currency_conversion
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_GD_FCURR  text
*      -->P_GD_TCURR  text
*      -->P_GD_DATE   text
*      <--P_GD_VALUE  text
*----------------------------------------------------------------------*
FORM currency_conversion  USING    p_fcurr
                                   p_tcurr
                                   p_date
                          CHANGING p_value.

  DATA: t_er        TYPE tcurr-ukurs,
        t_ff        TYPE tcurr-ffact,
        t_lf        TYPE tcurr-tfact,
        t_vfd       TYPE datum,
        ld_erate(12)   TYPE c.

  CALL FUNCTION 'READ_EXCHANGE_RATE'
    EXPORTING
*       CLIENT                  = SY-MANDT
      date                    = p_date
      foreign_currency        = p_fcurr
      local_currency          = p_tcurr
      TYPE_OF_RATE            = 'M'
*       EXACT_DATE              = ' '
   IMPORTING
      exchange_rate           = t_er
      foreign_factor          = t_ff
      local_factor            = t_lf
      valid_from_date         = t_vfd
*       DERIVED_RATE_TYPE       =
*       FIXED_RATE              =
*       OLDEST_RATE_FROM        =
   EXCEPTIONS
     no_rate_found           = 1
     no_factors_found        = 2
     no_spread_found         = 3
     derived_2_times         = 4
     overflow                = 5
     zero_rate               = 6
     OTHERS                  = 7
            .
  IF sy-subrc EQ 0.
    ld_erate = t_er / ( t_ff / t_lf ).
    p_value = p_value * ld_erate.
  ENDIF.
ENDFORM.                    " currency_conversion

Regards

Sudheer

Read only

0 Likes
479

hi sudheer my problem is not to convert amount value. if it is korea amount iam updating korea amount with korean currency but it is not having decimals where is us currency is having decimals and field is packed so with this how to update both type of currencys in database table after uploadind data and validate the data.

Thanks

ramana reddy

Read only

0 Likes
479

Hi sv ramana reddy,

SAP connects every currency value field (type CURR) in a DDIC structure with a currency key field of type CUKY. The determination and correct handling of decimals is determined by currency.

I think it works with USD as this currency is defined with 2 decimals which is default for currency fields.

Check existing database values stored with WON and other currencies in debugger and do necessary adjustments (multiply/divide by 10 or 100) to your input upload values.

You will find the number of decimals configured for each currency in one of the TCUR* tables.

Regards,

Clemens