1、显示金额时:
*&---------------------------------------------------------------------*
*& Form F_TRANSFER_AMT_disp
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->PV_CURRENCY text
* -->PV_AMT text
*----------------------------------------------------------------------*
FORM F_TRANSFER_AMT_DISP USING PV_CURRENCY "
CHANGING PV_AMT. "
DATA: LV_FACTOR TYPE P DECIMALS 3,
LV_AMT TYPE WTGXXX,
LV_CURR TYPE TCURR-TCURR.
LV_AMT = PV_AMT.
LV_CURR = PV_CURRENCY.
CALL FUNCTION 'CURRENCY_CONVERTING_FACTOR'
EXPORTING
CURRENCY = LV_CURR
IMPORTING
FACTOR = LV_FACTOR
EXCEPTIONS
TOO_MANY_DECIMALS = 1
OTHERS = 2.
IF SY-SUBRC NE 0.
LV_FACTOR = 1.
ENDIF.
LV_AMT = LV_AMT * LV_FACTOR.
ENDFORM. " F_TRANSFER_AMT
2、金额保存时:
*&---------------------------------------------------------------------*
*& Form F_TRANSFER_AMT_save
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->PV_CURRENCY text
* -->PV_AMT text
*----------------------------------------------------------------------*
FORM F_TRANSFER_AMT_SAVE USING PV_CURRENCY "
CHANGING PV_AMT. "
DATA: LV_FACTOR TYPE P DECIMALS 3,
LV_AMT TYPE WTGXXX,
LV_CURR TYPE TCURR-TCURR.
LV_AMT = PV_AMT.
LV_CURR = PV_CURRENCY.
CALL FUNCTION 'CURRENCY_CONVERTING_FACTOR'
EXPORTING
CURRENCY = LV_CURR
IMPORTING
FACTOR = LV_FACTOR
EXCEPTIONS
TOO_MANY_DECIMALS = 1
OTHERS = 2.
IF SY-SUBRC NE 0.
LV_FACTOR = 1.
ENDIF.
IF LV_FACTOR NE 0.
LV_AMT = LV_AMT / LV_FACTOR.
ENDIF.
ENDFORM. "F_TRANSFER_AMT_save