SAP 货币转换中的转换因子
来源:互联网 发布:外汇账户数据采集规范 编辑:程序博客网 时间:2024/06/09 21:38
ABAP编程中,有个概念很重要,即Currency ConvertingFactor(货币转换因子)。可能很多ABAP初学者都不知道这是什么东西,这里我们就简单探讨下。
1. 什么是货币转换因子
在SAP中,货币是维护在TCURC表里面,这从Domain: WAERS中可以看到。
不过这里我们要介绍的是表TCURX,它维护了货币金额的小数位。比如JPY日元,在该表是0。正常的货币都是2位小数的。那么,该表有什么意义呢?我们来看下面的例子。
DATA: netwr TYPE p DECIMALS 2.
netwr = '1.3'.
WRITE: netwr CURRENCY 'JPY'.
netwr = '1.3'.
WRITE: netwr CURRENCY 'JPY'.
输出的结果是130,即1.3*100,我们说日元的转换因子为100。这是因为TCURX定义了日元没有小数位,那么数据库表的实际数字1.3 就解释成了130。反过来就是,我们认为的130日元,在数据库里存储成了1.3。这个过程都是SAP自动处理的。
同理,小数位为1的,其转换因子为10;而RMB因为小数位为2,其转换因子为1,这也是系统的默认值。
2. 如何将CURR字段赋给DEC(P)字段
如果要将一个CURR字段赋值给类型为DEC(P)的字段,则要考虑货币转换因子的影响。当我们写与外系统集成的接口时,这就显得很有必要了。
这里介绍个函数:CURRENCY_CONVERTING_FACTOR,它可用于读取货币转换因子。
DATA: v LIKE vbap-netwr,
p TYPE p DECIMALS 2,
cur LIKE vbap-waerk,
factor TYPE p DECIMALS 3.
v = '1.3'.
cur = 'JPY'.
CALL FUNCTION 'CURRENCY_CONVERTING_FACTOR'
IF sy-subrc <> 0.
ENDIF.
p = v * factor.
WRITE: p.
这样,我们与外系统集成时,应该以p作为接口参数,130日元就不会错误地成了1.3日元。
3. ABAP编程中需要注意的地方
在编程中,我们对CURR字段要多加以注意,下面简单举几个应用例子。
(1) List中,当输出CURR字段时,记得指定对应的货币.
(2) Screen中,对于CURR字段,需要设置对应的货币字段,
(3) ALV中,需要对FIELD CATALOG进行设置.
转自:http://blog.chinaunix.net/u2/86821/showart_2009173.html
0 0
- SAP 货币转换中的转换因子
- SAP 金额在表中的存储及货币转换因子
- 货币转换
- 货币转换
- 货币转换
- C#货币大小写转换
- java 货币 转换
- 货币汉字转换.html
- 货币金额转换问题
- 货币金额大写转换
- 货币转换 A
- 货币金额大写转换1
- 货币金额大写转换2
- 字符串转换为货币型
- 货币金额拼写转换类
- EUROCONVERT函数:转换欧洲各国货币
- 浮点型转换中文货币
- 字符串转换为货币类型
- java缓冲字节流的复制数据,数据以数组读取、写入,效率更高
- JQuery UI - slider
- Oracle导出单张表
- STM32 keil printf的使用
- tesseract训练字符中遇到的问题总结
- SAP 货币转换中的转换因子
- VS2010支持的源代码格式
- 大白话解析模拟退火算法
- KVO实例浅析
- 在1970-9999年之间输入一个日期实现输出星期几
- QT_PC实战常见问题_应用发布相关
- java文件copy操作,IO,
- Linux makefile 教程 非常详细,且易懂
- 浅谈HTML/XHTML/HTML5之间的渐变