二维码

[基础语法] ABAP中将数值字段负号提前的方法

Twilight发表于 2014-02-22 19:22abaptest 最后回复于 2022-03-09 22:39 [复制链接] 13280 40

CONDENSE和CONCATENATE语句实现去空格和负号提前效果。

主程序代码:
  1. REPORT  ZLXG_SIGN.
  2. DATA:C_VALUE1 TYPE C LENGTH 10 VALUE '100-'.
  3. DATA:C_VALUE2 TYPE C LENGTH 10 VALUE '  2  200-'.
  4. DATA: CHAR_OUT1 TYPE C LENGTH 10.
  5. DATA: CHAR_OUT2 TYPE C LENGTH 10.
  6. WRITE:'原始数据'.
  7. WRITE:/ 'C_VALUE1:',C_VALUE1,/ 'C_VALUE2:', C_VALUE2.
  8. NEW-LINE.
  9. WRITE:'负号提前,去除空格'.
  10. PERFORM SIGN_CONVER
  11.             USING
  12.                C_VALUE1
  13.             CHANGING
  14.                CHAR_OUT1.
  15. WRITE:/ 'C_VALUE1:',CHAR_OUT1.

  16. PERFORM SIGN_CONVER
  17.             USING
  18.                C_VALUE2
  19.             CHANGING
  20.                CHAR_OUT2.
  21. WRITE:/ 'C_VALUE1:',CHAR_OUT2.

  22. *&---------------------------------------------------------------------*
  23. *&      Form  SIGN_CONVER
  24. *&---------------------------------------------------------------------*
  25. *       text
  26. *----------------------------------------------------------------------*
  27. *  -->  p1        text
  28. *  <--  p2        text
  29. *----------------------------------------------------------------------*
  30. FORM SIGN_CONVER USING CHAR_IN CHANGING CHAR_OUT .
  31. DATA: CHAR_1 TYPE C LENGTH 10.
  32. DATA: CHAR_2 TYPE C LENGTH 10.
  33. SPLIT CHAR_IN AT '-' INTO CHAR_1 CHAR_2.
  34. CONDENSE CHAR_1 NO-GAPS.
  35. CONCATENATE '-' CHAR_1 INTO CHAR_OUT.
  36. ENDFORM.                    " SIGN_CONVER
复制代码

程序执行效果:
负号提前,去除空格.jpg

负号提前SAP有标准函数可以调用的:
游客,如果您要查看本帖隐藏内容请回复

扩展阅读:ABAP报表中负值展示问题的处理方法
回复

使用道具 举报

teyun2222
感謝無私分享,學習了
回复 支持 反对

使用道具 举报

qshiou
学习学习学习,
回复 支持 反对

使用道具 举报

晓月之影
感谢分享~~~~
回复

使用道具 举报

资明
非常好想看看
回复 支持 反对

使用道具 举报

九月沙迦
谢谢分享~学习啦
回复 支持 反对

使用道具 举报

资明
非常好 想看看
回复 支持 反对

使用道具 举报

dingdangsh

RE: ABAP中将数值字段负号提前的方法

看看是哪一個標準函數。 Thanks
回复 支持 反对

使用道具 举报

zzxbat007
有用 分享给同事了 谢谢
SAP Business One 凭借单一系统 优化你的整个业务  www.iwilley.com
回复 支持 反对

使用道具 举报

BP小白

RE: ABAP中将数值字段负号提前的方法

谢谢大神分享
回复

使用道具 举报

qcind

RE: ABAP中将数值字段负号提前的方法

call which bapi?
pls.
回复 支持 反对

使用道具 举报

yijiudiy

RE: ABAP中将数值字段负号提前的方法

感谢楼主无私分享,前来学习
回复 支持 反对

使用道具 举报

JULYsses

RE: ABAP中将数值字段负号提前的方法

。。。。
回复

使用道具 举报

panpanfeng2008

RE: ABAP中将数值字段负号提前的方法

thanks for you share
回复 支持 反对

使用道具 举报

qintengteng

RE: ABAP中将数值字段负号提前的方法

谢谢分享受益良多
回复

使用道具 举报

gg1113
很有帮助,谢谢谢谢
回复

使用道具 举报

SIMON

RE: ABAP中将数值字段负号提前的方法

感谢分享。。。
回复

使用道具 举报

ratg0626

RE: ABAP中将数值字段负号提前的方法

感謝無私分享,學習了
回复

使用道具 举报

Jamber

RE: ABAP中将数值字段负号提前的方法

学习啦,感谢楼主分享
回复

使用道具 举报

terryforlyj

RE: ABAP中将数值字段负号提前的方法

thank for sharing~
回复 支持 反对

使用道具 举报

123下一页

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表