SAP ABAP开发金额负号前置
在写这篇博客前,我有遇到一个业务要求:让我把借贷中的金额负号前置。接触SAP的都知道,在SAP中的负号都是放到数值后面,接触多了也就变得习以为常,但是有需求就得修改。我搜了一些资料,都写的很不错,不过不适用我的情况,我需要的是很简单快捷的途径,而不是再加一段长代码,所以就写了一段简单的。
DATA NUM TYPE P DECIMALS 2. "模拟金额类型
DATA NUM1(10) TYPE C. "定义字符串类型
NUM = '-15.25'. "赋值
NUM1 = NUM.
CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT' "传入值必须要字符型,这点很坑
CHANGING
VALUE = NUM1.
WRITE: / '修改前:',NUM.
WRITE: / '修改后:',NUM1.
在众多资料中,都有推荐SAP系统已有的“CLOI_PUT_SIGN_IN_FRONT”这个将负号前置的bapi。但是它有一个坑,就是改变值必须要是字符型。在字符的转换上,P类型可以直接转C类型,直接赋值就行,不过C类型的长度需要把握好。
效果图上的数字之所以不对齐,可能是是因为P类型和C类型的不同,这放在报表中其实不影响显示。
post SAP-Garson
原文链接:https://blog.csdn.net/cqq1171422470/article/details/103973373文章来自于网络,如果侵犯了您的权益,请联系站长删除!