• abap 负数前置


    第一种、直接调用函数“CLOI_PUT_SIGN_IN_FRONT”。

    但是这个有个弊端,传入的值必须是字符型,所以必须赞传入前自己先转换好变量。

    第二种:自己写一下自定义函数,可以自己写代码转换也可以在里面调用函数“CLOI_PUT_SIGN_IN_FRONT”。

    FUNCTION CONVERSION_EXIT_Z001_OUTPUT.
    *"----------------------------------------------------------------------
    *"*"本地接口:
    *"  IMPORTING
    *"     REFERENCE(INPUT)
    *"  EXPORTING
    *"     REFERENCE(OUTPUT)
    *"----------------------------------------------------------------------
    *  IF input IS NOT INITIAL.
    *    WRITE input TO output.
    *    CONCATENATE output '%' INTO output.
    *    CONDENSE output NO-GAPS.
    *  ENDIF.
      "-------------------自己写的转换代码-------------------
    *  DATA: OUTPUT1(20)  TYPE C,
    *        OUTPUT2(20),
    *        OUTDATUM(16) TYPE P DECIMALS 2.
    *  IF NOT INPUT IS INITIAL.
    *    OUTDATUM = INPUT.
    *    IF INPUT > 0.
    *      WRITE OUTDATUM TO OUTPUT1 ."RIGHT-JUSTIFIED .
    *    ELSE.
    *      OUTDATUM = OUTDATUM * ( -1 ).
    *      WRITE OUTDATUM TO OUTPUT1 ."RIGHT-JUSTIFIED.
    *      CONCATENATE '-' OUTPUT1 INTO OUTPUT1.
    *    ENDIF.
    *  ELSE.
    *    CLEAR OUTPUT1.
    *  ENDIF.
    *  CONDENSE OUTPUT1 NO-GAPS .
    *  WRITE OUTPUT1 TO OUTPUT2 RIGHT-JUSTIFIED .
    *  OUTPUT = OUTPUT2.
    *  CLEAR: OUTPUT2.
      "-------------------自己写的转换代码-------------------
      "  调用函数转换
      DATA:OUTPUT1(20).
      OUTPUT1 = INPUT.
      CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
        CHANGING
          VALUE = OUTPUT1.
      CONDENSE OUTPUT1 NO-GAPS.
      OUTPUT =   OUTPUT1.
      CLEAR: OUTPUT1.
    
    ENDFUNCTION.

    input

     output

     第三,使用第二种的自定义函数直接使ALV展示成需要的负号前置,不需要在程序里写转换,

    但是要注意函数名称格式是固定的,CONVERSION_EXIT_XXXX_OUTPUT,其中XXXX可以自己起名字

    结合ALV的参数  

    wa_fieldcat-edit_mask

  • 相关阅读:
    销售人员个人提升经典书籍推荐
    销售必看的书籍推荐
    我在公司敲代码,你却在家和老王………————程序员的那些梗
    某程序员动了公司的祖传代码"屎山",半年后怒交辞职报告!
    为什么说程序员的前三年不要太看重工资水平?
    好的员工关系应该是怎样的?
    粒子群优化算法(PSO)python 3实现
    Python基础篇-安装python
    Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围
    空TreeList添加节点不显示
  • 原文地址:https://www.cnblogs.com/BruceKing/p/14595730.html
Copyright © 2020-2023  润新知