zoukankan      html  css  js  c++  java
  • How condition value calculated in sap

    local currency to foreign currency.

    背景:当condition record里面维护的amount太小,而且需要从本位币转换为USD的时候,那么除以汇率,就会更小。况且SAP保留的小数位只有两位。那么这几项的value就变成了0. 当order qty很大的时候,这个尾差就会被放大。

    clip_image002

    以上图为例,业务的逻辑是 (ZPRS+ZLB5+ZOV5+Z4PL)*1.15 = 单位的价格。最后再乘以汇率(1/ 6.84932); 也就是(5.64+0.01+0.01+0.10)*1.15 *0.146= 0.97(四舍五入两位小数);0.97*2000 =1940 

    但是SAP的逻辑是把每一项转换为USD后再汇总。所以最终的价值是1909. 相差了31美金。这不是个小数字。


    怎么办?

    把condition record里面的per 扩大。

    image

    这个3USD是怎么推到出来的?

    1 CNY* 0.146 = 0.145999895USD;四舍五入保留两位小数 0.15 ; 0.15*2000/100 = 3 USD

    这样算出来的结果为1927.40;

    这样差异就小多了。还可以扩大到1000.

    image

    这样扩大到100和1000的值就差的不多了。

  • 相关阅读:
    九、Shell 流程控制
    八、Shell test 命令
    七、Shell printf 命令
    六、Shell echo命令
    五、Shell 基本运算符
    四、Shell 数组
    三、Shell 传递参数
    二、Shell 变量
    一、Shell 教程
    KVM 介绍(1):简介及安装
  • 原文地址:https://www.cnblogs.com/chrisrockdl/p/14247080.html
Copyright © 2011-2022 走看看