【SAP】通貨変換(換算)処理のサンプルロジック

SAP ABAPのアドオンプログラムでは、通貨変換(換算)をしなければいけない場面があります。
計算は内部書式のままが計算しやすいですが、表示は外部書式が適している場面はとても多いです。


サンプルロジック

Ctrl+Cとかでコピーして使ってみてくださいね!

呼び出し元のロジック

PERFORM CONVERT_CURRENCY_SAP_TO_EXTER USING I_KBETR
                                                                                   I_WAERS
                                                                  CHANGING W_VALUE.

* I_KBETRはSAP内部書式(MSEG-DMBTR等)
* I_WAERSは通貨項目(MSEG-WAERS等)
* W_VALUEはDEC型24、小数4(E_AMOUNT_EXTの型に合わせる)

FORM文

FORM CONVERT_CURRENCY_SAP_TO_EXTER
     USING    I_KBETR
              I_WAERS
     CHANGING O_VALUE.

*-ローカルデータ
  DATA:
    LW_AMOUNT_SAP TYPE BP_WJL,
    LW_AMOUNT_EXT TYPE BAPICURR-BAPICURR.

  MOVE: I_KBETR TO LDF_AMOUNT_SAP.

* 通貨変換用汎用モジュール
  CALL FUNCTION 'AIA_TOOL_CURRENCY_SAP_TO_EXTER'
    EXPORTING
      I_AMOUNT_SAP         = LW_AMOUNT_SAP
      I_SAP_CODE           = I_WAERS
*      I_OBJECT_ID          =
    IMPORTING
      E_AMOUNT_EXT         = LW_AMOUNT_EXT
*      E_SAP_CODE_EXT       =
*      E_ISO_CODE_EXT       =
*      E_RETURN             =
*    CHANGING
*      FLG_ERROR            =
*    EXCEPTIONS
*      OTHRES              = 0
             .
   CHECK SY-SUBRC = 0.
   MOVE: LW_AMOUNT_EXT TO O_VALUE.

ENDFORM.





0 件のコメント :

コメントを投稿