CURRENCY_AMOUNT_DISPLAY_TO_SAP - ooxxvv/MySAPnotes GitHub Wiki
PageOutline {{{#!comment -------------------- 以上的部份是固定的,不要變動 ----- --------------------------------------- 在建立連結時,請標明連結的頁面類型,例如:wiki:WikiStart,而不要只用 WikiStart ----- }}}
CURRENCY_AMOUNT_DISPLAY_TO_SAP
- 將顯示的金額轉成SAP內部儲存的金額數字
- 相反功能 => CURRENCY_AMOUNT_SAP_TO_DISPLAY
- 類似:CURRENCY_AMOUNT_IDOC_TO_SAP
EXPORTING
- CURRENCY => 幣別
- AMOUNT_DISPLAY => 顯示的金額
IMPORTING
- AMOUNT_ INTERNAL => SAP內部儲存的金額數字
Code
{{{#!abap FORM exchange_amt USING fi_wrbtr "Amt. in Doc. Currency fi_waers "Doc. Currency fi_kursf "Exchange rate fi_bukrs "Company code CHANGING fo_dmbtr "Amt. in Local currency fo_waers. "Local currency DATA: l_waers_out LIKE tcurc-waers, l_waers_in LIKE tcurc-waers, l_dmbtr LIKE wmto_s-amount, l_wrbtr LIKE wmto_s-amount.
CLEAR: fo_dmbtr, fo_waers.
fo_dmbtr = fi_wrbtr. fo_waers = fi_waers.
IF fi_kursf IS INITIAL OR fi_kursf EQ 1. EXIT. ENDIF.
*-Get local currency by company code SELECT SINGLE waers INTO l_waers_out FROM t001 WHERE bukrs EQ fi_bukrs.
IF sy-subrc NE 0. EXIT. ENDIF.
IF l_waers_out EQ fi_waers. EXIT. ENDIF.
*-Conversion input Amt. l_waers_in = fi_waers. l_wrbtr = f i_wrbtr.
CALL FUNCTION 'CURRENCY_AMOUNT_SAP_TO_DISPLAY' EXPORTING currency = l_waers_in amount_internal = l_wrbtr IMPORTING amount_display = l_wrbtr EXCEPTIONS internal_error = 1 OTHERS = 2.
IF sy-subrc <> 0. EXIT. ENDIF.
*-Exchange rate l_dmbtr = l_wrbtr * fi_kursf.
*-Conversion output Amt. CALL FUNCTION 'CURRENCY_AMOUNT_DISPLAY_TO_SAP' EXPORTING currency = l_waers_out amount_display = l_dmbtr IMPORTING amount_internal = l_dmbtr EXCEPTIONS internal_error = 1 OTHERS = 2.
IF sy-subrc <> 0. EXIT. ENDIF.
*-Return value fo_waers = l_waers_out. fo_dmbtr = l_dmbtr.
ENDFORM. " EXCHANGE_AMT }}}