SAP ABAP 开发报表中日币/越南币金额问题

—>日币在SAP存储时会缩小100倍存储到表(PRCD_ELEMENTS表除外),SE16N或SE12查看表数据时正常显示日币金额,你所看到的是正常的,但你以为的不一定是你以为的,当ABAPer用SQL语句查询到内表时会发现金额会缩小了100倍。
在这里插入图片描述
—>那么有的人会在报表显示时有意放大100倍,比如:
if gs_out-waers = ‘JPY’.
gs_out-netwr = gs_out-netwr * 100.
endif.
—>这种简单粗暴的写死JPY,也不是不可以,如果企业业务单一,不涉及到其它货币,这种写死货币的反而性能好。如果企业业务复杂还有其它货币,比如越南币VND同样需要放大100倍,此时就不能写死,需要根据货币找到货币的因子来决定是否需要放大。使用Function来获取货币因子:
CALL FUNCTION ‘CURRENCY_CONVERTING_FACTOR’
EXPORTING
currency = p_waers
IMPORTING
factor = e_factor
EXCEPTIONS
too_many_decimals = 1
OTHERS = 2.
gs_out-netwr = gs_out-netwr * e_factor.
—>但是有一种方法,不需要直接将金额放大100倍,只需要在ALV显示的字段列表中对金额字段进行货币参考,则ALV会自动正常显示金额。比如:
data gs_fieldcat type lvc_s_fcat.
gs_fieldcat-fieldname = ‘NETWR’. "金额字段
gs_fieldcat-cfieldname = ‘WAERS’. "参考货币,WAERS必须在输出内表中存在,且有值,也就是金额对应的货币.
—>这种字段参考货币的方式在最终显示结果上不仅能正常将日币金额放大100倍,而且如果货币不带小数位时(越南币不带小数位),也能自动去掉小数位,注意,注意,注意这种方式在内表中声明的金额,价格字段的小数位必须是两位。 SE12或SE16N查看表时日币金额正常显示就是这个原因。
在这里插入图片描述

在这里插入图片描述

—>但是,但是,如果是要把数据提供给外部比如BI,则必须还是要老老实实的将日币金额放大100倍。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SAP ABAP开发是一种用于开发企业管理系统的编程语言。它是一种后端开发语言,主要用于处理企业资源计划(ERP)系统的数据和业务逻辑。ABAP语言具有丰富的功能和强大的数据处理能力,可以用于开发各种功能模块,如ALV报表、SMARTFORM智能表单、BDC、屏幕开发流程和wda技术等。通过学习ABAP语言,你可以掌握开发流程,并能够将其应用于实际工作。\[1\] 作者THUNDER王是一位热爱财税和SAP ABAP编程的博主,他在江西师范大学会计学专业就读,并担任汉硕云(广东)科技有限公司的ABAP开发顾问。他对SAP企业管理系统、SAP ABAP开发和数据库有深入的研究。\[2\] 在ABAP开发,数据类型和数据字典是非常重要的概念。数据类型定义了变量的类型和长度,而数据字典则用于管理和维护数据库的数据对象,如表和视图。通过学习ABAP基础语法和数据类型与数据字典的相关知识,你可以更好地理解和应用ABAP开发的数据处理。\[3\] #### 引用[.reference_title] - *1* *2* *3* [SAP ABAP基础通关百宝书【从入门到精通】目录](https://blog.csdn.net/weixin_59480481/article/details/127914444)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值