如何使用 SAP CDS view 中的 currency conversion 功能
【摘要】 函数 CURRENCY_CONVERSION 对传递给形式参数 amount 的值执行货币转换。结果的数据类型 CURR 具有与传递给 amount 的实际参数相同的技术属性。货币转换是基于数据库表 TCUR 中保存的特定于系统登录 client 规则执行的, 这个数据库表存储于 SFIB 开发包。这些规则可以使用事务码 OB08 进行编辑。转换是在数据库上执行的,这意味着部分计算是使用与 ...
函数 CURRENCY_CONVERSION
对传递给形式参数 amount
的值执行货币转换。结果的数据类型 CURR 具有与传递给 amount 的实际参数相同的技术属性。
货币转换是基于数据库表 TCUR
中保存的特定于系统登录 client
规则执行的, 这个数据库表存储于 SFIB 开发包。这些规则可以使用事务码 OB08
进行编辑。
转换是在数据库上执行的,这意味着部分计算是使用与 ABAP 不同的舍入规则进行的。无论如何转换,都不能期望得到与使用标准的 Function Module 进行货币转换时相同的结果,因为这些后者通常不太精确,并相应地四舍五入中间结果。
下面是一个具体的例子。
例如,我开发了一个 CDS view,并自动生成了一个 Fiori Elements 应用,里面显示的金额单位是欧元:
我期望利用 CDS view 的货币转换功能,currency conversion,将这些金额的单位转换成美元。
可以使用这个文档里提到的转换函数。
使用如下高亮代码:
@AbapCatalog.sqlViewName: 'ZCTRAVELJERRY'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Consumption view from /DMO/I_TRAVEL_U'
@Metadata.allowExtensions: true
@Search.searchable: true
define view Z_C_TRAVEL_DATA_JERRY as select from /DMO/I_Travel_U
association [1..1] to /DMO/I_Agency as _Agency on $projection.AgencyID = _Agency.AgencyID
association [1..1] to /DMO/I_Customer as _Customer on $projection.CustomerID = _Customer.CustomerID
{
key TravelID,
@ObjectModel.text.association: '_Agency'
AgencyID,
CustomerID,
concat_with_space(_Customer.Title, _Customer.LastName, 1) as Addressee,
BeginDate,
EndDate,
BookingFee,
TotalPrice,
CurrencyCode,
currency_conversion(
amount => TotalPrice,
source_currency => CurrencyCode,
round => 'X',
target_currency => cast('USD' as abap.cuky( 5 )),
exchange_rate_date => cast('20200429' as abap.dats),
error_handling => 'SET_TO_NULL' )
as PriceInUSD,
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.90
Memo,
Status,
LastChangedAt,
/* Associations */
_Agency,
_Booking,
_Currency,
_Customer
}
最后的效果:
转换效果如下:蓝色是原始的欧元单位,红色的是通过 currency_conversion 转换之后的新值:
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)