SAP中的负号是放后面的,其实也无所谓,谁看不出来啊,关键人家要你改也没有办法。有个函数CLOI_PUT_SIGN_IN_FRONT是把负号提前的,但是它是把字符转化为字符型输出的。就是把负号split下然后放前面,这样的问题就是在显示的时候字符型数字没有3位一分的千位分隔符。再把字符型赋予数字型输出,但是输出的时候负号还是会自动加后面滴~

CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'

CHANGING

VALUE = gt_table-column5.

问同事了下,告诉我用write to语句把负数取绝对值,然后把数字型写入字符型可以保留千位符,再判断正负数,在输出的时候添上负号。在FORM里我就是这样改的了,很方便。

Form asset_front_minus changing value1.

value2 = abs( value1 ).

write value2 to string1.

condense string1.

if value1 < 0.

write: '-', string1 LEFT-JUSTIFIED NO-GAP NO-ZERO.

else.

write: string1 LEFT-JUSTIFIED NO-GAP NO-ZERO.

endif.

endform.

他告诉我手动把字符型加千位符的,取整,判断长度,除3以后循环mask"___,"格式,分割,再处理头3位,觉得有点头晕,麻烦啊。不过真有强人这么做,下面就是了,手动把字符型加千位符号。

FORM NUMTOSTR USING VALUE(ZNUM) CHANGING VALUE(ZSTR).

DATA : ZCLEN TYPE I,

N TYPE I,

ZCSTR(20) TYPE C,

ZCSTR2(20) TYPE C,

ZCTEMP(3) TYPE C,

ZFLAG(1) TYPE C VALUE '.',

ZFLAG2 TYPE I VALUE 0,

ZCDEC(20) TYPE C. "记录小数部分.

ZSTR = ''.

CHECK ZNUM <> 0.

IF ZNUM <= -1000.

ZFLAG2 = 1.

ZNUM = ABS( ZNUM ).

ENDIF.

IF ZNUM >= 1000.

ZCSTR = ZNUM.

* 压缩字符串,去除前面的空格。

CONDENSE ZCSTR NO-GAPS.

* 分离整数与小数,好单独处理整数。

SPLIT ZCSTR AT ZFLAG INTO ZCSTR ZCDEC.

ZCLEN = STRLEN( ZCSTR ).

* 在循环中从右面在每三位的前面加上一个逗号。

WHILE ZCLEN > 3.

N = ZCLEN - 3.

ZCTEMP = ZCSTR+N(3).

IF NOT ZCSTR2 IS INITIAL.

CONCATENATE ZCTEMP ZCSTR2 INTO ZCSTR2 SEPARATED BY ','.

ELSE.

ZCSTR2 = ZCTEMP.

ENDIF.

ZCLEN = ZCLEN - 3.

ENDWHILE.

* 将不剩下的不足三位数加到前面

CONCATENATE ZCSTR+0(ZCLEN) ZCSTR2 INTO ZCSTR2 SEPARATED BY ','.

IF ZFLAG2 = 1.

CONCATENATE '-' ZCSTR2 INTO ZCSTR2.

ENDIF.

CLEAR ZCSTR.

* 将处理过的整数与小数连接起来。

CONCATENATE ZCSTR2 ZCDEC INTO ZCSTR SEPARATED BY ZFLAG.

* 将值返回

ZSTR = ZCSTR.

ELSE.

ZSTR = ZNUM.

ENDIF.

ENDFORM.

SAP中负数的表示增强 负号从数字后更改到数字前面相关推荐

  1. SAP中常用到的增强

    MM模块: 采购订单增强: BADI:ME_GUI_PO_CUST ME_PROCESS_PO_CUST 物料凭证增强: BADI:MB_DOCUMENT_BADI 实现功能1.一个物料凭证中不允许出 ...

  2. SAP中寻找增强的实现方法

    SAP中寻找增强的实现方法 SAP 增强已经发展过几代了,可参考 SAP 标准教材 BC425 和 BC427.简单的说SAP的用户出口总共有四代: 1.第一代  基于源代码的增强. SAP提供一个空 ...

  3. SAP 中如何寻找增强

    自开发程序查找增强:ZGET_ZQ;ZFIND 参考链接: http://www.cnblogs.com/huangjianisgood/archive/2012/10/10/2717713.html ...

  4. SAP 产品一脉相承的 UI 增强思路,在 SAP Commerce Cloud(电商云) UI 增强实现中的体现

    本文首先快速回顾几种 SAP 产品中的 UI 增强思路,然后具体介绍该思路是如何在 SAP Commerce Cloud(电商云) UI 增强中贯彻实施的. Jerry 之前的文章:Jerry 在 2 ...

  5. SAP中的BOPF(Business Object Processing Framework)

    https://www.cnblogs.com/DicksonJYL/p/9945986.html 目录 BOPF代表什么? 谁在使用BOPF? 怎样才能使用BOPF? 应用基础设施的主要组件有哪些? ...

  6. 【选摘】为什么说SAP中没有在制品的盘点

    为什么说SAP中没有在制品的盘点 -内容整理转自<由浅入深学习SAP财务> 传统的财务核算中,月结之前可能需要进行在制品的盘点,在SAP中,是否还有盘点在制品的需要? 1.传统的在制品盘点 ...

  7. SAP中凭证类型的作用

    SAP中凭证类型具有以下控制功能OBA7: 1.凭证的编号范围及冲销凭证的类型: 2.允许过账的科目类型(是否允许资产.总账.应收.应付.物料相关业务): 3.其他控制功能(文本.参照必输控制.负数记 ...

  8. SAP FBCJ现金日记帐增强操作手册

    在SAP中提供了现金日记帐的功能,主要用于出纳记现金帐.由于大多数出纳都是不能管帐的,所以其记帐的凭证一般为: 借:现金  贷:现金清算(一个中间科目)或借:现金清算 贷:现金 也有比较复杂一点的业务 ...

  9. 基于SAP Kyma的订单编排增强介绍

    尽管有一万个舍不得,2018年还是无可挽回地离我们远去了. 唯有SAP成都研究院的同事和我去年在网络上留下的这些痕迹,能证明2018年我们曾经很认真地去度过每一天: SAP成都研究院2018年总共87 ...

最新文章

  1. 自学python之路(day2)
  2. Spring event 使用完全指南
  3. 解决最短路径的Dijkstra算法详解,附加Java代码
  4. [编转]Android localsocket 的基础和使用实践: 02
  5. 如何用java写单链表_如何使用Java实现单链表?
  6. 软件行业渠道的价值在哪里?
  7. 【转】查看linux服务器的系统信息
  8. 【三维路径规划】基于matlab改进的蝙蝠算法农用无人机三维路径规划【含Matlab源码 1514期】
  9. Scrapy爬取QQ音乐、评论、下载、歌曲、歌词
  10. 【用行动说话】第一篇博客
  11. 安装系统跳过创建用户,直接以超级管理员身份进入系统
  12. 【泡泡机器人翻译专栏】LSD-SLAM : 基于直接法的大范围单目即时定位和地图构建方法
  13. Python爬虫:使用线程池快速下载视频
  14. windows7以上平台NDIS6框架的NDIS协议驱动开发
  15. ida的一些工具下载
  16. 【leetcode_easy_$】577. Employee Bonus
  17. 【睿慕课点云处理】第一章-基础知识
  18. 怎样调研一个公司的各项数据?
  19. C语言编程计算下列算式的值
  20. 燕山大学微型计算机三级项目,燕山大学CAD三级项目.doc

热门文章

  1. 拉普拉斯矩阵(Laplace Matrix)与瑞利熵(Rayleigh quotient)
  2. 拦截器和过滤器之间有很多相同之处,但是两者之间存在根本的差别
  3. C#-DataTable分页代码
  4. 结构体定义容易混淆的地方
  5. 背完这444句,你的口语绝对不成问题了
  6. 在leopard下用textmate开发rails项目
  7. 五个运动员参加比赛根据他们说的话判断结果
  8. Docker容器内部署Java微服务的内存限制问题
  9. 深入理解React(一)JSX与虚拟DOM
  10. 开发中最基本的对数据的增删改查SQL