针对不同币别要做金额栏位转换

计算规则: 金额 = 原始金额 * 转换率

以下转自博客:https://www.cnblogs.com/sanlly/p/3371568.html

货币转换函数:CURRENCY_CONVERTING_FACTOR

【CURRENCY_CONVERTING_FACTOR】在SAP系统中,对于曰币、韩币、台币这类特殊货币的处理是有特殊规则的。

首先,根据币别到DB表中读取 TCURX 中读取相应的小数位数 CURRDEC。

如果没有维护相应币别的信息  则默认 CURRDEC = 2。

如果 CURRDEC GT 5 就报错。

然后默认转换率是100。

在CURRDEC NE 0 的情况下

循环 CURRDEC 次,每次将转换比率 除以 10.

所以如果表 TCURX 中的 CURRDEC  = 0 就默认转换比率 为100

当表 TCURX 中没有找到相应数据时 则默认 CURRDEC = 2.

转换比率也是 100/ 10 / 10 = 1.

其他的, 如果表TCURX 中的 CURRDEC = 4,  则转换比率应该为 100/ 10 /10 /10 / 10 = 0.01

我们在SE16中看到的货币金额基本上都经过了这个转换,如曰元,都是除以100后存入数据库的。
所以当我们从数据库中读取曰元金额时也应该作相应的转换,乘以100 。

简单的使用Function CURRENCY_CONVERTING_FACTOR。输入币别,就可以得到相应的转换比率了。

函数中所涉及的常用选项:
EXPORTING:
    CURRENCY:   将被处理的货币种别编号
IMPORTING:
    FACTOR:      转换后得到的货币比率

例1.

FORM BRF_AP USING F_BETRAG             "  金额
F_CURRENCY. " 货币代码 DATA: S_FACTOR TYPE P DECIMALS . CALL FUNCTION 'CURRENCY_CONVERTING_FACTOR'
EXPORTING
CURRENCY = F_CURRENCY
IMPORTING
FACTOR = S_FACTOR
EXCEPTIONS
TOO_MANY_DECIMALS =
OTHERS = . IF S_FACTOR NE .
F_BETRAG = F_BETRAG / S_FACTOR.
ENDIF.
ENDFORM. "BRF_AP

例2

DATA: G_PER_PRICE  TYPE P,
G_KPER_PRICE TYPE P,
G_PRICE TYPE P,
PG_FACTOR TYPE P DECIMALS . FORM CHANGEVALUEBYFACTOR USING P_WAERS CHANGING PG_FACTOR.
CALL FUNCTION 'CURRENCY_CONVERTING_FACTOR'
EXPORTING
CURRENCY = P_WAERS "輸入的幣別
IMPORTING
FACTOR = PG_FACTOR "輸出的值
EXCEPTIONS
TOO_MANY_DECIMALS =
OTHERS = . IF SY-SUBRC <> .
PG_FACTOR = .
ENDIF.
ENDFORM. "CHANGEVALUEBYFACTOR

货币转换函数:CURRENCY_CONVERTING_FACTOR的更多相关文章

  1. Oracle的学习三:java连接Oracle、事务、内置函数、日期函数、转换函数、系统函数

    1.java程序操作Oracle java连接Oracle JDBC_ODBC桥连接 1.加载驱动: Class.forName("sun.jdbc.odbc.JdbcodbcDriver& ...

  2. SQL Fundamentals || Single-Row Functions || 转换函数 Conversion function

    SQL Fundamentals || Oracle SQL语言   SQL Fundamentals: Using Single-Row Functions to Customize Output使 ...

  3. ORACLE常用数值函数、转换函数、字符串函数介绍

    ORACLE常用数值函数.转换函数.字符串函数介绍. 数值函数: abs(m) m的绝对值 mod(m,n) m被n除后的余数 power(m,n) m的n次方 round(m[,n]) m四舍五入至 ...

  4. sql函数的使用——转换函数

    转换函数用于将数据类型从一种转为另外一种,在某些情况下,oracle server允许值的数据类型和实际的不一样,这时oracle server会隐含的转化数据类型,比如: create table ...

  5. ORACLE常用数值函数、转换函数、字符串函数

    本文更多将会介绍三思在日常中经常会用到的,或者虽然很少用到,但是感觉挺有意思的一些函数.分二类介绍,分别是: 著名函数篇 -经常用到的函数 非著名函数篇-即虽然很少用到,但某些情况下却很实用 注:N表 ...

  6. MySQL 日期、时间转换函数

    MySQL 日期.时间转换函数:date_format(date,format), time_format(time,format) 能够把一个日期/时间转换成各种各样的字符串格式.它是 str_to ...

  7. 十进制(decimal system)转换函数说明

    一,十进制(decimal system)转换函数说明 1,十进制转二进制 decbin() 函数,如下实例 echo decbin(12); //输出 1100 echo decbin(26); / ...

  8. Sql server函数的学习1(系统变量、错误函数、转换函数)

    一.系统变量的介绍和使用 1.@@ERROR 变量 2.@@SERVICENAME 变量 3.@@TOTAL_ERRORS 变量 4.@@TOTAL_READ 变量 5.@@VERSION 变量 二. ...

  9. Oracle内置函数:时间函数,转换函数,字符串函数,数值函数,替换函数

    dual单行单列的隐藏表,看不见 但是可以用,经常用来调内置函数.不用新建表 时间函数 sysdate 系统当前时间 add_months 作用:对日期的月份进行加减 写法:add_months(日期 ...

随机推荐

  1. java kafka

    https://blog.csdn.net/panchang199266/article/details/82113453 安装部署 scala语言开发 + java

  2. unable to import maven project see logs for details

    2019-10-21 19:31:06,987 [40598655]   WARN - ution.rmi.RemoteProcessSupport - SLF4J: Actual binding i ...

  3. springboot2.0整合shiro遇到的问题

    1.重启服务器,访问登陆页面,登陆成功后跳转的不是index,而是favicon.ico

  4. String字符串常量池简介

    直接贴代码---> public class Test { public static void main(String[] args) { /** * 为了提升字符串的访问效率,在程序中使用了 ...

  5. fsLayuiPlugin树+数据表格使用

    fsLayuiPlugin 是一个基于layui的快速开发插件,支持数据表格增删改查操作,提供通用的组件,通过配置html实现数据请求,减少前端js重复开发的工作. GitHub下载 码云下载 测试环 ...

  6. SQL动态标签

    MyBatis的动态SQL详解MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦.拼接的时候要确保不 ...

  7. Laravel - 解决连接MySQL时报"The server requested authentication method unknown to the client”错误

    2019-04-12发布:hangge阅读:934   1,问题描述 最近建了个 Laravel 项目,当配置好 MySQL 数据库进行请求时,页面报如下错误:   SQLSTATE[HY000] [ ...

  8. java前后分离了 controller接口GET和POST

    通用 @RestController GET @RequestMapping("userbase/{userId}") public User selectById(@PathVa ...

  9. P5431 【模板】乘法逆元2

    洛谷题目链接 刚开始做乘法逆元还是有点懵逼的~ 以下式子都在模\(p\)意义下进行 我们把式子改一下,变成:\[\sum\limits_{i=1}^nk^i\times a_i^{-1}\] 我们先算 ...

  10. 论自动AC机

    O(∩_∩)O哈哈~第一篇原创博客.终于结束了我“无敌转载王”的称号了!!!好开心! (⊙v⊙)嗯,看到标题觉得我是神犇的人,请再次仔细看看标题,是“自动AC”,而非“AC自动”哦!这是利用lemon ...