首页 > 其他分享 >SAP CDS view 里的 currency_conversion 功能介绍

SAP CDS view 里的 currency_conversion 功能介绍

时间:2023-11-01 13:07:51浏览次数:34  
标签:conversion 视图 currency amount 货币 CDS

SAP ABAP CDS Viewcurrency_conversion函数是一种用于在CDS (Core Data Services)视图中执行货币转换的功能。在SAP系统中,经常需要在不同货币之间进行转换,以便在报表和分析中展示一致的货币金额。currency_conversion函数允许在CDS视图中定义货币转换规则,以便在查询结果中将数值从一个货币转换为另一个货币。这在多国家或多货币业务环境中非常有用。

currency_conversion函数的语法如下:

currency_conversion(
  amount       = source_amount,
  source_cur   = source_currency,
  target_cur   = target_currency,
  validitydate = date,
  factor       = factor_type,
  decimal      = rounding_mode
) as converted_amount

让我们详细说明这些参数的含义和功能:

  1. source_amount:需要进行货币转换的原始金额。它可以是CDS视图中的字段或常量值。
  2. source_currency:原始金额所使用的货币代码。它可以是CDS视图中的字段或常量值。
  3. target_currency:目标货币代码,即要将金额转换成的货币。它可以是CDS视图中的字段或常量值。
  4. validitydate:可选参数,用于指定转换汇率的有效日期。如果不提供此参数,系统将使用当前日期。
  5. factor_type:可选参数,用于指定使用哪种类型的汇率因子进行转换。例如,可以选择使用平均汇率、月末汇率、年度汇率等。如果不提供此参数,系统将使用默认的汇率类型。
  6. rounding_mode:可选参数,用于指定转换后金额的舍入方式。例如,可以指定四舍五入或截断。如果不提供此参数,系统将使用默认的舍入方式。
  7. converted_amount:作为结果,这个名称用于存储转换后的金额,它将成为CDS视图的一部分并在查询结果中返回。

现在,让我们通过一个例子来说明currency_conversion函数的用法和效果。假设我们有一个SAP系统,其中包含一个名为SalesOrder的CDS视图,用于显示销售订单的信息,包括订单金额和订单货币。我们希望将订单金额从订单货币转换为本地货币,以便在本地货币中查看订单金额。

假设我们有以下数据:

订单号

订单金额

订单货币

1001

1000

USD

1002

1500

EUR

1003

2000

GBP

我们想要将这些订单金额转换为本地货币(假设本地货币为CNY),并假设转换汇率为1 USD = 6.5 CNY,1 EUR = 7.8 CNY,1 GBP = 8.5 CNY。

首先,在CDS视图中使用currency_conversion函数进行货币转换,我们可以这样定义视图:

@AbapCatalog.sqlViewName: 'ZSALESORDER'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Sales Order View'
define view ZSalesOrder as select from sflights as flights {
  key flights.carrid,
  key flights.connid,
  flights.fldate,
  currency_conversion(
    amount = flights.price,
    source_cur = flights.currency,
    target_cur = 'CNY',
    validitydate = flights.fldate
  ) as local_amount
} where flights.price is not null;

在上面的CDS视图中,我们使用currency_conversion函数将flights表中的price字段(订单金额)从currency字段(订单货币)转换为本地货币CNY,并将结果存储在名为local_amount的新字段中。

现在,当我们查询这个CDS视图时:

select carrid, connid, fldate, price, currency, local_amount
from ZSalesOrder;

查询结果将如下所示:

carrid

connid

fldate

price

currency

local_amount

AA

0017

2023-01-12

1000

USD

6500

LH

0400

2023-02-28

1500

EUR

11700

BA

0080

2023-03-15

2000

GBP

17000

在查询结果中,local_amount字段显示了订单金额在本地货币(CNY)中的值,使用了相应的汇率进行转换。例如,第一行的订单金额从USD转换为CNY,结果为6500 CNY。

总结

SAP ABAP CDS Viewcurrency_conversion函数是一种强大的货币转换工具,它允许在CDS视图中定义灵活的货币转换规则,确保在多货币环境中准确地展示数据。通过合理使用currency_conversion函数,企业可以更好地管理多国家业务并在报表和分析中得到一致的货币金额。

标签:conversion,视图,currency,amount,货币,CDS
From: https://blog.51cto.com/jerrywangsap/8120642

相关文章

  • SAP CDS view 里的 COALESCE 函数
    在SAPABAPCDS(CoreDataServices)View中,COALESCE函数是用于处理NULL值的一种功能。COALESCE函数接受多个参数,并返回第一个非NULL值参数。这意味着如果第一个参数不为NULL,则返回第一个参数的值;如果第一个参数为NULL,则返回第二个参数的值;以此类推,直到找到第一个非NUL......
  • CGCDSSQ
    妙蛙种子。CGCDSSQ首先,如果一个数\(x\)的因数\(y\)要么是自己,要么\(y\le\frac{x}{2}\)。假设\(y\neqx\),\(y>\frac{x}{2}\)。\[\frac{x}{y}<2,y|x,\frac{x}{y}=1,x=y\]矛盾。懒得写了,看题解就想起来了……......
  • KdMapper扩展实现之Dell(pcdsrvc_x64.pkms)
    1.背景  KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考《【转载】利用签名驱动漏洞加载未签名驱动》)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。 2.驱动信息 驱动名称pcdsrvc_x64.pkms 时间戳5......
  • C error:deprecated conversion from string constant to 'char*' [-Wwrite-strings]
    问题描述解决C++中[Warning]deprecatedconversionfromstringconstantto'char*'[-Wwrite-strings]char*string="aaabbbcc";//warning的原因是字符串常量存放在const内存区...原因主程序初始化字符串,是字符串常量,该字符串的内存分配在全局的const内存区。......
  • SAP Virtual Data Model 和 CDS View 的关联关系
    VirtualDataModel是SAPHANA的一种设计模式,它描述了数据应如何组织和访问以满足业务需求。VDM的目标是提供统一的、一致的数据访问视图,隐藏底层数据源的复杂性。VDM由基本视图(InterfaceViews)、复合视图(CompositeViews)和消费视图(ConsumptionViews)组成,以满足不同层级的业......
  • ACDSee官方版_ACDSee官方版下载 安装包下载方式
    ACDSee官方版是目前acdsee看图软件最经典的版本,ACDSee官方版能够便捷的查找、组织和预览超过50种常用多媒体格式,同时可以流畅地获取图像,均衡元数据,无损处理,像素级图像编辑以及管理备份,是查看和管理图片最好的帮手。虽然ACDSee官方版有一点低,但贵在实用,对于经常查看图片和管理图片的......
  • ACDSee(电脑看图软件)下载-ACDSee 5.0官方版 安装包下载方式
    acdsee是一个快速的查看图片的工具,用户可以在acdsee这个工具上面对自己的图片进行各种各样的修改,能够解决各种的图片问题,可以处理图片的尺寸等等,喜欢的赶紧下载试试吧软件地址:看置顶贴acdsee5.0软件功能1、ACDSee本身也提供了许多影像编辑的功能,包括数种影像格式的转换,可以藉由档案......
  • [ARC124C] LCM of GCDs 题解
    题面给定\(N\)个正整数对\((a_i,b_i)\)和两个初始为空的集合\(S,T\),你可以选择将每个数对的两个元素划分到两个不同的集合中。求\[\max\operatorname{lcm}(\gcd\limits_{x\inS}x,\gcd\limits_{y\inT}y)\](\(1\leN\le50,1\lea_i,b_i\le10^9\))。题解首先,......
  • ECDSA 相同k值问题
    K的重要性当我们使用ECDSA进行签名的时候,k的保密性非常重要。如果我们对所以的签名操作都用一样的k或者我们的随机数生成器存在可预测性,一个攻击者可能会猜出私钥。索尼几年前曾犯过这个错误。PlayStation3只能运行被索尼的进行ECDSA签名的游戏。如果我想为PlayStation3开发......
  • SAP HanaXFILE:SAP Hana CDS 开发简介
    SAPHanaXFILE:SAPHanaCDS开发简介Posted 2023-02-27 X档案库tags:篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SAPHanaXFILE:SAPHanaCDS开发简介相关的知识,希望对你有一定的参考价值。 SAPHanaCDS开发简介一、CDS简介二、CDSVIEW创建模板1......