首页 > 其他分享 >ABAP 负号提前

ABAP 负号提前

时间:2023-05-24 11:55:39浏览次数:31  
标签:负号 output1 WRITE output2 ABAP input outnum 提前

FUNCTION conversion_exit_z001_output.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     REFERENCE(INPUT)
*"  EXPORTING
*"     REFERENCE(OUTPUT)
*"----------------------------------------------------------------------


*作用:
* 1.将金额类型等数字类型,负号实现前置;
* 2.可以保留千分位;
* 3.适用于多个这样的字段修改需求;

*调用方式:
* 在对应的alv设置fieldcat时针对设置金额等数字类型的字段添加代码:固定写成’ZXXX’形式。
* WE_FIELDCAT-EDIT_MASK = '==Z001'.

  DATA: output1(20),
        output2(20),
        outnum(16) TYPE p DECIMALS 3.

  IF input IS NOT INITIAL .
    outnum = input.

    IF input > 0.
      WRITE outnum TO output1.
    ELSE.
      outnum = outnum * ( -1 ).
      WRITE outnum TO output1.
      CONCATENATE '-' output1 INTO output1.
    ENDIF.
  ELSE.
    CLEAR output1.
  ENDIF.

  CONDENSE output1 NO-GAPS.
  WRITE output1 TO output2 RIGHT-JUSTIFIED.
  output = output2.

  CLEAR: output2.

ENDFUNCTION.

标签:负号,output1,WRITE,output2,ABAP,input,outnum,提前
From: https://www.cnblogs.com/ZJY-1314/p/17427892.html

相关文章

  • ABAP DEBUG技巧(持续更新)
    1.根据消息号查找WatchPoint  2.updatetast需要打开调试器的更新模式断点有时候打开也进不去需要watchpoint强制打进去函数或者程序的断点 执行程序前/H 打一个函数断点再执行update的函数 ......
  • ABAP-MD11计划订单创建
    1DATA:ls_returnTYPEbapireturn1,2ls_plafTYPEplaf,3ls_headerdataTYPEbapiplaf_i1.45ls_headerdata-pldord_profile=ls_plaf-paart.6ls_headerdata-plan_plant=ls_plaf-plwrk.7ls_headerdata-prod_plant=ls_plaf-pwwr......
  • ABAP-MD12删除计划订单
    1DATA:ls_returnTYPEbapireturn1,2ls_plafTYPEplaf.34CALLFUNCTION'BAPI_PLANNEDORDER_DELETE'5EXPORTING6plannedorder=ls_plaf-plnum7*USE_COLL_UPDATE=''8*LAST_ORDER=''......
  • ABAP-BAPI汇总
    MM模块MM01、MM02物料创建、物料修改BAPI_MATERIAL_SAVEDATABP供应商创建、供应商修改CVI_EI_INBOUND_MAINME11、ME12采购信息记录创建、采购信息记录修改ME_INFORECORD_MAINTAINME54N采购申请审批BAPI_REQUISITION_RELEASEMIGO-561期初库存批导BAPI_GO......
  • ABAP屏幕日期时间字段不显示
    内表日期和时间字段都有值,但是屏幕上面却不显示 将日期字段格式改成DATS时间字段格式改成TIMS重新查看结果,显示正常了。 ......
  • 使用 FOR ALL ENTRIES 将 ABAP 内表内容作为数据库表的读取条件之一试读版
    本教程之前的文章,我们已经介绍了如何用ST05事务码,对一个ABAP报表进行性能分析和优化的步骤。94.使用事务码ST05对SAPABAP数据库表访问性能调优的一个具体例子重构后的代码:REPORTzdb_optimization.DATA:lt_orderTYPETABLEOFzmyorder,ls_orderLIKE......
  • 在 ABAP 层执行 Open SQL 的幕后操作 - 武侠版
    在ABAP系统中使用事务码编写OPENSQL向数据库发起查询时,应用层和数据库层之间会发生一系列的交互。让我们详细介绍这个过程,并结合下面这张ABAP三层架构图:用户触发事务码:用户在ABAP系统中输入事务码,比如SE38(ABAP编辑器)或SE11(数据字典),并按下回车键。这将触发ABAP系统在应用层......
  • 面向对象设计里引入 Friend 是对封装性的破坏吗,friend 在 SAP ABAP 里的应用场景
    笔者的SAP技术交流群里,有朋友提问:我想问一个很基础的问题,为什么类要有friend啊反正我工作这些年,在SAP生产代码里没用过友元,只是在生产代码的单元测试代码里用过,原因也就是让单元测试代码能够访问到被测试的生产类的私有属性。代码如下:SAPABAP的帮助文档:在面向对象......
  • Python中,如何使得图像的中文和负号正常显示
    问题描述运行的图像结果里面,发现里面有许多空心框框,中文不见了,负号也不见了问题解决解决中文乱码问题:plt.rcParams['font.sans-serif']=['SimHei']解决负号乱码问题:plt.rcParams['axes.unicode_minus']=False以上两条代码均引用于这个包:importmatplotlib.pyplot......
  • SAP ABAP 系统里长文本 Long Text 的设计和读取函数 READ_TEXT 详细讲解试读版
    本文回答本教程一位学习者在笔者的知识星球里的提问。要想找到这个问题的根源,需要首先对SAPABAP系统里长文本(LongText)的设计有一个比较清楚的了解,这就是本文及后续文章的目的。SAPABAP长文本的使用场景在SAPABAP系统中,长文本(LongText)是一种特殊的文本类型,它可以存......