Skip to Content
avatar image
Former Member

Convert unit and currency

Hi

I have 2 requirements.

1. I need a function module which can convert quantities (MENGE) to Base unit of quantity (MEINS). It should import quantity, current unit and unit to which conversion is required(meins) and then return new quantity and base unit.

2.Similar to above this function module should import value(dmbtr), current curreny (waers), and company currency code (waers) and return the value and currency wrt company currency code.

Regards,

Kiran

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

6 Answers

  • avatar image
    Former Member
    Jun 23, 2006 at 11:07 AM

    There are Several Function Module...

    Check out there functionality as per your requirement...

    · CONVERSION_FACTOR_GET

    With this function module, you determine the conversion factors for the conversion of a measurement unit into another using the measurement units table. This does not apply to measurement units within a dimension.

    The module also returns the number of decimal places to which the values in the unit UNIT_OUT are to be rounded. This also applies to units with no dimension.

    The following formula applies for the conversion:

    (value in the unit UNIT_OUT) = (value in the unit UNIT_IN) * numerator/denominator + additive constant.

    · ROUND

    With this function module, you round a value to the specified number of decimal places. You can choose between three rounding types:

    - Rounding up

    - Rounding down

    - Commercial rounding

    The rounding is performed internally with the same field type as that of the field passed.

    Rounding errors can thus occur when rounding a FLOAT value. If you want a high degree of accuracy, the passed field should have the type P.

    · SI_UNIT_GET

    You pass either a unit or a dimension to this function module to get the SI unit. If you pass both a unit and a dimension, the SI unit for the dimension is returned.

    · UNIT_CONVERSION_WITH_FACTOR

    With this function module, you convert a value according to the factor passed.

    · UNIT_CORRESPONDENCE_CHECK

    With this function module, you can check whether the two units passed belong to the same dimension.

    · UNIT_GET

    With this function module, you get the appropriate measurement unit for the specified dimension and conversion factor.

    · UNIT_CONVERSION_SIMPLE

    With this function module, you convert a value using the measurement unit table, and round it, if appropriate.

    You can also perform the rounding without conversion.

    Conversion with this function module requires that the measurement unit table is maintained for both units, and that both units belong to the same dimension, i.e. also that they have dimensions.

    The rounding can, however, also be performed for units which have no dimension.

    CONVERT_TO_LOCAL_CURRENCY - Conversion of currency

    HRCM_AMOUNT_TO_STRING_CONVERT - Convert amount to string

    HRCM_STRING_TO_AMOUNT_CONVERT - Convert amount from string

    CLOI_PUT_SIGN_IN_FRONT Move the negative sign from the left hand side of a number, to the right hand side of the number. Note that The result will be left justified (like all

    character fields), not right justifed as numbers normally are.

    CONVERT_TO_FOREIGN_CURRENCY Convert local currency to foreign currency.

    CONVERT_TO_LOCAL_CURRENCY Convert from foreign currency to local currency

    check out this link.

    http://www.sapgenie.com/abap/functions.htm

    http://fuller.mit.edu/SAPDocs/conversion_exits_in.htm

    this may help you.

    Do Reward Points to replies if found useful...

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jun 23, 2006 at 11:09 AM

    hi,

    Check the link.

    unit-conversion-with-0unitmat

    http://www.sapgenie.com/abap/functions.htm

    http://fuller.mit.edu/SAPDocs/conversion_exits_in.htm

    You can use FM CONVERT_TO_LOCAL_CURRENCY or CONVERT_TO_FOREIGN_CURRENCY for currency conversion

    There are many others available. Check with unitconvert* and convertcurrency*.

    UNIT_CONVERSION_WITH_FACTOR or UNIT_CONVERSION_SIMPLE for unit conversion.

    Regards,

    Richa

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jun 23, 2006 at 11:55 AM

    Hi Kiran,

    1) Use Function Module <b>UNIT_CONVERSION_SIMPLE</b>.

    DATA:

    L_UNIT1 LIKE T006-MSEHI,

    L_UNIT2 LIKE T006-MSEHI,

    L_OUTPUT TYPE P DECIMALS 3,

    L_INPUT TYPE P DECIMALS 3.

    CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'

    EXPORTING

    INPUT = L_INPUT "InputValue

    UNIT_IN = L_UNIT1 "Unit need to be converted

    UNIT_OUT = L_UNIT2 "Unit to be converted

    IMPORTING

    OUTPUT = L_OUTPUT "Value in required units

    EXCEPTIONS

    CONVERSION_NOT_FOUND = 1

    DIVISION_BY_ZERO = 2

    INPUT_INVALID = 3

    OUTPUT_INVALID = 4

    OVERFLOW = 5

    TYPE_INVALID = 6

    UNITS_MISSING = 7

    UNIT_IN_NOT_FOUND = 8

    UNIT_OUT_NOT_FOUND = 9

    OTHERS = 10.

    IF SY-SUBRC = 0.

    V_QTY_FINAL = L_OUTPUT.

    SHIFT V_QTY_FINAL LEFT DELETING LEADING SPACE.

    ENDIF.

    2) Use Function modules <b>CONVERT_TO_LOCAL_CURRENCY and CONVERT_TO_FOREIGN_CURRENCY</b> for currency conversions

    Thanks,

    Vinay

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jun 23, 2006 at 12:33 PM

    code to convert weight from one unit to another

    FORM F_CONVERT_WEIGHT_INTO_KG USING P_WEIGHT

    P_WT_UNIT.

    DATA: LV_LB TYPE COMT_NET_WEIGHT,

    LV_KG TYPE COMT_NET_WEIGHT,

    LV_WT_UNIT TYPE COMT_UNIT.

    LV_LB = P_WEIGHT.

    LV_WT_UNIT = P_WT_UNIT.

    CALL FUNCTION 'COM_PRODUCT_UNIT_CALC_WEIGHT'

    EXPORTING

    I_INPUT_B = LV_LB "your current MENGE

    I_UNIT_B = LV_WT_UNIT "current MEINS

    I_UNIT_A = 'KG' "target MEINS

    I_NUMERATOR = 1

    I_DENOMINATOR = 1

    IMPORTING

    E_OUTPUT_A = LV_KG. "weight in new MEINS

    P_WEIGHT = LV_KG.

    ENDFORM. " F_CONVERT_WEIGHT_INTO_KG

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jun 23, 2006 at 12:37 PM

    for currency conversions

    use the function modules,

    CONVERT_TO_FOREIGN_CURRENCY -


    Convert Currency

    CONVERT_TO_LOCAL_CURRENCY

    CONVERT_COUNTRY_CURRENCY

    CURRENCY_CONVERT

    also refer this link,

    how-to-find-a-good-function-about-conversion-of-ex

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jun 23, 2006 at 12:40 PM

    Hai Kiran

    Check the following Function Modules

    For Unit

    UNIT_OF_MEASURE_SAP_TO_ISO

    UNIT_OF_MEASURE_ISO_TO_SAP

    For Currency

    CONVERT_TO_LOCAL_CURRENCY

    CONVERT_COUNTRY_CURRENCY

    CONVERT_TO_FOREIGN_CURRENCY

    CURRENCY_CONVERT

    Thanks & regards

    Sreenivasulu P

    Add comment
    10|10000 characters needed characters exceeded