SAP-FICO 货币汇率转换

本文详细介绍了SAP系统中处理特殊货币如日元和越南盾的转换因子,如何使用CURRENCY_CONVERTING_FACTOR函数进行金额换算,以及汇率维护、BAPIs在创建发票和会计凭证时的注意事项,包括EURX、M和V类型的汇率处理和CONVERT_TO_LOCAL_CURRENCY函数的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、货币转换因子

有些货币比较特殊,比如日元JPY、越南盾VND等货币是没有小数点的,表-TCURX

但是SAP系统后台表存储必须保留2位小数,所以前台和后台表查询到的金额会不一致。

SAP有设置转换因子,表-TCURF,比率为100表示在系统中存储缩小了100倍

可以调用函数:CURRENCY_CONVERTING_FACTOR - 获取转换因子,将金额进行换算

  DATA: F_FACTOR TYPE P DECIMALS 3.
  CLEAR: F_FACTOR.

**获取转换因子
  CALL FUNCTION 'CURRENCY_CONVERTING_FACTOR'
       EXPORTING
            currency          = GT_BSEG-WAERS
       IMPORTING
            factor            = F_FACTOR           "USD转换因子是1;JPY转换因子是100
       EXCEPTIONS
            too_many_decimals = 1
            OTHERS            = 2.

    IF F_FACTOR IS NOT INITIAL.
      gt_bseg-wrbtr_n = gt_bseg-wrbtr_n * F_FACTOR.    "原币金额 * 转换因子
    ENDIF.

也可以调用函数:BAPI_CURRENCY_CONV_TO_EXTERNAL - 将内部金额转换成外部实际金额

另外转换因子=100的货币目前发现有两个地方比较特殊:

(1)创建销售发票的BAPI如果传输了金额,会自动扩大100倍,所以传金额时要/100

   "创建发票
  CALL FUNCTION 'BAPI_BILLINGDOC_CREATEMULTIPLE'
      TABLES
        billingdatain         = lt_billingdatain
        conditiondatain       = lt_conditiondatain
*       CCARDDATAIN           =
*       TEXTDATAIN            =
*       ERRORS                =
        return                = lt_return1
        success               = lt_success.

(2)创建会计凭证BAPI不能保留2位小数上传,否则会因为小数点尾差报错,“交易货币余额” 

        CALL FUNCTION 'BAPI_ACC_DOCUMENT_CHECK'
          EXPORTING
            documentheader    = gd_documentheader
            customercpd       = gd_customercpd
            contractheader    = gd_fica_hd
          TABLES
            accountgl         = it_accountgl
            accountreceivable = it_accountreceivable
            accountpayable    = it_accountpayable
            accounttax        = it_accounttax
            currencyamount    = it_currencyamount
            criteria          = it_criteria
            valuefield        = it_valuefield
            extension1        = it_extension1
            return            = it_return
            paymentcard       = it_paymentcard
            contractitem      = it_fica_it
            extension2        = it_extension2
            realestate        = it_realestate.

批量创建会计凭证:导入文件需要四舍五入,不保留小数位,确保借贷金额相等,日元/韩元/越南盾等币别,系统中是没有小数位的

二、汇率维护

维护货币兑换汇率类型-OB07

EURX-变化汇率(欧盟国家使用,CNY->EUR维护)

M-平均汇率(财务记账使用的汇率)

V-期末评估汇率(外币评估汇率)

维护货币汇率-OB08

货币汇率每修改一次,都会创建一条新的记录,存储在表-TCURR

汇率转换函数:CONVERT_TO_LOCAL_CURRENCY

CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
  EXPORTING
    DATE             = SY-DATUM
    FOREIGN_AMOUNT   = F_PRICE
    FOREIGN_CURRENCY = ITAB-WAERS      "将外币转换为CNY
    LOCAL_CURRENCY   = 'CNY'
  IMPORTING
    LOCAL_AMOUNT     = IT_MAIN-F_NETPR
  EXCEPTIONS
    NO_RATE_FOUND    = 1
    OVERFLOW         = 2
    NO_FACTORS_FOUND = 3
    NO_SPREAD_FOUND  = 4
    DERIVED_2_TIMES  = 5
    OTHERS           = 6.

以上~~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值