換算レートマスタ登録BAPI

BAPI_EXCHRATE_CREATEMULTIPLE

概要

レートタイプごとの換算レートマスタを登録するBAPIです。複数の換算レートを一度に登録することができます。

パラメータ

主なパラメータは生成換算レート一覧です。既存レートの上書き更新の可否を制御するフラグなども指定できます。
パラメータ一覧
種別パラメータ説明
インポートUPD_ALLOW'X' = 既存換算レートの更新も許可
CHG_FIXED'X' = 固定換算レートの変更許可
DEV_ALLOW旧換算レートに対する許容差異(パーセント)
テーブルEXCHRATE_LISTインポート:生成換算レート一覧
RETURNメッセージ

インポートパラメータを設定する

既存換算レートの更新も許可(UPD_ALLOW)を設定すると換算レートの上書き更新が可能になります。誤って上書きをしないようにするためにはこのフラグにスペースを設定します。
設定例:インポートパラメータ
項目項目名称設定値
UPD_ALLOW既存換算レートの更新も許可X

生成換算レート一覧のパラメータを設定する

生成換算レート一覧(EXCHRATE_LIST)には、換算レートタイプ、換算前通貨、換算後通貨、エントリの有効開始日を設定します。換算レートは直接/間接のどちらかを設定することが可能です。直接の場合は直接呼び値換算レート、換算前通貨単位の係数、換算後通貨単位の係数を設定します。
設定例:EXCHRATE_LIST
項目項目名称設定値
RATE_TYPE換算レートタイプM
FROM_CURR換算前通貨USD
TO_CURRNCY換算後通貨JPY
VALID_FROMエントリの有効開始日2015/01/01
EXCH_RATE直接呼び値換算レート120
FROM_FACTOR換算前 通貨単位の係数1
TO_FACTOR換算後 通貨単位の係数1

サンプルコード

通常の汎用モジュールを実行するのと同様にCALL FUNCTIONで実行します。換算レートマスタ登録のBAPIの内部ではコミットされないため、正常終了時は明示的にコミットを実行する必要があります。

BAPIは例外を発生させない仕様なので、エラー判定はRETURNパラメータにメッセージタイプが「E」のレコードが1件以上あるかどうかで判定をします。
DATA: LV_UPD_ALLOW     TYPE BAPI1093_2-UPD_ALLOW,
      LS_EXCHRATE_LIST TYPE BAPI1093_0,
      LT_EXCHRATE_LIST TYPE TABLE OF BAPI1093_0,
      LT_RETURN        TYPE TABLE OF BAPIRET2.

* パラメータに値を設定する
LV_UPD_ALLOW                = 'X'.   " 既存換算レートの更新も許可
LS_EXCHRATE_LIST-RATE_TYPE  = 'M'.   " 換算レートタイプ
LS_EXCHRATE_LIST-FROM_CURR  = 'USD'. " 換算前通貨
LS_EXCHRATE_LIST-TO_CURRNCY = 'JPY'. " 換算後通貨
LS_EXCHRATE_LIST-EXCH_RATE  = 120.   " 直接呼び値換算レート
*             :
*          (以下略)

CALL FUNCTION 'BAPI_EXCHRATE_CREATEMULTIPLE'
  EXPORTING
    UPD_ALLOW     = LV_UPD_ALLOW
  TABLES
    EXCHRATE_LIST = LT_EXCHRATE_LIST
    RETURN        = LT_RETURN
  .
* エラーメッセージの取得
READ TABLE LT_RETURN WITH KEY TYPE = 'E'.

* エラーメッセージがない場合
IF SY-SUBRC <> 0.
  COMMIT WORK AND WAIT.
ELSE.
  ROLLBACK WORK.
ENDIF.
関連記事

コメントの投稿

非公開コメント

プロフィール

Z*

Author:Z*

このブログではSAPの技術情報について解説をしていきます。

2017年:ブログをリニューアルしました。(旧Zの高速道路)

カテゴリ
最新記事
最新コメント
月別アーカイブ
検索フォーム
リンク