最近接到一个需求,启用接口备用字段传值,主要涉及的问题是数据类型的转换,用户要求只保留小数点后两位,单用split ‘.’等基本语句也可实现,查阅资料过程中又学到了很多,round之类四舍五入的函数,但是前面这类函数传出后到string里还是没办法改变,大家有兴趣可以查一下,但在查阅资料过程中发现了UNIT这一关键字,下面是对UNIT实现的实例造作与简述,后续有时间再多深入学习一下:
abap 数据类型转换实例,P类型截小数点后N位数用于接口传输
要转换的字段:kbter 长度24 小数位9 目标:只取小数点后2位

接口字段:

定义:
DATA unit TYPE t006-msehi.
2.取T006表decan字段要截取的小数位个数,用write unit语句写入

SELECT SINGLE msehi
FROM t006
WHERE decan = 2
INTO (@unit).
WRITE: ls_list-kbetr TO ls_item-attribute5 NO-GROUPING UNIT unit.
"写入后debug发现ls_item-attribute5 字段前面多出来很多空格 未知原因 但是不影响报文发送,但我们还是要去掉空格方便后续debug
CONDENSE ls_item-attribute5 NO-GAPS.
结果展示:

以上就是简单的小操作分享,记录下来,一起学习进步。