场景:一个接口出问题了,SAP通过RFC将SO数据传输到Java系统,错误的将100日元传为1.00日元。

其实查看SAP透明表发现,表中存储的的确是1.00,是前台真实数据的1/100,开发接口时没注意到这种情况,也就导致了接口发生错误。

这在SAP系统中是常见的,SAP各种币种的金额都有默认的小数位数,像人民币CNY,美元等都是2位小数,日元和韩元是0位,及没有小数位。各种币种的金额在透明表中存储都是同一个字段,在存储到表中是都会做一个转换,就有了货币转换因子的概念,如上述日元,转换因子为100.

有以下几种转换方式:

1、使用function module CURRENCY_CONVERTING_FACTOR获取某个币种的货币转换因子,然后将透明表中的金额乘以货币转换因子就可以了。

2、使用function module FWOS_CURRENCY_DECIMALS_READ获取某个币种的小数位数N,货币转换因子等于10的(2 - N)次方。

3、直接进行转换的function moduleCURRENCY_AMOUNT_SAP_TO_DISPLAY,另外还有反向转换的CURRENCY_AMOUNT_DISPLAY_TO_SAP可以使用。

4、使用write to语句指定币种,WRITE p_amt1 currency 'JPY' to p_amt2.

还有两个问题,

Q1、为什么在SAP系统内开发的报表或功能程序没有显示错误呢?

A: 在ALV或者screen上人为指定了币种,这样SAP系统会根据此币种的货币转换因子自动转换后显示。

Q2:使用货币转换因子,乘法还好,除法的话会出现小数位四舍五入的,导致的数据误差怎么办?

A:没法办。SAP标准程序输入金额大多不会有此问题,他根据币种限制了小数位数的输入;但是自定义开发的程序多半没有考虑,像一些报表需要复杂的金额运算,小数位误差在所难免。

在SAP条件记录中,百分比的存储也有此种情况,需要注意。

SAP 金额在表中的存储及货币转换因子相关推荐

  1. SQL 把表中字段存储的逗号隔开内容转换成列表形式

    原文:[原创]SQL 把表中字段存储的逗号隔开内容转换成列表形式 我们日常开发中,不管是表设计问题抑或是其他什么原因,或多或少都会遇到一张表中有一个字段存储的内容是用逗号隔开的列表. 具体效果如下图: ...

  2. sonar 分析的质量数据在数据库表中的存储和质量维度数值的研究

    首先sonar分析的质量数据维度明细在metric表中: 图中很关键的数据:覆盖率,新增覆盖率:代码行覆盖率,代码行新增覆盖率 覆盖率是字节码的比值,代码覆盖率是代码行层面的统计,所以一般代码行覆盖率 ...

  3. 应用开发框架之——根据数据表中的存储的方法名称来调用方法

    功用一:在框架里面根据存储在数据表中的方法名来动态调用执行方法. unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, ...

  4. 根据数据表中的存储的方法名称来调用方法

    功用一:在框架里面根据存储在数据表中的方法名来动态调用执行方法. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, C ...

  5. SAP 如何从表中区分内外向交货单

    判断一个交货单到底内向交货单还是外向交货单,其唯一的依据是看交货当事人主体的对应关系,而不是货物的流向,否则顾客退货交货单(customer return delivery note,单据类型LR)也 ...

  6. 将查询结果插入到现有表中

    在数据库日常维护工作中,我们可能经常需要把某个查询结果插入到现有的表中.如需要把两张表进行合并.需要把另外一张报纸能够符合条件的的记录插入到现有的表中.需要把另外一张表中的某些字段重新整理后插入到现有 ...

  7. 如何使用 SQL INSERT 语句将数据插入到表中

    文章目录 一.数据插入 1.1 插入完整的行 1.2 插入部分行 1.3 插入检索出的数据 二.从一个表复制到另一个表 三.小结 本文介绍如何使用 SQL INSERT 语句将数据插入到表中,如何用 ...

  8. mysql表分区占用存储_MySQL 分区分表应用场景分析和分区中可能遇到的坑点

    MySQL的分区和分表应用场景分析 在日常工作中当我们的某张表的数据量过大的时候,首当其冲的可能就是进行分区和分表,但是是如何分区或者分表都要结合一点的业务场景下进行分析,才会显著的提升性能,来聊一聊 ...

  9. SAP WM中阶存储类型里的Full stk rmvl 字段和Return Storage type字段

    SAP WM中阶存储类型里的Full stk rmvl 字段和Return Storage type字段 SAP WM存储类型的配置里,可以配置从某个存储区域里下架的时候都是全数下架,不管需要下架的数 ...

最新文章

  1. linux 互斥锁销毁_c-销毁锁定的互斥锁时pthread_mutex_destroy的正...
  2. 千万PV级别WEB站点架构设计
  3. 存储过程系列之调试存储过程 SQL Server 2005
  4. 走近分形与混沌(part15)--有钱的人会愈来愈有钱,不一定是在于他们的能力,而是因为财富会产生财富
  5. android 原生分享界面_这些技巧和习惯,让你的原生 Android 更好用(上篇)
  6. 「经营分析报告」怎么做?这套模板让领导一看就懂
  7. pthread_cleanup_push()/pthread_cleanup_pop()
  8. java共享密匙验证身份实例_有关java的身份验证连接数据库的一段代码,大侠来看看~...
  9. 10 个功能独特且饱受好评的开源人工智能项目
  10. python小程序代码_Python解题记录第19题
  11. 领存工业级 3U VPX 8TB 存储模块性能参数
  12. 那些被苏宁奖励的人、重用的人
  13. easyUI动态加载combobox
  14. 群体稳定度指标PSI
  15. Centos7命令行连接wifi网络,手机usb共享网络
  16. vs code无法输入汉语
  17. 我参加第七届NVIDIA Sky Hackathon——训练CV模型
  18. 【Latex】latex表格技巧
  19. C# 邮件发送帮助类
  20. 【转载】【《Real-Time Rendering 3rd》 提炼总结】(四) 第五章 · 图形渲染与视觉外观 The Visual Appearance

热门文章

  1. docker 安装redis
  2. 《人月神话》(P11)为舍弃而计划
  3. 27.4. /etc/bandwidthd.conf
  4. mysql的内存表和临时表
  5. CentOS中安装git
  6. Oracle数据库—— 事务处理与并发控制
  7. SAMBA服务和FTP服务讲解(week3_day1)--技术流ken
  8. Code Snippets
  9. 完美的单例实现(The Perfect Singleton)
  10. CentOS升级gcc到4.8.2以支持C++11标准的方法